EDV:OpenAFS/Verwendung/ACLs

From KIP Wiki
⧼kip-jumptonavigation⧽⧼kip-jumptosearch⧽

Rechte im AFS (Access Control Lists)

Die Unix/Linux-Rechte sind fast bedeutungslos! Es werden nur noch die Protection-Bits für den User verwendet,

und zwar nachdem die ACL ausgewertet wurde.

Unterschied der AFS-ACLs zu Unix-Dateirechten

Im typischen Unix-/Linux-Dateisystem existieren nur die drei Klassen Eigentümer, Gruppe, Alle. Eine Datei hat dann genau einen Eigentümer und genau eine Gruppe. Nun können jeder dieser Klassen für jede Datei bestimmte Rechte gegeben werden. Zum Beispiel (Ausgabe von ls -l):

-rw-r--r-- 1 floh users 396811 2006-11-10 17:12 Neuenheimer_Feld_Plan.jpg

Es ist eine feinere Rechteaufteilung implementiert (siehe Punkt EDV:OpenAFS#Rechte im AFS) und vor allem können bis zu 20 Gruppen und Personen in einer ACL vorkommen. Zum Beispiel (Ausgabe von fs listacl):

Access list for /afs/kip/user/sesselm is
Normal rights:
  s3 rl
  system:administrators rlidwka
  system:authuser l
  sesselm rlidwka
Leider können solche ACLs nur auf Verzeichnisse angewendet werden.

Besondere Gruppen im AFS

Gruppe Wer gehört zu dieser Gruppe
system:anyusers Jeder (Anonym)
system:authusers Alle Nutzer, die sich (erfolgreich gegenüber dem AFS) authentisiert haben.
system:administrators Gruppe der Administratoren

Rechte im AFS

Es existieren sieben Zugriffsrechte im AFS:

Recht Langform Bedeutung
l Lookup Auflisten des Inhaltes des Verzeichnisses und Anzeige der ACL
i Insert Einfügen/Anlegen von Dateien/Verzeichnissen in dem Verzeichnis
d Delete Löschen von Dateien/Verzeichnissen in dem Verzeichnis
a Administer Ändern der ACL des Verzeichnisses
r Read Lesen von Dateien
w Write Schreiben/Ändern von Dateien (Achtung.svg nicht neue Dateien anlegen)
k Lock Sperren von Dateien mit flock

Damit man diese Rechte nicht immer alle einzeln angeben muss, gibt es folgende kurzen Aliase:

Alias Ausführlich Bedeutung
write rlidwk Schreiben (alle außer Administer)
read rl Lesen und Lookup
all rlidwka Alle Rechte (auch a)
none Kein Recht, dient zum Entfernen von Rechten

Rechte lesen und setzen

Mit fs listacl [Eintrag]+ erhält man die gültige ACL des Eintrages (Datei/Verzeichnis):

fs listacl *

Mit fs setacl kann eine ACL geändert werden (oder gleich mehrere):

fs setacl -dir ./mydirectory -acl system:anyuser read
fs setacl -dir ./mydirectory ./mydir2 -acl system:anyuser none userX read groupY l

Um sich mit den Befehlen vertraut zu machen, kann fs help verwendet werden:

fs help
fs help listacl
fs help setacl
Achtung.svg Es gibt auch negative Rechte (verbieten).

Diese haben Vorrang vor normalen Rechten und sollten nur mit äußerster Vorsicht verwendet werden (daher auch hier nur am Rande erwähnt)!

fs setacl -dir ./mydir -acl userY rl -negative