Ignorer les liens de navigation | |
Quitter l'aperu | |
Administration d'Oracle Solaris 11.1 : Systèmes de fichiers ZFS Oracle Solaris 11.1 Information Library (Français) |
1. Système de fichiers Oracle Solaris ZFS (introduction)
2. Mise en route d'Oracle Solaris ZFS
3. Gestion des pools de stockage Oracle Solaris ZFS
4. Gestion des composants du pool root ZFS
5. Gestion des systèmes de fichiers Oracle Solaris ZFS
6. Utilisation des instantanés et des clones ZFS Oracle Solaris
7. Utilisation des ACL et des attributs pour protéger les fichiers Oracle Solaris ZFS
Descriptions de syntaxe pour la configuration des 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é
Application d'attributs spéciaux aux fichiers ZFS
8. Administration déléguée de ZFS dans Oracle Solaris
9. Rubriques avancées Oracle Solaris ZFS
10. Dépannage d'Oracle Solaris ZFS et récupération de pool
11. Archivage des instantanés et récupération du pool root
12. Pratiques recommandées pour Oracle Solaris ZFS
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 7-2 et le Tableau 7-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 :
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 , W=write_xattr, R= read_xattr, A=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.
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.
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é :
Les autorisations peuvent être spécifiées en tant qu'arguments de position pour la commande chmod.
Les tirets (-), qui n'identifient aucune autorisation, peuvent être supprimés. Seules les lettres nécessaires doivent être spécifiées.
Les indicateurs d'autorisations et d'héritage sont configurés de la même manière.
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 7-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 7-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 7-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 7-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