JavaScript is required to for searching.
Navigationslinks �berspringen
Druckansicht beenden
Oracle Solaris ZFS-Administrationshandbuch
search filter icon
search icon

Dokument-Informationen

Vorwort

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

Neues Solaris-Modell für Zugriffskontrolllisten

Syntaxbeschreibungen zum Setzen von Zugriffskontrolllisten

Vererbung von Zugriffskontrolllisten

Eigenschaften von Zugriffskontrolllisten (aclinherit)

Setzen von Zugriffskontrolllisten an ZFS-Dateien

Setzen und Anzeigen von Zugriffskontrolllisten an ZFS-Dateien im ausführlichen Format

Festlegen der Vererbung von Zugriffskontrolllisten an ZFS-Dateien im ausführlichen Format

Setzen und Anzeigen von Zugriffskontrolllisten an ZFS-Dateien im Kompaktformat

9.  Delegierte Oracle Solaris ZFS-Administration

10.  Fortgeschrittene Oracle Solaris ZFS-Themen

11.  Problembehebung und Pool-Wiederherstellung in Oracle Solaris ZFS

A.  Oracle Solaris ZFS-Versionsbeschreibungen

Index

Setzen und Anzeigen von Zugriffskontrolllisten an ZFS-Dateien im Kompaktformat

Sie können Zugriffsrechte an ZFS-Dateien in einem Kompaktformat setzen und anzeigen, das für die einzelnen Berechtigungen 14 eindeutige Buchstaben verwendet. Die Buchstaben zur kompakten Darstellung der Zugriffsrechte sind in Tabelle 8-2 und Tabelle 8-3 aufgeführt.

Kompaktausgaben von Zugriffskontrolllisten für Dateien und Verzeichnisse werden mithilfe des Befehls ls - V angezeigt. Beispiel:

# ls -V file.1
-rw-r--r--   1 root     root      206663 Jun 23 15:06 file.1
            owner@:rw-p--aARWcCos:------:allow
            group@:r-----a-R-c--s:------:allow
         everyone@:r-----a-R-c--s:------:allow

Die Bedeutung dieser Kompaktausgabe ist wie folgt:

owner@

Der Eigentümer kann den Dateiinhalt lesen und ändern ( rw=read_data/write_data), (p= append_data). Der Eigentümer kann darüber hinaus auch Dateiattribute wie z. B. Zeitstempel, erweiterte Attribute und Zugriffskontrolllisten ändern (a=read_attributes , A=write_xattr, R=read_xattr, W=write_attributes, c=read_acl, C=write_acl). Zusätzlich dazu kann der Eigentümer die Datei-Eigentümerschaft ändern (o=write_owner).

Das Zugriffsrecht synchronize ist zurzeit nicht implementiert.

group@

Der Gruppe wird die Berechtigung zum Lesen der Datei (r= read_data) bzw. der Dateiattribute (a=read_attributes , R=read_xattr, c= read_acl) gewährt.

Das Zugriffsrecht synchronize ist zurzeit nicht implementiert.

everyone@

Allen übrigen Benutzern und Gruppen wird die Berechtigung zum Lesen der Datei bzw. der Dateiattribute gewährt (r=read_data, a=append_data, R=read_xattr , c=read_acl und s= synchronize).

Das Zugriffsrecht synchronize ist zurzeit nicht implementiert.

Das Kompaktformat von Zugriffskontrolllisten hat gegenüber dem ausführlichen Format folgende Vorteile:

Informationen zur Verwendung des ausführlichen Formats von Zugriffskontrolllisten finden Sie unter Setzen und Anzeigen von Zugriffskontrolllisten an ZFS-Dateien im ausführlichen Format.

Beispiel 8-10 Setzen und Anzeigen von Zugriffskontrolllisten im Kompaktformat

Im folgenden Beispiel besitzt file.1 eine gewöhnliche Zugriffskontrollliste:

# ls -V file.1
-rw-r--r--   1 root     root      206663 Jun 23 15:06 file.1
            owner@:rw-p--aARWcCos:------:allow
            group@:r-----a-R-c--s:------:allow
         everyone@:r-----a-R-c--s:------:allow

