JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Administration d'Oracle Solaris : Systèmes de fichiers ZFS     Oracle Solaris 11 Information Library (Français)
search filter icon
search icon

Informations document

Préface

1.  Système de fichiers Oracle Solaris ZFS (introduction)

2.  Mise en route d'Oracle Solaris ZFS

3.  Différences entre les systèmes de fichiers Oracle Solaris ZFS et classiques

4.  Gestion des pools de stockage Oracle Solaris ZFS

5.  Gestion des composants du pool racine ZFS

6.  Gestion des systèmes de fichiers Oracle Solaris ZFS

7.  Utilisation des instantanés et des clones ZFS Oracle Solaris

8.  Utilisation des ACL et des attributs pour protéger les fichiers Oracle Solaris ZFS

Nouveau modèle ACL Solaris

Descriptions de syntaxe pour la configuration des ACL

Jeux d'ACL ZFS

Héritage d'ACL

Propriétés ACL

Configuration d'ACL dans des fichiers ZFS

Configuration et affichage d'ACL dans des fichiers ZFS en format détaillé

Configuration d'héritage d'ACL dans des fichiers ZFS en format détaillé

Configuration et affichage d'ACL dans des fichiers ZFS en format compact

Application d'attributs spéciaux aux fichiers ZFS

9.  Administration déléguée de ZFS dans Oracle Solaris

10.  Rubriques avancées Oracle Solaris ZFS

11.  Dépannage d'Oracle Solaris ZFS et récupération de pool

12.  Archivage des instantanés et récupération du pool racine

13.  Pratiques recommandées pour Oracle Solaris ZFS

A.  Descriptions des versions d'Oracle Solaris ZFS

Index

Configuration et affichage d'ACL dans des fichiers ZFS en format compact

Vous pouvez définir et afficher les autorisations relatives aux fichiers ZFS en format compact utilisant 14 lettres uniques pour représenter les autorisations. Les lettres représentant les autorisations compactes sont répertoriées dans le Tableau 8-2 et le Tableau 8-4.

Vous pouvez afficher les listes d'ACL compactes pour les fichiers et les répertoires à l'aide de la commande ls -V. Par exemple :

# ls -V file.1
-rw-r--r--   1 root     root      206695 Jul 20 14:27 file.1
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:r-----a-R-c--s:-------:allow

La sortie d'ACL compacte est décrite comme suit :

owner@

Le propriétaire peut lire et modifier le contenu du fichier ( rw=read_data/write_data), (p= append_data). Le propriétaire peut également modifier les attributs du fichier tels que l'horodatage, les attributs étendus et les listes de contrôle d'accès (ACL) (a=read_attributes , A=write_xattr, R= read_xattr, W=write_attributes, c=read_acl, C=write_acl). De plus, le propriétaire peut modifier la propriété du fichier (o=write_owner).

L'autorisation d'accès synchronize (s) n'est pas implémentée pour le moment.

group@

Les autorisations de lecture sur le fichier sont accordées au groupe sur le fichier (r= read_data) et les attributs du fichier (a=read_attributes , R=read_xattr, c= read_acl).

L'autorisation d'accès synchronize (s) n'est pas implémentée pour le moment.

everyone@

Les autorisations de lecture sur le fichier et sur ses attributs sont accordés à toute personne n'étant ni un utilisateur ni un groupe (r=read_data, a=append_data, R=read_xattr , c=read_acl et s= synchronize).

L'autorisation d'accès synchronize (s) n'est pas implémentée pour le moment.

Le format d'ACL compact dispose des avantages suivants par rapport au format d'ACL détaillé :

Pour obtenir des informations sur l'utilisation du format d'ACL détaillé, consultez Configuration et affichage d'ACL dans des fichiers ZFS en format détaillé.

Exemple 8-11 Configuration et affichage des ACL en format compact

Dans l'exemple suivant, une ACL triviale existe dans le fichier file.1 :

