[7822] in Kerberos

home help back first fref pref prev next nref lref last post

Re: destruction of Kerberos credentials upon logout

daemon@ATHENA.MIT.EDU (Sam Hartman)
Wed Aug 21 14:54:01 1996

To: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Cc: Sam Hartman <hartmans@MIT.EDU>, kerberos@MIT.EDU
From: Sam Hartman <hartmans@MIT.EDU>
Date: 21 Aug 1996 14:44:56 -0400
In-Reply-To: Ken Hornstein's message of Tue, 20 Aug 1996 15:10:47 -0400

>>>>> "Ken" == Ken Hornstein <kenh@cmf.nrl.navy.mil> writes:

    >> Experience has shown that it's much more useful to remove the
    >> accumulation of unintentionally left Kerberos credentials than
    >> to preserve credentials for background jobs.  Most people who
    >> run background jobs on a regular basis are able to quickly
    >> figure out they can copy the ccache and change the environment
    >> variable name, or even run their jobs under ksu.

    Ken> I understand that reasoning, and I agree with it; however, we
    Ken> are trying to make the transition from a non-Kerberos
    Ken> environment to one that uses Kerberos as much as possible.
    Ken> Anything that helps to ease this transition would be an
    Ken> asset, and this is one case that will require some
    Ken> retraining.  If the credentials stuck around, it would be a
    Ken> smoother transition.

	It's a fairly hard call.  I'm concerned that if the MIT
release contained a configuration option that allowed klogind to be
configured not to destroy credentials on logout, people would use that
option for more than just a transition.  Also, I suspect in many
environments, it would be better in the long-run to have a
roughertransition period and to destroy the credentials.  Naturally,
some user communities/system requirements don't allow for the
short-term confusion that may be introduced while people learn the new
credential-passing semantics.  In such environments, it may be
appropriate to modify the behavior of Kerberos and force it not to
destroy credentials.  I just think that  it might create more of a
problem than it's worth to make it easy for admins to choose not to
destroy credentials.  

I talked to a few people I know who have experience dealing with user
support and to another Kerberos developer.  They all agreed that in
many environments, the option would tend to get turned on without a
full understanding of the consequences, and would tend not to get
turned off.

    Ken> I'm wondering if there is any interest in making this
    Ken> behavior configurable via krb5.conf - something like
    Ken> "krb5_retain_ccache" under [login].  The default would be to
    Ken> cleanup everything at logout time, but other sites could
    Ken> change this behavior if they wanted to.
    >>  Personally, I think this is a bad idea.  However, it's an
    >> issue where I certainly don't have a good feeling about how
    >> other people stand, so their might be enough support to put it
    >> in.  I would certainly be willing to agree with an AFS-specific
    >> option to avoid destroying tokens on logout.

    Ken> Fair enough; what would be a good name for an option such as
    Ken> this?

	In the same lines as your previous proposal, something like
afs_retain_tokens?

	
    Ken> Something else along these lines - a lot of people here use
    Ken> rsh to start X applications on other machines with scripts
    Ken> like xrsh or xon; right now rshd destroys the credential
    Ken> cache when the process exits.  The problem here is that
    Ken> there's really not a good method to copy the credential cache
    Ken> when running stuff from rsh, and even if we did, it would be
    Ken> very difficult to modify all of the programs that use rsh to
    Ken> do the necessary copying (some we do not have source to, such
    Ken> as AVS).  I've got an option like this working now with rshd,
    Ken> and it solves a lot of problems.

	The problem here is that it's even more inconvenient to
destroy credentials  than to copy them when you're using RSH.  I agree
that neither is particularly convenient.  I would like to think more
about this problem and try to come up with a solution, although I know
from personal experience that simply not destroying the credentials
tends to be the wrong solution.  It creates a large mess in /tmp, and
leaves many live credentials around that users never clean up.  I
would agree that an afs_retain_tokens option would be reasonable
if/when someone adds code to destroy the tokens to your aklog patch.
However, I would like to find a more general solution to the problem.

	Are most of the jobs that are started explicitly backgrounded
or do they background themselves?

    Ken> Again, I fully admit that this isn't the best solution, but
    Ken> isn't all of life a compromise? :-)

    Ken> --Ken

home help back first fref pref prev next nref lref last post