Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Sowohl das GPFS als auch NFS unterstützen ACLs . Diese lassen sich auf dem Login-Node wie folgt setzen(Access Controll Lists). Diese können dazu verwendet werden, um neben den Standard-Dateiberechtigungen (Besitzer, Gruppe, Andere) einzelne Dateien oder ganze Ordner nur für bestimmte Nutzer oder Nutzergruppen freizugeben. Um die ACLs einer Datei oder eines Ordners zu bearbeiten, stehen verschiedene Kommandozeilentools zur Verfügung. Auf dem Login-Knoden lassen sich die ACLs mittels folgendem Kommando editieren:

Codeblock
languagebash
titleNVSv4 ACL setzen (Login Node)
nfs4_setfacl --edit $PATH

...

zu verwenden, die sich allerdings in ihrer Syntax von nfs_setfacl unterscheiden, und eventuell nicht alle Funktionen abbilden. (Siehe die dazugehörigen man-pages, sowie dazu man mmeditacl, man mmputacl, man mmgetacl, oder https://www.ibm.com/support/knowledgecenter/en/STXKQY_4.2.1/com.ibm.spectrum.scale.v4r21.doc/bl1adm_mmputacl.htm)

Syntax (nfs4_setfacl)

Die ACLs bestehen aus mehreren Einträgen, welche jeweils die Berechtigungen für einen Nutzer oder eine Nutzergruppe spezifizieren. Zusätzlich zu den Berechtigungen kann die Funktionsweise der ACLs durch einen Typ oder verschiedene Flags beeinflusst werden. Die vollständige Syntax lautet:

Codeblock
languagebash
titlenfs4_setfacl syntax
type:flags:principal:permissions

Typ

Es gibt vier verschiedene Typen an ACL-Einträgen, die die Bedeutung der Berechtigungen regeln:

...

Für uns sind nur die ersten beiden Typen relevant.

Flags

Flags steuern z.B. die Weitergabe / Vererbung der ACLs an Unterordner / Dateien:, oder erlauben es, eine Nutzergruppe statt einem einzelnen Nutzer zu spezifizieren

FlagBedeutungBeschreibung
gGruppeDer angegebene "Principal" ist eine Gruppe, kein Nutzer
dVerzeichnis-VererbungVererbe die Berechtigungen an neue Unterverzeichnisse
fDateivererbungVererbe die Berechtigungen an neue Dateien
nEinzelvererbungVererbe die Berechtigungen nur an Unterverzeichnisse der 1. Ebene
iNur VererbungDie Berechtigungen gelten nur für neue Unterverzeichnisse / Dateien (entsprechend d oder f) und nicht für das aktuelle Verzeichnis

Principal

"Principal" ist der Nutzer (oder die Gruppe (entsprechend bei Verwendung von Flag g) für den die Berechtigungen gelten. Es gibt zusätzlich drei Sondertypen: OWNER@, GROUP@ und EVERYONE@, die den POSIX-Berechtigungen ownerBesitzer / groupGruppe / other Andere entsprechen.

Berechtigungen

Berechtigungen steuern die tatsächlichen Berechtigungen des jeweiligen ACL-Eintrags.

BerechtigungBedeutung für DateienBedeutung für Ordner
rDateien lesenOrdnerinhalte auflisten
wDateien schreibenNeue Dateien anlegen
aDaten an Datei anhängenUnterordner anlegen
xDateien ausführenOrdner öffnen
dDatei löschenOrdner löschen
D-Datei oder Unterordner im Ordner löschen
tAttribute lesen
TAttribute schreiben
n"Named Attributes" lesen
N"Named Attributes" schreiben
cNFSv4-ACL lesen
CNFSv4-ACL schreiben
ochownDateieigentümer und Gruppe ändern
ysynchronous I/OSynchronisierten Datenverkehr anfordern

Ein paar Beispiele:

RechtNFS4-Flags
Nur Ordner öffnen (benötigt für den Zugriff auf Unterordner)xc
Nur Lesenrtncy
Nur SchreibenwaDtTNcCy
VollzugriffrwaDdxtTnNcCoy
Vollzugriff ohne ACL ändernrwaDdxtTnNcoy

Eine Vollständige vollständige ACL für einen Ordner mit zusätzlichen Berechtigungen für einen weiteren Nutzer und Vererbung für Unterordner / Dateien könnte beispielsweise so aussehen:

Codeblock
languagebash
titleACL Beispiel
A::OWNER@:rwaDdxtTnNcCoy
A:fd:Nutzername@hilbert.hpc.uni-duesseldorf.deNutzername:rwaDxtncy
A::GROUP@:rxtncy
A::EVERYONE@:rxtncy

...