Tubit-AFS
Die Tubit stellt allen TU-Mitgliedern über das AFS (Andrew File System) persönlichen Speicherplatz zur Verfügung, der als externe Festplatte genutzt werden kann und auf dem man auch eine persönliche (statische) Website hosten kann.
Dieser Artikel soll in die Installation, Nutzung und Rechteverwaltung des AFS einführen und mehr Informationen zum AFS sammeln.
Inhaltsverzeichnis
Installation
Für Debian/Ubuntu, Mac OS, Windows: http://www.tubit.tu-berlin.de/menue/dienste/datenhaltung/andrew_file_system/installation/
Möglicherweise wird beim Konfigurieren des openafs-client über dpkg-reconfigure der Rechnername des Datenbankservers nicht abgefragt. Dann muss man manuell in die /etc/openafs/CellServDB folgende Zeilen einfügen:
>tu-berlin.de #TU Berlin 130.149.204.10 #afsc-pr-1.tubit.tu-berlin.de
Weiterhin sollte man nicht den Fehler machen und auf "Soll Openafs immer beim Systemstart gestartet werden?" mit "Nein" antworten...
Wurden Kerberos und Openafs richtig konfiguriert, hat man nun zwei Kerberostickets (mit "klist" anzeigen) und ein /afs, in dem das Tubit-Homeverzeichnis eingehängt ist. Genauer findet man es unter /afs/tu-berlin.de/home/<erster_Buchstabe_des_Tubit_Nicknames>/<Tubit_Nickname>.
Für den Webspace einfach die Datei ins Verzeichnis public_html kopieren und schon ist sie unter http://www.user.tu-berlin.de/<Tubit_Nickname>/ abrufbar.
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.
WebAFS
Möchte man keinen AFS-Client lokal installieren, kann man auch das tubIT WebAFS (https://webafs.tu-berlin.de/auth/dologin.php) benutzen. Der Login geschieht auch dort mit deinem tubIT Benutzerkonto. Die Weboberfläche bietet dir Zugriff auf deinen AFS-Speicher und erlaubt Dateioperationen, Upload/Download, Suchen und das Setzen von AFS-Rechten über den Browser.
Links
Siehe auch: