Au début, je crée un fichier et vérifie qu'il s'agit des autorisations standard et des entrées ACL:
$ touch file; ls -l file; getfacl file
-rw-r--r-- 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
other::r--
Ensuite, je définis le masque ACL sur le fichier et vérifie à nouveau ses autorisations standard et ses entrées ACL:
$ setfacl -m mask:rwx file
$ ls -l file; getfacl file
-rw-rwxr--+ 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
mask::rwx
other::r--
Notez que la permission de groupe standard du masque ACL sur le fichier a également changé.
- Quelle connexion existe-t-il entre le masque ACL et l'autorisation de groupe standard?
- Quelle est la raison du couplage des autorisations de masque ACL et de groupe de fichiers? Quelle logique se cache derrière cela?
Les distributions en question sont Debian Linux 7.6 et CentOS 7
ÉDITER
À ce stade, je voulais juste partager certaines de mes conclusions que j'ai trouvées tout en recherchant les relations entre les autorisations de groupe de fichiers standard et le masque ACL. Voici les observations empiriques que j'ai trouvées:
Le masque ACL peut être modifié:
- en le définissant directement avec la
setfacl -m m:<perms>
commande; - en modifiant les autorisations de groupe de fichiers avec la
chmod
commande (si le masque ACL est déjà présent; il peut ne pas être présent car il est facultatif s'il n'y a pas d'autorisations ACL d'utilisateur ou de groupe nommées sur le fichier); - en ajoutant une entrée ACL d'utilisateur ou de groupe nommé (le masque sera automatiquement recalculé).
- en le définissant directement avec la
Le masque appliquera des droits d'accès maximum (s'il y a des entrées ACL avec des autorisations présentes qui dépassent les autorisations du masque ACL) uniquement si le masque est défini directement par setfacl ou par modification de l'autorisation de groupe de fichiers avec chmod (non calculé automatiquement). Toutes les modifications apportées aux entrées ACL déclencheront le recalcul automatique du masque ACL et désactiveront effectivement le "mode d'application".
Il existe quelques effets secondaires affectant implicitement les autorisations de groupe de fichiers standard lors de l'utilisation des ACL:
- Une entrée ACL d'utilisateur ou de groupe nommé appliquée à un fichier peut modifier le masque ACL (augmenter ses autorisations) et donc les autorisations de groupe de fichiers effectives. Par exemple, si vous, en tant que propriétaire du fichier, disposez d'autorisations "rw-r - r-- jim étudiants" et que vous accordez également l'autorisation rw à l'utilisateur "jack", vous accorderez également implicitement des autorisations rw à quiconque du groupe "étudiants".
- Un masque ACL plus strict (moins d'autorisations) peut supprimer définitivement les autorisations de groupe de fichiers standard correspondantes. Par exemple, si vous avez un fichier avec des autorisations de groupe de fichiers standard rw et que vous appliquez un masque ACL en lecture seule au fichier, ses autorisations de groupe passeront en lecture seule. Ensuite, si vous supprimez toutes les entrées ACL étendues (avec la
setfacl -b
commande), les autorisations de groupe resteront en lecture seule. Cela s'applique uniquement au masque ACL plus strict, le masque ACL plus doux (plus d'autorisations) ne modifie pas définitivement l'autorisation du groupe de fichiers d'origine après sa suppression.