[408] in Kerberos
ticket file access
daemon@TELECOM.MIT.EDU (mar@ATHENA.MIT.EDU)
Fri Jun 24 14:01:14 1988
From: mar@ATHENA.MIT.EDU
To: kerberos@ATHENA.MIT.EDU
I have run into an unfortunate interaction with the new ticket file
access checks and system daemons that use kerberos.
If someone kills a daemon that was started by /etc/rc and starts it by
hand, that daemon inherits their KRBTKFILE environment variable. But
that points to a file owned by the user, not root, and the daemon will
run as root and be unable to store tickets there. This causes errors
like: "Can't access tkt file: /tmp/tkt_ttyp1" from the daemon.
The only workaround I know of right now is to explicitly unset or
change the KRBTKFILE environment variable before invoking the daemon.
Do we want to have to continue this workaround, or add code to every
system daemon to handle this case, or change the kerberos library?
This is further complicated by the fact that there are no C library
routines for setenv() or unsetenv(). This means that more than a
couple of lines of code need to be added to a program to fix this. I
would propose that either the library be changed back to allow root to
write to people's ticket files, or a routine be added to the kerberos
library that will change the ticket file location (i.e. do a
setenv(KRBTKFILE, [location])).
-Mark