Fedora ticket cache location
Russ Allbery
rra at stanford.edu
Thu Jun 7 17:02:13 EDT 2012
Nico Williams <nico at cryptonector.com> writes:
> On Thu, Jun 7, 2012 at 3:50 PM, Russ Allbery <rra at stanford.edu> wrote:
>> I think the only long-term viable way to handle credentials for file
>> system access is to create some sort of explicit association between
>> the current process or thread and the desired credentials in the
>> kernel, since
> And if the process fork()s? Or if the thread creates a new thread?
You need to express what semantics you want. I think the AFS semantics of
following fork and clone unless you explicitly say otherwise are probably
the best default, but there will need to be some way to override it.
> This requires, IMO, that the new association be inheritable. That's
> what makes up a session though: the set of processes sharing the same
> session characteristics through inheritance or explicit session joining.
> Session keyrings, on Linux, for example, fulfill this.
Yes. Sessions are a fine way of handling this.
> The OS has to solve this, indeed. But Kerberos has to use the
> corresponding facility.
I'm not sure I agree, but maybe I don't understand what you mean. I agree
that processes are going to want to create a new session, but I don't
think they would be asking the Kerberos library to do that. Oh, maybe
your argument is that it should be possible to ask the Kerberos library to
create a new cache bound to the current session, as a high-level API?
>> Right now, (a) is the most common case, but indeed I think (b) is
>> becoming more common. Note that k5start and krenew already have code
>> to create a new AFS session and tie it to the newly created
>> credentials.
> For (a) you need nothing special: just create a temp ccache and use it
> via the APIs only. (b) requires help from the OS.
Except (a) brings us full-circle back to my question that started this
thread: how do I get the Kerberos library to tell me *where* to create
that temporary ticket cache so that it will be put in the desired location
(and use the desired cache method, such as keyrings instead of files)?
Ah... hm. I think I see what you mean. You're basically arguing that (a)
is already satisified by krb5_cc_new_unique, and actually krenew needs
(b) because it's really setting up a new session and expects to be able to
share that cache with its subprocesses?
--
Russ Allbery (rra at stanford.edu) <http://www.eyrie.org/~eagle/>
More information about the krbdev
mailing list