In diesem Beispiel werden die Berechtigungen read_data/execute für den Benutzer gozer an der Datei file.1 hinzugefügt.

# chmod A+user:gozer:rx:allow file.1
# ls -V file.1
-rw-r--r--+  1 root     root      206663 Jun 23 15:06 file.1
        user:gozer:r-x-----------:------:allow
            owner@:rw-p--aARWcCos:------:allow
            group@:r-----a-R-c--s:------:allow
         everyone@:r-----a-R-c--s:------:allow

Im folgenden Beispiel werden dem Benutzer gozer unter Verwendung des Zugriffskontrolllisten-Kompaktformats Lese-, Schreib- und Ausführungsberechtigungen gewährt, die für neu erstellte Dateien und Verzeichnisse vererbt wurden.

# chmod A+user:gozer:rwx:fd:allow dir.2
# ls -dV dir.2
drwxr-xr-x+  2 root     root           2 Jun 23 16:04 dir.2
        user:gozer:rwx-----------:fd----:allow
            owner@:rwxp--aARWcCos:------:allow
            group@:r-x---a-R-c--s:------:allow
         everyone@:r-x---a-R-c--s:------:allow

Sie können Zugriffsrechte und Vererbungsflags auch aus der Ausgabe des Befehls ls - V in das Kompaktformat des Befehls chmod kopieren. Wenn Sie beispielsweise die Zugriffsrechte und Vererbungsflags von dir.2 für den Benutzer gozer auf den Benutzer cindy an dir.2 übertragen möchten, müssen Sie die entsprechenden Zugriffsrechte und Vererbungsflags (rwx-----------:fd----:allow) nur in die Befehlszeile des Befehls chmod kopieren. Beispiel:

# chmod A+user:cindy:rwx-----------:fd----:allow dir.2
# ls -dV dir.2
drwxr-xr-x+  2 root     root           2 Jun 23 16:04 dir.2
       user:cindy:rwx-----------:fd----:allow
        user:gozer:rwx-----------:fd----:allow
            owner@:rwxp--aARWcCos:------:allow
            group@:r-x---a-R-c--s:------:allow
         everyone@:r-x---a-R-c--s:------:allow

Beispiel 8-11 Vererbung von Zugriffskontrolllisten mit dem Zugriffskontrolllisten-Vererbungsmodus "Pass Through"

Wenn die Eigenschaft aclinherit des Dateisystems auf passthrough gesetzt ist, werden alle vererbbaren Zugriffskontrolllisten ohne jegliche Änderung der Einträge bei der Vererbung weitergegeben. Ist diese Eigenschaft auf passthrough gesetzt, werden Dateien mit einem Berechtigungsmodus erstellt, der vom vererbbaren Zugriffskontrolleintrag bestimmt wird. Wenn keine den Berechtigungsmodus betreffenden vererbbaren Zugriffskontrolleinträge vorhanden sind, wird ein mit der Forderung der Anwendung vereinbarter Berechtigungsmodus gesetzt.

In den folgenden Beispielen wird die Vererbung von Berechtigungs-Bits durch das Setzen des Modus aclinherit auf passthrough in kompakter Zugriffskontrolllistensyntax veranschaulicht.

In diesem Beispiel wird eine Zugriffskontrollliste für test1.dir gesetzt, um die die Vererbung zu erzwingen. Durch die Syntax wird für neu erstellte Dateien ein Zugriffskontrolleintrag owner@, group@ und everyone@ erstellt. Neu erstellte Verzeichnisse erben die Zugriffskontrolleinträge @owner, group@ und everyone@.

# zfs set aclinherit=passthrough tank/cindy
# pwd
/tank/cindy
# mkdir test1.dir
# chmod A=owner@:rwxpcCosRrWaAdD:fd:allow,group@:rwxp:fd:allow,everyone@::fd:allow test1.dir
# ls -Vd test1.dir
drwxrwx---+  2 root     root           2 Jun 23 16:10 test1.dir
            owner@:rwxpdDaARWcCos:fd----:allow
            group@:rwxp----------:fd----:allow
         everyone@:--------------:fd----:allow

In diesem Beispiel erbt eine neu erstellte Datei die Zugriffskontrollliste, die für die Weitergabe an neu erstellte Dateien angegeben wurde.

