AFS splits up notions of privilege into 3 areas:

(1) BOS - *EACH* db and fs server has a "UserList" file that
        describes who that server thinks is god.  Only
        those people are allowed to do bos operations
        and it seems certain other operations.
        This is probably the most powerful privilege;
        because you can muck with almost all the
        machinery of the server.  One of the weaknesses in
        AFS 3 is that this is true of every file server;
        it's not really possible to delegate out authority
        to just one file server without also giving them
        at least the ability to affect everything in the
        cell.
(2) KA - have the ADMIN bit.
        Affects operations on kaserver - kas.
        This privilege allows you to change the key of
        "any user", and so you can become anybody
        in system:administrators in (3) - so this
        is a greater degree of trust.  It also allows
        you to set the key for anybody in a UserList,
        so it's equivalent to (1).  But it's less powerful
        than (1) because only kaserver uses the ADMIN bit,
        and it's hard to do anything else without leaving some
        sort of trace behind (if you don't *know* a key you can't
        fetch it directly, so you can't get into BOS without changing
        at least one password.)
(3) PT - in system:administrators
        Affects operations in pt server, and perhaps some
        other operations (I'd have to go look to find out
        which).  You can't use it to change ka keys,
        or to muck with the machinery of the servers,
        so there is probably the least degree of trust
        in being a member of system:administrators.

In your case, volume creation seems to requires that you be
in the UserList file for *THAT* file server.  "bos adduser"
can be done on each server to enable that.

Incidently, you don't have to do a "unlog" before you "klog".
I find it helpful to use "pagsh" when I need to be admin; that
way I can still be myself in other windows, and I can even
suspend & resume the admin shell if need be (although you
should be *especially* careful of leaving your terminal unattended &
accessible if you do this!)  Um, if you are making yourself
the equivalent of "admin", then you need to be *very* careful
at *all* times.

It is a curious property of AFS that you don't actually
have to have an "admin" user ID.  Also, in being a member of
"system:administrators" you are not in any sense "admin";
you are yourself and you just happen to have some (or all)
of the same privileges as admin.

If you want to delegate out volume creation authority, but not other
privileges, you basically need to find or write a server to act as an
intermediary.  ADM (from CMU) is one possible solution.  If you do try
to get ADM running, I suggest using afs 3.2b libraries; the result
is likely to be more stable.

                                -Marcus Watts
                                UM ITD RS Umich Systems

Reply via email to