# ls -V file.1
-rw-r--r--   1 root     root      206695 Jul 20 14:27 file.1
                 owner@:rw-p--aARWcCos:-------:allow
                 group@:r-----a-R-c--s:-------:allow
              everyone@:r-----a-R-c--s:-------:allow

Dans cet exemple, les autorisations read_data/execute sont ajoutées à l'utilisateur gozer sur le fichier file.1.

# chmod A+user:gozer:rx:allow file.1
# ls -V file.1
-rw-r--r--+  1 root     root      206695 Jul 20 14:27 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

Dans l'exemple suivant, l'utilisateur gozer se voit accorder les droits de lecture, d'écriture et d'exécution qui sont hérités des fichiers et répertoires récemment créés grâce à l'utilisation de l'ACL compacte.

# chmod A+user:gozer:rwx:fd:allow dir.2
# ls -dV dir.2
drwxr-xr-x+  2 root     root           2 Jul 20 14:33 dir.2
             user:gozer:rwx-----------:fd-----:allow
                 owner@:rwxp-DaARWcCos:-------:allow
                 group@:r-x---a-R-c--s:-------:allow
              everyone@:r-x---a-R-c--s:-------:allow

Vous pouvez également couper et coller les autorisations et les indicateurs d'héritage à partir de la sortie ls -V en format chmod compact. Par exemple, pour dupliquer les autorisations et les indicateurs d'héritage sur dir.2 pour l'utilisateur gozer vers l'utilisateur cindy sur dir.2, copiez et collez l'autorisation et les indicateurs d'héritage (rwx-----------:fd-----:allow ) dans votre commande chmod. Par exemple :

# chmod A+user:cindy:rwx-----------:fd-----:allow dir.2
# ls -dV dir.2
drwxr-xr-x+  2 root     root           2 Jul 20 14:33 dir.2
             user:cindy:rwx-----------:fd-----:allow
             user:gozer:rwx-----------:fd-----:allow
                 owner@:rwxp-DaARWcCos:-------:allow
                 group@:r-x---a-R-c--s:-------:allow
              everyone@:r-x---a-R-c--s:-------:allow

Exemple 8-12 Héritage d'ACL avec mode d'héritage ACL défini sur Pass Through

Un système de fichiers dont la propriété aclinherit est définie sur passthrough hérite de toutes les entrées d'ACL pouvant être héritées, sans qu'aucune modification ne leur soit apportée. Lorsque cette propriété est définie sur passthrough, les fichiers sont créés avec un mode d'autorisation déterminé par les ACE pouvant être héritées. Si aucune ACE pouvant être héritée n'affecte le mode d'autorisation, ce mode est alors défini en fonction du mode demandé à partir de l'application.

Les exemples suivants respectent la syntaxe ACL compacte pour illustrer le processus d'héritage des bits d'autorisation en définissant le mode aclinherit sur la valeur passthrough .

Dans cet exemple, une ACL est définie sur test1.dir pour forcer l'héritage. La syntaxe crée une entrée d'ACL owner@, group@ et everyone@ pour les fichiers nouvellement créés. Les répertoires nouvellement créés héritent d'une entrée d'ACL @owner, group@ et 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 Jul 20 14:42 test1.dir
                 owner@:rwxpdDaARWcCos:fd-----:allow
                 group@:rwxp----------:fd-----:allow
              everyone@:--------------:fd-----:allow

Dans cet exemple, un fichier nouvellement créé hérite de l'ACL dont les fichiers nouvellement créés doivent hériter d'après ce qui a été spécifié.

# cd test1.dir
# touch file.1
# ls -V file.1
-rwxrwx---+  1 root     root           0 Jul 20 14:44 file.1
                 owner@:rwxpdDaARWcCos:------I:allow
                 group@:rwxp----------:------I:allow
              everyone@:--------------:------I:allow

Dans cet exemple, un répertoire nouvellement créé hérite à la fois des ACE contrôlant l'accès à ce répertoire et des ACE à appliquer ultérieurement aux enfants de ce répertoire.

