1. Oracle Solaris ZFS-Dateisystem (Einführung)
2. Erste Schritte mit Oracle Solaris ZFS
3. Unterschiede zwischen Oracle Solaris ZFS und herkömmlichen Dateisystemen
4. Verwalten von Oracle Solaris ZFS-Speicher-Pools
5. Installieren und Booten eines Oracle Solaris ZFS-Root-Dateisystems
6. Verwalten von Oracle Solaris ZFS-Dateisystemen
7. Arbeiten mit Oracle Solaris ZFS-Snapshots und -Klonen
8. Schützen von Oracle Solaris ZFS-Dateien mit Zugriffskontrolllisten und Attributen
9. Delegierte Oracle Solaris ZFS-Administration
Delegierte ZFS-Administration im Überblick
Deaktivieren von delegierten ZFS-Zugriffsrechten
Delegieren von ZFS-Zugriffsrechten (Beispiele)
Anzeigen von delegierten ZFS-Zugriffsrechten (Beispiele)
Löschen von delegierten ZFS-Zugriffsrechten (Beispiele)
10. Fortgeschrittene Oracle Solaris ZFS-Themen
11. Problembehebung und Pool-Wiederherstellung in Oracle Solaris ZFS
Mit dem Befehl zfs allow können Sie Zugriffsrechte für ZFS-Datasets an Nicht-Root-Benutzer delegieren. Dafür stehen folgende Möglichkeiten zur Verfügung:
Einzelne Zugriffsrechte können an einen Benutzer, eine Gruppe oder global delegiert werden.
Gruppen von Einzelzugriffsrechten können in Form von Zugriffsrechtsätzen ebenfalls an Benutzer, Gruppen oder global delegiert werden.
Die Delegierung von Zugriffsrechten ist sowohl lokal für das jeweilige Dataset als auch allgemein an alle untergeordneten Objekte des aktuellen Datasets möglich.
In der folgenden Tabelle finden Sie eine Beschreibung der delegierbaren Vorgänge und aller abhängigen Zugriffsrechte, die zum Durchführen des delegierten Vorgangs erforderlich sind.
|
Sie können die folgenden Zugriffsrechte erteilen, wobei diese auf Zugriff, Lesezugriff oder Bearbeitungszugriff beschränkt sein können:
groupquota
groupused
userprop
userquota
userused
Darüber hinaus kann die Administration folgender ZFS-Eigenschaften an Nicht-Root-Benutzer delegiert werden.
aclinherit
atime
canmount
casesensitivity
checksum
compression
copies
devices
exec
logbias
mountpoint
nbmand
normalization
primarycache
quota
readonly
recordsize
refquota
refreservation
reservation
rstchown
secondarycache
setuid
shareiscsi
sharenfs
sharesmb
snapdir
sync
utf8only
version
volblocksize
volsize
vscan
xattr
zoned
Einige dieser Eigenschaften können nur bei der Erstellung des Datasets gesetzt werden. Eine Beschreibung dieser Eigenschaften finden Sie unter ZFS-Eigenschaften.
Die Syntax für zfs allow lautet:
zfs allow -[ldugecs] everyone|user|group[,...] perm|@setname,...] filesystem| volume
Die folgende zfs allow-Syntax (fett gedruckt) gibt an, wem die Zugriffsrechte übertragen werden:
zfs allow [-uge]|user|group|everyone [,...] filesystem | volume
Mehrere Entitäten können durch Komma getrennt als Liste angegeben werden. Wenn keine -uge-Option angegeben ist, werden die Argumente der Reihenfolge nach als das Schlüsselwort everyone, dann als Benutzername und schließlich als Gruppenname interpretiert. Um einen Benutzer oder eine Gruppe mit dem Namen "everyone " anzugeben, verwenden Sie die Option -u bzw. -g. Mit der Option -g geben Sie eine Gruppe mit demselben Namen eines Benutzers an. Die Option -c delegiert "Create-time"-Zugriffsrechte.
Die folgende zfs allow-Syntax (fett gedruckt) veranschaulicht, wie Zugriffsrechte und Zugriffsrechtsätze angegeben werden:
zfs allow [-s] ... perm|@setname [,...] filesystem | volume
Mehrere Zugriffsrechte können durch Komma getrennt als Liste angegeben werden. Die Namen der Zugriffsrechte sind mit den ZFS-Unterbefehlen und -Eigenschaften identisch. Weitere Informationen finden Sie im vorherigen Abschnitt.
Mehrere Zugriffsrechte lassen sich in Zugriffsrechtsätzen zusammenfassen. Sie werden durch die Option -s gekennzeichnet. Zugriffsrechtsätze können von anderen zfs allow-Befehlen für das angegebene Dateisystem und dessen untergeordnete Objekte verwendet werden. Zugriffsrechtsätze werden dynamisch ausgewertet, sodass Änderungen an einem Satz unverzüglich aktualisiert werden. Für Zugriffsrechtsätze gelten dieselben Benennungsanforderungen wie für ZFS-Dateisysteme, wobei der Name allerdings mit dem Zeichen @ beginnen muss und nicht mehr als 64 Zeichen lang sein darf.
Die folgende zfs allow-Syntax (fett gedruckt) gibt an, wie die Zugriffsrechte übertragen werden:
zfs allow [-ld] ... ... filesystem | volume
Die Option -l gibt an, dass die Zugriffsrechte für das angegebene Dataset, nicht aber für dessen untergeordnete Objekte gewährt werden, es sei denn, es wurde auch die Option -d angegeben. Die Option -d bedeutet, dass die Zugriffsrechte nicht für dieses Dataset, sondern für dessen untergeordnete Objekte gewährt werden, es sei denn, es wurde auch die Option -l angegeben. Wenn keine der Optionen angegeben wird, gelten die Zugriffsrechte für das Dateisystem bzw. Volume und alle untergeordneten Objekte.
Mit dem Befehl zfs unallow können Sie zuvor delegierte Zugriffsrechte wieder löschen.
Gehen wir beispielsweise davon aus, dass Sie die Zugriffsrechte create, destroy, mount und snapshot wie folgt delegiert haben:
# zfs allow cindy create,destroy,mount,snapshot tank/home/cindy # zfs allow tank/home/cindy ---- Permissions on tank/home/cindy ---------------------------------- Local+Descendent permissions: user cindy create,destroy,mount,snapshot
Zum Entfernen dieser Zugriffsrechte verwenden Sie folgende Syntax:
# zfs unallow cindy tank/home/cindy # zfs allow tank/home/cindy