Tubit-AFS
Dieser Artikel soll in die Rechteverwaltung des AFS einführen und mehr und mehr Informationen zum AFS sammeln.
Inhaltsverzeichnis
Installation
Eine Installation auf einem privaten Notebook ist möglich ;)
Gentoo
TODO: Nur ein paar Stichworte, more to come.
- Das Cache-Dir darf weder tmpfs noch XFS sein. ext2 geht. (siehe /etc/openafs/cacheinfo)
- CellServDB von: http://www.tubit.tu-berlin.de/fileadmin/a40000000/tubIT/afs/CellServDB
- Kerberos-config: http://www.tubit.tu-berlin.de/fileadmin/a40000000/tubIT/afs/ubuntu_krb5.conf
Benötigte ebuilds:
net-fs/openafs ( kerberos pam ) net-fs/openafs-kernel ( kernel_linux ) net-fs/openafs-legacy
Starten:
als root:
# /etc/init.d/openafs-client start
als Benutzer:
$ kinit <tubit-username> # ohne @tu-berlin.de $ aklog
Bei fehlenden Ausgaben:
# /etc/init.d/openafs-client -d -v start
und dann den afsd-aufruf rauskopieren und manuell ausführen.
Der mountpoint ist automatisch /afs/
Rechteverwaltung
Access-Lists / ACLs
Zusätzlich zu den Unix-Permissions bestimmen bei AFS die Accesslists auf den Verzeichnissen, wer worauf zugreifen darf.
Dabei wird unterschiedlichen 'Gruppen' eine Liste von Rechten eingeräumt. Dabei können mehrere Gruppen ganz unterschiedliche Rechte auf einem Verzeichnis haben, das Verzeichnis muss nicht mehr explizit einer Gruppe gehören.
Welche Rechte gibt es?
Für Verzeichnisse:
- l (lookup) permission:
- Erlaubt das durchsuchen und auflisten - benötigt um auf Unterverzeichnisse zuzugreifenaccess sub-directories
- i (insert) permission:
- Erlaubt das Anlegen von Dateien und direkten Unterverzeichnissen
- d (delete) permission:
- Erlaubt analog das Löschen von Dateien und Unterverzeichnissen
- a (administer) permission:
- Erlaubt das Ändern der ACL.
Für Dateien:
- r (read) permission:
- Erlaubt Zugriff auf den Inhalt der Datei und die Datei-Details (long listing)
- w (write) permission:
- Erlaubt das Ändern des Dateiinhaltes von Dateien in dem Verzeichnis und chmod'.
- k (lock) permission:
- Erlaubt das locken von Dateien in diesem Verzeichnis.
Diese Rechte werden jeweils auf das Verzeichnis gesetzt und gelten dann für alle Dateien darin. Abstufungen auf Dateiebene sind dann wie bei UNIX üblich über chmod/chown zu machen.
Gruppen
Folgende Gruppen sollten immer verfügbar sein:
- system:anyuser
- Jeder Benutzer weltweit, der irgendwie auf die AFS-Zelle zugriff hat. Vorsicht: Es gibt keine Einschränkung wer das ist
- system:authuser
- Ein authentifizierter Benutzer der auf die Zelle zugreifen darf
- system:administrators
- AFS-Administratoren ( z.B. tubit)
Anzeigen der ACL's
Die initiale ACL sieht so aus:
$ cd ~ $ fs listacl Access list for . is Normal rights: system:backup rl system:administrators a svc-w3 l <tubit-userid> rlidwka
Wie man erkennen kann, darf das Backup lesen und auflisten, administratoren die Rechte ändern und der Nutzer svc-w3 auflisten. Der Eigentümer hat alle Rechte. (Letzte Zeile)
Setzen von ACL's
Möchte man beispielsweise ein Unterverzeichnis zum Lesen für alle freigeben, muss man zunächst das Listen des Homes erlauben und dann für das Unterverzeichnis List und Read erlauben:
$ cd ~ $ fs setacl -dir . -acl system:authuser l $ cd <Verzeichnis> $ fs setacl -dir . -acl system:authuser rl
Hinweis: Möchte man den Zugriff auf das IRB-Home erlauben, muss man zusätzlich für dieses die acl setzen bzw. für das tubit-home:
$ fs setacl -dir /afs/tu-berlin.de/home/[a-z]/<tubit-kennung>/irb-sol10 -acl system:authuser rl $ fs setacl -dir /afs/tu-berlin.de/home/[a-z]/<tubit-kennung> -acl system:authuser rl
Dabei ist [a-z] der Anfangsbuchstabe des Nutzernamens.
Es ergibt sich in <Verzeichnis> folgendes Bild:
$ cd <Verzeichnis> $ fs listacl Access list for . is Normal rights: system:backup rl system:administrators a system:authuser rl svc-w3 l <tubit-userid> rlidwka
Entfernen von Rechten
Durch das explizite angeben der Rechte beim setzen, werden alle nicht angegebenen Rechte wieder entfernt. Möchte man einer Gruppe alle Rechte entziehen hilft folgendes Kommando weiter:
fs setacl -dir . -acl system:anyuser none
Dies entzieht der Gruppe alle Rechte, bei listacl wird die Gruppe nicht mehr angezeigt.
Links
Siehe auch: