[OpenAFS-devel] [LKML] Re: In-kernel Authentication Tokens
(PAGs)
Jeffrey Hutzelman
jhutz@cmu.edu
Wed, 14 Jul 2004 17:24:14 -0400
On Wednesday, July 14, 2004 13:01:18 +0200 Tomas Olsson
<tol@stacken.kth.se> wrote:
> Frank Bagehorn <FBA@zurich.ibm.com> writes:
>
>> > if you don't have an allocated PAG (PAG@localhost session key?), your
>> > uid is used as the key under which to store your tokens. This is handy
>> > as you don't need to initialize tokens for every login if you do
>> > several.
>>
>> And it becomes a problem in a case where e.g. several admins log into the
>> root account. You do want them to have separate PAGs with their
>> credential. You don't want to get another admins AFS token just because
>> he logged in...
>>
> True. Shared logins are tricky, and ticket forwarding changes a lot of
> things. One could argue that a daemon that receives forwarded tickets
> should give you a new PAG. Should this be up to the daemon or be an OS
> decision?
"should" is irrelevant here.
The OS cannot tell when such an event happens.
It doesn't know what a "daemon" is, let alone a "daemon that receives
forwarded tickets", and wouldn't know the right time to do this.
It's clear from AFS experience that calls to setuid or setgroups are not
the right place to automatically change PAG's.
> The question is in which cases a default PAG is desirable or undesirable,
> or where the possibility to join a PAG in some way could be a solution.
So, my understanding is that Kyle's design allows for a keyring to be
associated with a UID. That is effectively the same as a default PAG,
except without the "jail" effect.
Personally, I don't consider the inability to go back to the default UID
pag to be a deliberate feature; it's just a side-effect of the way we
implement PAG's (by making it so that setgroups always preserves a PAG)
combined with the lack of any sort of switch-to-this-PAG operation.
-- Jeff