Authentisierung gegenüber dem Filesystem
Was ist ein Token?
Ein Token ist einem zeitlich befristetem Ausweis vergleichbar. Es bestätigt einem AFS-Server ihre Identität. Ein Token wird z.B. ausgestellt, wenn Sie sich mit ihrem Login-Kennzeichen und dem dazugehörigen Passwort an einem URZ-Rechner anmelden.
Wie lange ist ein Token gültig?
Ob Sie im Besitz eines Tokens sind und wie lange es noch gültig ist, können Sie feststellen:
Beispiel:
% tokens
Tokens held by the Cache Manager:
User's (AFS ID 1234) tokens for afs@tu-chemnitz.de [Expires Nov 11 11:11]
--End of list--
%

Benutzen SIe den Network Identity Manager.
Im Standardfall beträgt die Gültigkeitsdauer etwa 25 Stunden. Danach verfällt das Token und Sie müssen, um weiterhin mit Ihren Daten im AFS arbeiten zu können, ein neues Token beschaffen. I.d.R. erfolgt das Erneuern des Tokens automatisch - zumindest sollten Sie erinnert werden, dass die Gültigkeit des Tokens in Kürze abläuft.
Sie können ein Token auch explizit beschaffen:

Benutzen Sie das Kommando
kinit
- Es kann sein, dass ihre Implementation von
kinit nur ein Kerberos-Ticket aber kein AFS-Token beschafft - dann müssen sie anschließend das Kommando aklog, afslog oder afs5log aufrufen (je nachdem, welches Sie auf ihrem Rechner vorfinden).

Benutzen Sie den Network Identity Manager.
Für die meisten Anwendungsfälle ist die Tokenlaufzeit von etwa 25 Stunden völlig ausreichend, insbesondere dann, wenn Sie sie nie länger als diese Zeit angemeldet sind. Natürlich gibt es auch Nutzer, die mit dieser Laufzeit nicht oder nur eingeschränkt arbeiten können. Das System erlaubt eine maximale Tokenlaufzeit von 720 Stunden, also vier Wochen. Wenn Sie begründet an einer längeren Tokenlaufzeit interessiert sind, so wenden Sie sich bitte an unser
Helpdesk-System.
Wie werden die Token vom System verwaltet?
Die Token aller an einer Maschine angemeldeten Nutzer werden vom AFS Cache Manager (afsd) verwaltet. Der AFS Cache Manager führt die Kommunikation mit den AFS-Servern und verwaltet den lokalen AFS Cache. Der AFS Cache Manager ordnet die Token den auf der Maschine laufenden Prozessen zu, also z.B. den von Ihnen gestarteten Kommandos und Programmen.

Im Unix/Linux werden für diese Zuordnung zwei verschiedene Verfahren verwendet. Gehört der anfordernde Prozess zu einer
Process Authentication Group (PAG) so werden die Token dieser PAG benutzt, andernfalls benutzt der Cache Manager die effektive UNIX-UID des Prozesses, um diesem Prozess seine Token zuzuordnen.
Was ist eine PAG?
Die Abkürzung PAG steht für
Process Authentication Group. Eine PAG ist eine Gruppe von Prozessen, die einen gemeinsamen Authentication Context verwenden. Die Verwendung einer PAG erhöht die Sicherheit Ihrer Daten im AFS erheblich. Eine PAG wird während des Login-Vorgangs oder durch das Kommando
pagsh erzeugt und immer beim Erzeugen eines neuen Prozesses vererbt. Damit gehören also alle Ihre Prozesse zu dieser PAG und bekommen aufgrund dieser PAG das zugeordnete Token vermittelt. Insbesondere bleiben damit Ihre AFS-Rechte erhalten, selbst wenn Sie mit dem Kommando
su Ihre UNIX-Identität verändern. Dasselbe trifft für den Superuser (root) zu. Er kann zwar Ihre UNIX-Identität annehmen, ohne Ihr UNIX-Paßwort zu wissen, jedoch kann er, wenn sie gar nicht angemeldet sind, kein Token erlangen, das zu Ihrem AFS-Paßwort gehört und er kann, falls Sie angemeldet sind und Ihr Token durch eine PAG schützen, nicht an das Token heran, da er nicht in der Lage ist, Prozesse zu erzeugen, die Kindprozesse Ihrer Login-Shell sind.
Wenn Sie ohne PAG arbeiten wird das vom Cache Manager verwaltete Token Ihren Prozessen aufgrund der mitgeführten UNIX-UID vermittelt. Diese Methode ist daher nicht viel sicherer als die herkömmlichen UNIX-Rechte, da es dem Superuser immer gelingt, Prozesse zu erzeugen, die Ihre UNIX-UID tragen, am einfachsten durch Verwendung des Kommandos
su. Lediglich die Tokenlaufzeit schützt in diesen Fall Ihre Daten. Wenn diese abgelaufen und das Token damit verfallen ist, nützt es auch dem Superuser nichts mehr, daß er Ihre UNIX-Identität annehmen kann, da es kein gültiges Token mehr zum Zugriff auf Ihre Daten im AFS gibt.
Wie kann ich ermitteln, ob meine Token durch eine PAG geschützt werden?
Eine PAG wird benannt durch eine Nummer. Diese wird auf eine oder zwei Group-IDs (GIDs) abgebildet.
Zu welcher PAG ein Prozess gehört, erkennt man an der Zugehörigkeit zu einer oder zwei nicht benannten Gruppen. Auskunft darüber gibt das Kommando
id.
Beispiel:
% id
uid=1234(otto) gid=1000(user) Gruppen=1000(user),1103989370
oder
% id
uid=1234(otto) gid=1000(user) Gruppen=33846,36693,1000(user)
%
Seit dem Linux-Kernel 2.6 werden PAGs über den
Session Keyring realisiert. Sie erkennen die PAG dann beim Kommando
keyctl show.
Beispiel:
% keyctl show
Session Keyring
-3 --alswrv 0 1000 keyring: _ses.29115
12564 ----s--v 0 0 \_ afs_pag: _pag