JavaScript is required to for searching.
Navigationslinks überspringen
Druckansicht beenden
Oracle Solaris ZFS-Administrationshandbuch     Oracle Solaris 10 1/13 Information Library (Deutsch)
search filter icon
search icon

Dokumentinformationen

Vorwort

1.  Oracle Solaris ZFS-Dateisystem (Einführung)

2.  Erste Schritte mit Oracle Solaris ZFS

3.  Verwalten von Oracle Solaris ZFS-Speicher-Pools

4.  Installieren und Booten eines Oracle Solaris ZFS-Root-Dateisystems

5.  Verwalten von Oracle Solaris ZFS-Dateisystemen

6.  Arbeiten mit Oracle Solaris ZFS-Schnappschüssen und -Klonen

7.  Schützen von Oracle Solaris ZFS-Dateien mit Zugriffskontrolllisten und Attributen

Solaris-Modell zu Zugriffskontrolllisten

Syntaxbeschreibungen zum Setzen von Zugriffskontrolllisten

Vererbung von Zugriffskontrolllisten

Eigenschaften von Zugriffskontrolllisten

Setzen von Zugriffskontrolllisten an ZFS-Dateien

Setzen und Anzeigen von Zugriffskontrolllisten an ZFS-Dateien im Verbose-Format

Festlegen der Vererbung von Zugriffskontrolllisten an ZFS-Dateien im Verbose-Format

Setzen und Anzeigen von Zugriffskontrolllisten an ZFS-Dateien im Kompaktformat

8.  Delegierte Oracle Solaris ZFS-Administration

9.  Fortgeschrittene Oracle Solaris ZFS-Themen

10.  Problembehebung und Pool-Wiederherstellung in Oracle Solaris ZFS

11.  Empfohlene Oracle Solaris ZFS-Vorgehensweisen

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, die die Zugriffsrechte in Kompaktform darstellen, werden in Tabelle 7-2 und Tabelle 7-4 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 , W=write_xattr, R=read_xattr, A=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 (s) ist aktuell 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 (s) ist aktuell 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 (s) ist aktuell nicht implementiert.

Das Kompaktformat von Zugriffskontrolllisten hat gegenüber dem Verbose-Format folgende Vorteile:

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

Beispiel 7-10 Setzen und Anzeigen von Zugriffskontrolllisten im Kompaktformat

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

# 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. Beispiel: Wenn Sie die Zugriffsrechte und Vererbungs-Flags 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 Vererbungs-Flags (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 7-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 Zugriffssteuerungsliste, 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 Zugriffssteuerungseinträ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 Zugriffssteuerungsliste in einem anderen Verzeichnis erstellt, wo keine vererbten Zugriffssteuerungseinträ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 7-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.

Beispiel 7-13 Interaktion der Zugriffskontrollliste mit chmod-Vorgängen in ZFS-Dateien

In den folgenden Beispielen wird dargestellt, wie sich bestimmte aclmode- und aclinherit-Eigenschaftswerte auf die Interaktion der vorhandenen Zugriffskontrolllisten mit einem chmod-Vorgang auswirken, der Datei- oder Verzeichniszugriffsrechte ändert, um vorhandene Zugriffsrechte der Zugriffskontrolllisten zu verringern oder zu erweitern, damit sie konsistent mit der Eigentümergruppe sind.

In diesem Beispiel ist die aclmode-Eigenschaft auf mask und die aclinherit-Eigenschaft auf restricted gesetzt. Die Zugriffsrechte der Zugriffskontrollliste in diesem Beispiel werden in Kompaktform angezeigt, in der die Änderung der Zugriffsrechte einfacher dargestellt werden kann.

Die ursprüngliche Datei- und Gruppeneigentümerschaft und die Zugriffsrechte der Zugriffskontrollliste sind:

# zfs set aclmode=mask pond/whoville
# zfs set aclinherit=restricted pond/whoville

# ls -lV file.1
-rwxrwx---+  1 root     root      206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:rw-p--aARWc---:-------:allow
            group:staff:rw-p--aARWc---:-------:allow
                 owner@:rwxp--aARWcCos:-------:allow
                 group@:rwxp--aARWc--s:-------:allow
              everyone@:------a-R-c--s:-------:allow

Ein chown-Vorgang ändert die Dateieigentümerschaft für file.1, und die Ausgabe wird jetzt für den Eigentümer angezeigt, amy. Beispiel:

# chown amy:staff file.1
# su - amy
$ ls -lV file.1
-rwxrwx---+  1 amy      staff     206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:rw-p--aARWc---:-------:allow
            group:staff:rw-p--aARWc---:-------:allow
                 owner@:rwxp--aARWcCos:-------:allow
                 group@:rwxp--aARWc--s:-------:allow
              everyone@:------a-R-c--s:-------:allow

Der folgende chmod-Vorgang ändert die Zugriffsrechte in einen restriktiveren Modus. In diesem Beispiel überschreiten die geänderten Zugriffsrechte der sysadmin- und staff-Gruppe die Zugriffsrechte der Eigentümergruppe nicht.

$ chmod 640 file.1
$ ls -lV file.1
-rw-r-----+  1 amy      staff     206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:r-----a-R-c---:-------:allow
            group:staff:r-----a-R-c---:-------:allow
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:------a-R-c--s:-------:allow

Der folgende chmod-Vorgang ändert die Zugriffsrechte in einen weniger restriktiven Modus. In diesem Beispiel werden die geänderten Zugriffsrechte der sysadmin- und staff-Gruppe auf die Zugriffsrechte der Eigentümergruppe zurückgesetzt.

$ chmod 770 file.1
$ ls -lV file.1
-rwxrwx---+  1 amy      staff     206695 Aug 30 16:03 file.1
               user:amy:r-----a-R-c---:-------:allow
              user:rory:r-----a-R-c---:-------:allow
         group:sysadmin:rw-p--aARWc---:-------:allow
            group:staff:rw-p--aARWc---:-------:allow
                 owner@:rwxp--aARWcCos:-------:allow
                 group@:rwxp--aARWc--s:-------:allow
              everyone@:------a-R-c--s:-------:allow