# mkdir subdir.1
# ls -dV subdir.1
drwxrwx---+  2 root     root           2 Jul 20 14:45 subdir.1
                 owner@:rwxpdDaARWcCos:fd----I:allow
                 group@:rwxp----------:fd----I:allow
              everyone@:--------------:fd----I:allow

Les entrées fd----I servent à propager l'héritage et ne sont pas prises en compte durant le contrôle d'accès.

Dans l'exemple suivant, un fichier est créé à l'aide d'une ACL triviale dans un autre répertoire où les ACE héritées ne sont pas présentes.

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

Exemple 8-13 Héritage d'ACL avec mode d'héritage ACL défini sur Pass Through-X

Lorsque aclinherit=passthrough-x est activé, les fichiers sont créés avec l'autorisation d'exécution (x) pour propriétaire@, groupe@ ou tous les utilisateurs@, mais seulement si l'autorisation d'exécution est définie dans le mode de création de fichier et dans une ACE héritable qui affecte le mode.

L'exemple suivant montre comment hériter l'autorisation d'exécution en définissant le mode aclinherit sur passthrough-x.

# zfs set aclinherit=passthrough-x tank/cindy

L'ACL suivante est définie sur /tank/cindy/test1.dir pour permettre l'héritage des ACL exécutables pour les fichiers de owner@.

# chmod A=owner@:rwxpcCosRrWaAdD:fd:allow,group@:rwxp:fd:allow,
everyone@::fd:allow test1.dir
# ls -Vd test1.dir
drwxrwx---+  2 root     root           2 Jul 20 14:50 test1.dir
                 owner@:rwxpdDaARWcCos:fd-----:allow
                 group@:rwxp----------:fd-----:allow
              everyone@:--------------:fd-----:allow

Un fichier (file1) est créé avec les autorisations demandées 0666. Les autorisations obtenues sont 0660. L'autorisation d'exécution n'était pas héritée car le mode de création ne le requérait pas.

# touch test1.dir/file1
# ls -V test1.dir/file1
-rw-rw----+  1 root     root           0 Jul 20 14:52 test1.dir/file1
                 owner@:rw-pdDaARWcCos:------I:allow
                 group@:rw-p----------:------I:allow
              everyone@:--------------:------I:allow

Ensuite, un fichier exécutable appelé t est généré à l'aide du compilateur cc dans le répertoire testdir.

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

Les autorisations obtenues sont 0770 car cc a demandé des autorisations 0777, ce qui a entraîné l'héritage de l'autorisation d'exécution à partir des entrées propriétaire@, groupe@ et tous les utilisateurs@.

Exemple 8-14 Interactions entre les ACL et les opérations chmod sur les fichiers ZFS

Les exemples suivants illustrent l'incidence de certaines valeurs des propriétés aclmode et aclinherit sur l'interaction des ACL existantes avec une opération chmod modifiant les autorisations de répertoire ou de fichier en vue de restreindre ou d'augmenter les autorisations d'ACL existantes à des fins de conformité avec le groupe propriétaire.

Dans cet exemple, la propriété aclmode est définie sur mask et la propriété aclinherit sur restricted. Les autorisations d'ACL sont affichées en mode compact dans cet exemple, ce qui permet de mieux repérer les modifications apportées aux autorisations.

Paramètres de propriété du fichier et des groupes et autorisations d'ACL initiaux :

# 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

Une opération chown modifie la propriété du fichier file.1 et la sortie est visible par l'utilisateur propriétaire, amy. Par exemple :

# 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

Les opérations chmod suivantes font passer les autorisations à un mode plus restrictif. Dans cet exemple, les autorisations d'ACL modifiées du groupe sysadmin et du groupe staff n'excèdent pas les autorisations du groupe propriétaire.

$ 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

L'opération chmod suivante fait passer les autorisations à un mode moins restrictif. Dans cet exemple, les autorisations d'ACL modifiées du groupe sysadmin et du groupe staff sont restaurées pour accorder les mêmes autorisations que celles du groupe propriétaire.

$ 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