# cd test1.dir
# touch file.1
# ls -V file.1
-rwxrwx---+  1 root     root           0 Jun 23 16:11 file.1
            owner@:rwxpdDaARWcCos:------:allow
            group@:rwxp----------:------:allow
         everyone@:--------------:------:allow

In diesem Beispiel erbt ein neu erstelltes Verzeichnis sowohl die Zugriffskontrolleinträge, die den Zugriff auf dieses Verzeichnis regeln, als auch diejenigen für die künftige Weitergabe an untergeordnete Objekte des neu erstellten Verzeichnisses.

# mkdir subdir.1
# ls -dV subdir.1
drwxrwx---+  2 root     root           2 Jun 23 16:13 subdir.1
            owner@:rwxpdDaARWcCos:fd----:allow
            group@:rwxp----------:fd----:allow
         everyone@:--------------:fd----:allow

Die Einträge fd---- gelten für die Weitergabe der Vererbung und werden bei der Zugriffskontrolle nicht berücksichtigt. In diesem Beispiel wird eine Datei mit einer gewöhnlichen Zugriffskontrollliste in einem anderen Verzeichnis erstellt, wo keine vererbten Zugriffskontrolleinträge vorhanden sind.

# cd /tank/cindy
# mkdir test2.dir
# cd test2.dir
# touch file.2
# ls -V file.2
-rw-r--r--   1 root     root           0 Jun 23 16:15 file.2
            owner@:rw-p--aARWcCos:------:allow
            group@:r-----a-R-c--s:------:allow
         everyone@:r-----a-R-c--s:------:allow

Beispiel 8-12 Vererbung von Zugriffskontrolllisten mit dem Zugriffskontrolllisten-Vererbungsmodus "Pass Through-X"

Ist aclinherit=passthrough-x aktiviert, so werden Dateien mit der Ausführungsberechtigung (x) für owner@, group@ oder everyone@ erstellt, allerdings nur, wenn die Ausführungsberechtigung im Dateierstellungsmodus und in einem vererbbaren Zugriffskontrolleintrag, der den Modus betrifft, eingestellt ist.

Das folgende Beispiel zeigt, wie die Ausführungsberechtigung durch Einstellen des Modus aclinherit auf passthrough-x vererbt wird.

# zfs set aclinherit=passthrough-x tank/cindy

Die folgende Zugriffskontrollliste ist auf /tank/cindy/test1.dir gesetzt, um ausführbare Zugriffskontrolllisten-Vererbung für Dateien für owner@ bereitzustellen.

# chmod A=owner@:rwxpcCosRrWaAdD:fd:allow,group@:rwxp:fd:allow,everyone@::fd:allow test1.dir
# ls -Vd test1.dir
drwxrwx---+  2 root     root           2 Jun 23 16:17 test1.dir
            owner@:rwxpdDaARWcCos:fd----:allow
            group@:rwxp----------:fd----:allow
         everyone@:--------------:fd----:allow

Es wird eine Datei (file1) mit den angeforderten Zugriffsrechten 0666 erstellt. Die resultierenden Zugriffsrechte sind 0660. Die Ausführungsberechtigung wurde nicht vererbt, weil der Erstellungsmodus dies nicht fordert.

# touch test1.dir/file1
# ls -V test1.dir/file1
-rw-rw----+  1 root     root           0 Jun 23 16:18 test1.dir/file1
            owner@:rw-pdDaARWcCos:------:allow
            group@:rw-p----------:------:allow
         everyone@:--------------:------:allow

Als Nächstes wird das Executable t unter Verwendung des Compilers cc im Verzeichnis testdir erstellt.

# cc -o t t.c
# ls -V t
-rwxrwx---+  1 root     root        7396 Dec  3 15:19 t
                 owner@:rwxpdDaARWcCos:------:allow
                 group@:rwxp----------:------:allow
              everyone@:--------------:------:allow

Die resultierenden Zugriffsrechte sind 0770, weil cc die Zugriffsrechte 0777 gefordert hat, weswegen die Ausführungsberechtigung von den Einträgen owner@, group@ und everyone@ geerbt wurde.