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. Installation et initialisation d'un système de fichiers racine ZFS Oracle Solaris
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
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é
Configuration et affichage d'ACL dans des fichiers ZFS en format compact
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
Vous pouvez modifier les ACL dans des fichiers ZFS à l'aide de la commande chmod. La syntaxe chmod suivante pour la modification de l'ACL utilise la spécification acl pour identifier le format de la liste. Pour une description de la spécification ACL, reportez-vous à la section Descriptions de syntaxe pour la configuration des ACL.
Ajout d'entrées d'ACL
Ajout d'une entrée d'ACL pour un utilisateur
% chmod A+acl-specification filename
Ajout d'une entrée d'ACL par ID d'index
% chmod Aindex-ID+acl-specification filename
Cette syntaxe insère la nouvelle entrée d'ACL à l'emplacement d'ID d'index spécifié.
Remplacement d'une entrée d'ACL
% chmod A=acl-specification filename
% chmod Aindex-ID=acl-specification filename
Suppression d'entrées d'ACL
Suppression d'une entrée d'ACL par l'ID d'index
% chmod Aindex-ID- filename
Suppression d'une entrée d'ACL par utilisateur
% chmod A-acl-specification filename
Suppression de la totalité des ACE non triviales d'un fichier
% chmod A- filename
Les informations détaillées de l'ACL s'affichent à l'aide de la commande ls - v. Exemple :
# ls -v file.1 -rw-r--r-- 1 root root 206663 Jun 23 15:06 file.1 0:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 1:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 2:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
Pour obtenir des informations sur l'utilisation du format d'ACL compact, consultez Configuration et affichage d'ACL dans des fichiers ZFS en format compact.
Exemple 8-1 Modification des ACL triviales dans des fichiers ZFS
Cette section fournit des exemples de définition et d'affichage d'ACL insignifiantes.
Dans l'exemple suivant, une ACL triviale existe dans le fichier file.1 :
# ls -v file.1 -rw-r--r-- 1 root root 206663 Jun 23 15:06 file.1 0:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 1:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 2:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
Dans l'exemple suivants, les droits write_data sont accordés au groupe group@.
# chmod A1=group@:read_data/write_data:allow file.1 # ls -v file.1 -rw-rw-r-- 1 root root 206663 Jun 23 15:06 file.1 0:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 1:group@:read_data/write_data:allow 2:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
Dans l'exemple suivant, les droits du fichier file.1 sont reconfigurés sur 644.
# chmod 644 file.1 # ls -v file.1 -rw-r--r-- 1 root root 206663 Jun 23 15:06 file.1 0:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 1:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 2:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
Exemple 8-2 Configuration d'ACL non triviales dans des fichiers ZFS
Cette section fournit des exemples de configuration et d'affichage d'ACL non triviales.
Dans l'exemple suivant, les droits read_data/execute sont ajoutés à l'utilisateur gozer dans le répertoire test.dir.
# chmod A+user:gozer:read_data/execute:allow test.dir # ls -dv test.dir drwxr-xr-x+ 2 root root 2 Jun 23 15:11 test.dir 0:user:gozer:list_directory/read_data/execute:allow 1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 2:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
Dans l'exemple suivant, les droits read_data/execute sont retirés à l'utilisateur gozer.
# chmod A0- test.dir # ls -dv test.dir drwxr-xr-x 2 root root 2 Jun 23 15:11 test.dir 0:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 1:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 2:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
Exemple 8-3 Interactions entre les ACL et les droits dans les fichiers ZFS
Ces exemples d'ACL illustrent l'interaction entre la configuration d'ACL et la modification des bits de droit du fichier ou du répertoire.
Dans l'exemple suivant, une ACL triviale existe dans le fichier file.2:
# ls -v file.2 -rw-r--r-- 1 root root 49090 Jun 23 15:13 file.2 0:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 1:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 2:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
Dans l'exemple suivant, les droits d'ACL (allow) sont retirés à everyone@.
# chmod A2- file.2 # ls -v file.2 -rw-r----- 1 root root 49090 Jun 23 15:13 file.2 0:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 1:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow
Dans cette sortie, les bits d'autorisation du fichier sont réinitialisés de 644 à 640. Les droits de lecture de everyone@ ont été supprimés des bits de droit du fichier lorsque les droits "allow" des ACL ont été supprimés de everyone@.
Dans l'exemple suivant, l'ACL existante est remplacée par des droits read_data/write_data pour everyone@.
# chmod A=everyone@:read_data/write_data:allow file.3 # ls -v file.3 -rw-rw-rw- 1 root root 27482 Jun 23 15:14 file.3 0:everyone@:read_data/write_data:allow
Dans cette sortie, la syntaxe chmod remplace effectivement l'ACL existante par les droits read_data/write_data:allow pour les droits de lecture/écriture pour le propriétaire, le groupe et everyone@. Dans ce modèle, everyone@ spécifie l'accès à tout utilisateur ou groupe. Dans la mesure où aucune entrée d'ACL owner@ ou group@ n'existe pour ignorer les droits pour l'utilisateur ou le groupe, les bits de droit sont définis sur 666.
Dans l'exemple suivant, l'ACL existante est remplacée par des droits de lecture pour l'utilisateur gozer.
# chmod A=user:gozer:read_data:allow file.3 # ls -v file.3 # ls -v file.3 ----------+ 1 root root 27482 Jun 23 15:14 file.3 0:user:gozer:read_data:allow
Dans cette sortie, les droits de fichier sont calculées pour être 000 car aucune entrée d'ACL n'existe pour owner@, group@, ou everyone@, qui représentent les composant de droit classiques d'un fichier. Le propriétaire du fichier peut résoudre ce problème en réinitialisant les droits (et l'ACL) comme suit :
# chmod 655 file.3 # ls -v file.3 -rw-r-xr-x 1 root root 27482 Jun 23 15:14 file.3 0:owner@:execute:deny 1:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 2:group@:read_data/read_xattr/execute/read_attributes/read_acl /synchronize:allow 3:everyone@:read_data/read_xattr/execute/read_attributes/read_acl /synchronize:allow
Exemple 8-4 Restauration des ACL triviales dans des fichiers ZFS
Vous pouvez utiliser la commande chmod pour supprimer toutes les ACL non insignifiantes d'un fichier ou d'un répertoire.
Dans l'exemple suivant, deux ACE non insignifiantes existent dans test5.dir.
# ls -dv test5.dir drwxr-xr-x 2 root root 2 Jun 23 15:17 test5.dir 0:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 1:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 2:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
Dans l'exemple suivant, les ACL non triviales pour les utilisateurs gozer et lp sont supprimées. L'ACL restante contient les valeurs par défaut de owner@, group@ et everyone@.
# chmod A- test5.dir # ls -dv test5.dir drwxr-xr-x 2 root root 2 Jun 23 15:17 test5.dir 0:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 1:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 2:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
Vous pouvez déterminer comment les ACL sont héritées ou non dans les fichiers et répertoires. Par défaut, les ACL ne sont pas propagées. Si vous configurez une ACL non triviale dans un répertoire, aucun répertoire subséquent n'en hérite. Vous devez spécifier l'héritage d'une ACL dans un fichier ou un répertoire.
La propriété aclinherit peut être définie de manière globale pour un système de fichiers. Par défaut, aclinherit est défini sur restricted.
Pour plus d'informations, reportez-vous à la section Héritage d'ACL.
Exemple 8-5 Attribution d'héritage d'ACL par défaut
Par défaut, les ACL ne sont pas propagées par le biais d'une structure de répertoire.
Dans l'exemple suivant, une ACE non insignifiante de read_data/write_data/execute est appliquée pour l'utilisateur gozer dans le fichier test.dir.
# chmod A+user:gozer:read_data/write_data/execute:allow test.dir # ls -dv test.dir drwxr-xr-x+ 2 root root 2 Jun 23 15:18 test.dir 0:user:gozer:list_directory/read_data/add_file/write_data/execute:allow 1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 2:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
Si un sous-répertoire test.dir est créé, l'ACE pour l'utilisateur gozer n'est pas propagée. L'utilisateur gozer n'aurait accès à sub.dir que si les droits de sub.dir lui accordaient un accès en tant que propriétaire de fichier, membre de groupe ou everyone@.
# mkdir test.dir/sub.dir # ls -dv test.dir/sub.dir drwxr-xr-x 2 root root 2 Jun 23 15:19 test.dir/sub.dir 0:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 1:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 2:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
Exemple 8-6 Attribution d'héritage d'ACL dans les fichiers et les répertoires
Cette série d'exemples identifie les ACE du fichier et du répertoire qui sont appliquées lorsque l'indicateur file_inherit est paramétré.
Dans cet exemple, les autorisations read_data/write_data sont ajoutées pour les fichiers dans le répertoire test2.dir pour l'utilisateur gozer afin qu'il dispose de l'accès en lecture à tout nouveau fichier :
# chmod A+user:gozer:read_data/write_data:file_inherit:allow test2.dir # ls -dv test2.dir drwxr-xr-x+ 2 root root 2 Jun 23 15:20 test2.dir 0:user:gozer:read_data/write_data:file_inherit:allow 1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 2:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
Dans l'exemple suivant, les droits de l'utilisateur gozer sont appliqués au fichier test2.dir/file.2 récemment créé. L'héritage d'ACL étant accordé (read_data:file_inherit:allow), l'utilisateur gozer peut lire le contenu de tout nouveau fichier.
# touch test2.dir/file.2 # ls -v test2.dir/file.2 -rw-r--r--+ 1 root root 0 Jun 23 15:21 test2.dir/file.2 0:user:gozer:read_data:allow 1:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 2:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 3:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
Dans la mesure où la propriété aclinherit pour ce système de fichiers est paramétrée sur le mode par défaut, restricted, l'utilisateur gozer ne dispose pas de l'autorisation write_data pour le fichier file.2 car l'autorisation de groupe du fichier ne le permet pas.
Notez que le droit inherit_only appliquée lorsque les indicateurs file_inherit ou dir_inherit sont définis, est utilisée pour propager l'ACL dans la structure du répertoire. Ainsi, l'utilisateur gozer se voit uniquement accorder ou refuser la permission des autorisations everyone@, à moins qu'il ne soit le propriétaire du fichier ou membre du groupe propriétaire du fichier. Par exemple :
# mkdir test2.dir/subdir.2 # ls -dv test2.dir/subdir.2 drwxr-xr-x+ 2 root root 2 Jun 23 15:21 test2.dir/subdir.2 0:user:gozer:list_directory/read_data/add_file/write_data:file_inherit /inherit_only:allow 1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 2:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
La série d'exemples suivants identifie les ACL du fichier et du répertoire appliquées lorsque les indicateurs file_inherit et dir_inherit sont paramétrés.
Dans l'exemple suivant, l'utilisateur gozer se voit accorder les droits de lecture, d'écriture et d'exécution hérités des fichiers et répertoires récemment créés.
# chmod A+user:gozer:read_data/write_data/execute:file_inherit/dir_inherit:allow test3.dir # ls -dv test3.dir drwxr-xr-x+ 2 root root 2 Jun 23 15:22 test3.dir 0:user:gozer:list_directory/read_data/add_file/write_data/execute :file_inherit/dir_inherit:allow 1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 2:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
# touch test3.dir/file.3 # ls -v test3.dir/file.3 -rw-r--r--+ 1 root root 0 Jun 23 15:25 test3.dir/file.3 0:user:gozer:read_data:allow 1:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 2:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 3:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
# mkdir test3.dir/subdir.1 # ls -dv test3.dir/subdir.1 drwxr-xr-x+ 2 root root 2 Jun 23 15:26 test3.dir/subdir.1 0:user:gozer:list_directory/read_data/execute:file_inherit/dir_inherit :allow 1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 2:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
Dans ces exemples, les bits de droit du répertoire parent pour group@ et everyone@ n'accordent pas les droits. Par conséquent, l'utilisateur gozer se voit refuser ces droits. La propriété par défaut aclinherit est de restricted, ce qui signifie que les permissions write_data et execute ne sont pas héritées.
Dans l'exemple suivant, l'utilisateur gozer se voit accorder les droits de lecture, d'écriture et d'exécution qui sont héritées pour les fichiers récemment créés, mais ne sont pas propagées vers tout contenu subséquent du répertoire.
# chmod A+user:gozer:read_data/write_data/execute:file_inherit/no_propagate:allow test4.dir # ls -dv test4.dir drwxr-xr-x+ 2 root root 2 Jun 23 15:27 test4.dir 0:user:gozer:list_directory/read_data/add_file/write_data/execute :file_inherit/no_propagate:allow 1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 2:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
Comme l'exemple suivant l'illustre, lors de la création d'un sous-répertoire, le droit read_data/write_data/execute de l'utilisateur gozer pour les fichiers n'est pas propagée au nouveau répertoire sub4.dir.
# mkdir test4.dir/sub4.dir # ls -dv test4.dir/sub4.dir drwxr-xr-x 2 root root 2 Jun 23 15:28 test4.dir/sub4.dir 0:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 1:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 2:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
Comme l'exemple suivant l'illustre, les autorisations read_data/write_data/execute de l'utilisateur gozer sont réduites en fonction des autorisations du groupe propriétaire.
# touch test4.dir/file.4 # ls -v test4.dir/file.4 -rw-r--r--+ 1 root root 0 Jun 23 15:28 test4.dir/file.4 0:user:gozer:read_data:allow 1:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 2:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 3:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
Exemple 8-7 Héritage d'ACL avec mode de liste défini sur Pass Through
Si la propriété aclinherit dans le système de fichiers tank/cindy est définie sur passthrough, l'utilisateur gozer hérite alors de l'ACL appliquée à test4.dir pour le fichier file.4 récemment créé, comme suit :
# zfs set aclinherit=passthrough tank/cindy # touch test4.dir/file.4 # ls -v test4.dir/file.4 -rw-r--r--+ 1 root root 0 Jun 23 15:35 test4.dir/file.4 0:user:gozer:read_data:allow 1:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 2:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 3:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow
Exemple 8-8 Héritage d'ACL avec mode de liste défini sur Discard
Si la propriété aclinherit d'un système de fichiers est définie sur discard, il est alors possible de supprimer les ACL avec les bits d'autorisation lors d'un changement de répertoire. Par exemple :
# zfs set aclinherit=discard tank/cindy # chmod A+user:gozer:read_data/write_data/execute:dir_inherit:allow test5.dir # ls -dv test5.dir drwxr-xr-x+ 2 root root 2 Jun 23 15:58 test5.dir 0:user:gozer:list_directory/read_data/add_file/write_data/execute :dir_inherit:allow 1:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 2:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 3:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
Si vous décidez ultérieurement de renforcer les bits de droit d'un répertoire, l'ACL non triviale est supprimée. Exemple :
# chmod 744 test5.dir # ls -dv test5.dir drwxr--r-- 2 root root 2 Jun 23 15:58 test5.dir 0:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 1:group@:list_directory/read_data/read_xattr/read_attributes/read_acl /synchronize:allow 2:everyone@:list_directory/read_data/read_xattr/read_attributes/read_acl /synchronize:allow
Exemple 8-9 Héritage d'ACL avec mode d'héritage de liste défini sur Noallow
Dans l'exemple suivant, deux ACL non triviales avec héritage de fichier sont définies. Une ACL autorise le droit read_data, tandis qu'un autre refuse ce droit. Cet exemple illustre également comment spécifier deux ACE dans la même commande chmod.
# zfs set aclinherit=noallow tank/cindy # chmod A+user:gozer:read_data:file_inherit:deny,user:lp:read_data:file_inherit:allow test6.dir # ls -dv test6.dir drwxr-xr-x+ 2 root root 2 Jun 23 16:00 test6.dir 0:user:gozer:read_data:file_inherit:deny 1:user:lp:read_data:file_inherit:allow 2:owner@:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/read_xattr/write_xattr/execute/read_attributes /write_attributes/read_acl/write_acl/write_owner/synchronize:allow 3:group@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow 4:everyone@:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow
Comme l'illustre l'exemple suivant, lors de la création d'un nouveau fichier, l'ACL qui autorise le droit read_data est supprimée.
# touch test6.dir/file.6 # ls -v test6.dir/file.6 -rw-r--r--+ 1 root root 0 Jun 15 12:19 test6.dir/file.6 0:user:gozer:read_data:inherited:deny 1:owner@:read_data/write_data/append_data/read_xattr/write_xattr /read_attributes/write_attributes/read_acl/write_acl/write_owner /synchronize:allow 2:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 3:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize :allow