Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

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.

Installation

Für Debian/Ubuntu, Mac OS, Windows: http://www.tubit.tu-berlin.de/menue/dienste/daten_server/andrew_file_system/


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.


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:


Quellen