Dies ist eine alte Version des Dokuments!
Umgang mit Kerberos
Wenn man sich einloggt, bekommt man automatisch ein Kerberos-Ticket. Mit dem Befehl klist
erhält man eine Liste der aktuellen Tickets:
$ klist Ticket cache: FILE:/tmp/krb5cc_53541_om4344 Default principal: wyneken2@PUBLIC.ADS.UNI-FREIBURG.DE Valid starting Expires Service principal 01/30/13 15:57:29 01/31/13 15:57:29 krbtgt/PUBLIC.ADS.UNI-FREIBURG.DE@PUBLIC.ADS.UNI-FREIBURG.DE renew until 01/31/13 15:57:29 01/30/13 15:57:29 01/31/13 01:57:29 nfs/sunfs4.public.ads.uni-freiburg.de@PUBLIC.ADS.UNI-FREIBURG.DE renew until 01/31/13 15:57:29
Die Default-Lebensdauer der Tickets werden in /etc/krb5.conf
definiert. Wenn ein Ticket ausläuft, kann man auf das Homeverzeichnis nicht mehr zugreifen. In diesem Fall kann man sich mit mit dem Befehl kinit
ein neues Ticket holen. Bei kinit
ist eine Passworteingabe erforderlich. Mit der Option -l
kann man eine andere Lebensdauer angeben, z.B.:
kinit -l 30d kinit -l 25h
Vgl. man kinit
für weitere Details.
Die Tickets werden in einer Datei im Verzeichnis /tmp gehalten, was man bei der Ausgabe von klist
sieht. Wenn ein Fremder die Ticketdatei kopieren kann, kann er das Ticket für dessen Lebensdauer benutzen. Aus diesem Grund, sollte man die Lebensdauer eines Tickets nicht zu lange definieren. Allerdings kann im Prinzip nur root
die Ticketdatei kopieren.
Es ist möglich, sich ein erneuerbares Ticket erstellen zu lassen:
kinit -r 30d
Mit diesem Befehl holt man sich ein Ticket, das 30 Tage lang mit dem Befehl klist -R
- ohne Passworteingabe - immer wieder erneuert werden kann. Somit ist die Gefahr bei einem gestohlenen Ticket zeitlich begrenzt, aber man hat die Möglichkeit, die Lebensdauer ohne Passworteingabe zu verlängern. Mit folgendem Script als cron-Job kann man die Verlängerung automatisieren:
#!/bin/sh PATH=/usr/bin export PATH curr_principal=`klist 2>/dev/null|egrep "Default principal" |awk '{print $3}'` if [ "x$curr_principal" != "x" ] then kinit -R fi