Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
29 août 2015

htmlpdflatexmanmd




acl

acl

Listes de contrôle d'accès

   Tout objet peut être considéré comme étant associé avec une ACL qui gouverne l'accès discrétionnaire de cet objet. Cette ACL est référée à une ACL d'accès. En plus, un répertoire peut avoir une ACL associée qui gouverne l'ACL initial pour les objets créés dans ce répertoire. Cette ACL est référé à l'ACL par défaut.

   Une ACL consiste d'un jeu d'entrées d'ACL. Une entrée ACL spécifie les permissions d'accès sur l'objet associé pour un utilisateur ou groupe individuel comme une combinaison de permissions de lecture, écriture et de recherche/exécution.

   Une entrée d'ACL contient un type de tag d'entrée, une qualifiant de tag d'entrée, et un jeu de permissions. On utilise le terme qualifier pour dénoter le qualifieur de tag d'entrée d'une entrée d'ACL.

   Le qualifieur dénote l'identifiant d'un utilisateur ou un groupe, pour les entrées avec les types de tag d'ACL_USER ou ACL_GROUP, respectivement. Les entrées avec des types de tag autre que ACL_USER ou ACL_GROUP n'ont pas de qualifieur définis.

   Les types de tag d'entrée suivant sont définis

ACL_USER_OBJ dénote les droits d'accès pour le propriétaire du fichier
ACL_USER dénote les droits d'accès pour les utilisateurs identifiés par le qualifieur de l'entrée
ACL_GROUP_OBJ dénote les droits d'accès pour le groupe du fichier
ACL_GROUP dénote les droits d'accès pour les groupes identifiés par le qualifieur de l'entrée
ACL_MASK dénote les droits d'accès maximum qui peuvent être donnés par les entrées de type ACL_USER, ACL_GROUP_OBJ ou ACL_GROUP.
ACL_OTHER dénote les droits d'accès pour les processus qui ne matchent aucune autre entrée dans l'acl.

   Quand un accès est vérifié, les entrées ACL_USER_OBJ et ACL_USER sont testés avec le user ID effectif. L'ID de groupe effectif, et les IDs de groupe supplémentaire sont testé avec les entrées ACL_GROUP_OBJ et ACL_GROUP.

   Une ACL valide contient exactement une entrée avec chaque types de tag ACL_USER_OBJ, ACL_GROUP_OBJ, et ACL_OTHER. Les entrées avec les types de tag ACL_USER et ACL_GROUP peuvent apparaître 0 ou plusieurs fois dans une ACL. Dans une ACL qui contient des entrée de type de tag ACL_USER ou ACL_GROUP doivent contenir exactement une entrée de type de tag ACL_MASK. Si une ACL ne contient pas d'entrées de type de tag ACL_USER ou ACL_GROUP, l'entrée ACL_MASK est optionnel.

   Tous les qualifier d'UID doivent être unique dans les entrées du type de tag ACL_USER, et tous les GID doivent être unique dans les entrée de type de tag ACL_GROUP.

   La fonction acl_get_file() retourne une ACL avec 0 entrées d'ACL comme ACL par défaut d'un répertoire, si le répertoire n'est pas associé avec une ACL par défaut. La fonction acl_set_file() accepte également une ACL avec 0 entrées d'ACL comme ACL par défaut pour les répertoires, dénotant que le répertoire ne devrait pas être associé avec une ACL par défaut. C'est équivalement à utiliser la fonction acl_delete_def_file().
   [SECTION] name="Correspondance entre les entrées d'ACL et les bits de permission de fichier" table="paragraphes" imbrication="0"

   Il y a une correspondance entre les permissions du propriétaire du fichier, groupe, et autres et les entrées d'ACL: les permissions du propriétaire correspondent aux permissions de l'entrée ACL_USER_OBJ. Si l'ACL a une entrée ACL_MASK, les permissions du groupe correspondent aux permission de l'entrée ACL_MASK. Sinon, si l'ACL n'a pas d'entrée ACL_MASK, les permissions du groupe correspondent aux permissions de l'entrée ACL_GROUP_OBJ. Les permissions des autres correspondent aux permission de l'entrée ACL_OTHER_OBJ.

   Les permissions du propriétaire, du groupe, et des autres match toujours les permissions de l'entrée d'ACL correspondante. Les modification des bits de permission de fichier résultent en la modification des entrées d'ACL correspondantes, et les modification des entrées d'ACL résultent en la modification des bits de permission de fichier.

Création d'objet et ACL par défaut

   L'ACL d'accès à un objet fichier est initialisé quand l'objet est créé avec une des fonctions creat(), mkdir(), mknod(), mkfifo() ou open(). Si une ACL par défaut est associée avec un répertoire, le paramètre mode des fonctions créant les objets fichier et l'ACL par défaut du répertoire sont utilisés pour déterminer l'ACL du nouvel objet:

1. Le nouvel objet hérite de l'ACL par défaut du répertoire correspondant comme son ACL d'accès
2. Les entrées d'ACL correspondant aux bits de permission de fichier sont modifiés pour qu'elles ne contiennent pas de permission qui ne sont pas contenus dans les permissions spécifiées par le paramètre mode.

   Si aucune ACL par défaut n'est associé avec un répertoire, le paramètre mode sont utilisés pour déterminer l'ACL du nouvel objet:

1. Le nouvel objet se voit assigner une ACL d'accès contenant des entrées de type de tag ACL_USER_OBJ, ACL_GROUP_OBJ, et ACL_OTHER. Les permission de ces entrées sont définie aux permissions spécifiées par le masque de création de fichier.
2. Les entrées d'ACL d'accès correspondant au bits de permission de fichier sont modifié pour qu'ils ne contiennent pas de permission qui ne soient pas contenus dans les permissions spécifiées par le paramètre mode.

Algorithme de vérification d'accès

   Un processus peut demander un accès en lecture, écriture ou exécution/recherche sur un objet fichier protégé par une ACL. L'algorithme de vérification d'accès détermine si l'accès à l'objet est autorisé.

1. Si le User ID effectif du processus correspond au User ID du propriétaire du fichier, alors

        - Si l'entrée ACL_USER_OBJ contient les permissions demandées, l'accès est donné,
        - Sinon l'accès est refusé

2. Sinon si le User ID effectif du processus correspond au qualifier d'une entrée de type ACL_USER, alors

        - Si l'entrée ACL_USER correspondant et l'entrée ACL_MASK contiennent les permissions requises, l'accès est donné
        - Sinon l'accès est refusé

3. Sinon si le GID effectif d'un ID de groupe supplémentaire du processus correspond au groupe du fichier ou le qualifier d'une entrée du type ACL_GROUP, alord

        - Si l'ACL contient une entrée ACL_MASK, alors

                . Si l'entrée ACL_MASK et une des entrées ACL_GROUP_OBJ ou ACL_GROUP correspondant contient les permissions requises, l'accès est donné
                . Sinon l'accès est refusé

        - Sinon (noter qu'il ne peut pas y avoir d'entrée ACL_GROUP sans entrée ACL_MASK)

                . Si l'entrée ACL_GROUP_OBJ contient les permissions requises, l'accès est donné,
                . Sinon l'accès est refusé

4. Sinon si l'entrée ACL_OTHER contient les permissions requises, l'accès est donné
5. Sinon l'accès est refusé.

Forme de texte d'ACL

   Une forme de texte long et cours pour représenter les ACL sont définis. Dans les 2 formes, les entrées d'ACL sont représenté en 3 champs séparés: le type de tag de l'entrée de l'ACL, le qualifier de l'entrée de l'ACL, et les permissions d'accès discrétionnaires. Le premier champ contient un des mots clé de type de tag suivant:

user Une entrée ACL user spécifie que l'accès est donné soit au propriétaire du fichier (type de tag d'entrée ACL_USER_OBJ) ou un utilisateur spécifique (type de tag d'entrée ACL_USER).
group Une entrée ACL group spécifie que l'accès est donné soit au groupe du fichier (type de tag d'entrée ACL_GROUP_OBJ), ou un groupe spécifique (type de tag d'entrée ACL_GROUP).
mask Une entrée ACL mask spécifie l'accès maximum qui peut être donné à toute entrée d'ACL excepté l'entrée utilisateur pour le propriétaire du fichier et l'entrée other (type de tag d'entrée ACL_MASK).
other Une entrée ACL other spécifie l'accès donné à tout processus qui ne correspond à aucune entrée d'ACL user et group (type de tag d'entrée ACL_OTHER).

   Le second champ contient l'identifiant d'utilisateur ou de groupe associé avec l'entrée d'ACL pour les entrées de type de tag ACL_USER ou ACL_GROUP, et est vide pour toutes les autres entrées. Un identifiant d'utilisateur peut être un nom d'utilisateur ou un UID. Un identifiant de groupe peut être un nom de groupe ou un ID.

   Le troisième champ contient les permissions d'accès discrétionnaires. Les permission de lire, écrire, et recherche/exécution sont représentés par les caractères r,w et y, respectivement. Chacun de ces caractères est remplacé par le caractère '-' pour indiquer qu'une permission est absente. En convertissant de la forme texte en représentation interne, les permissions absente n'ont pas besoin d'être spécifiés.

   Les espaces blanc sont autorisé au début et à la fin de chaque entrée d'ACL, et immédiatement avant et après un séparateur de champ.

Forme de texte long

   La forme de texte long contient une entrée d'ACL par ligne. En plus, un '#' peut commencer un commentaire qui s'étend jusqu'à la fin de la ligne. Si une entrée d'ACL ACL_USER, ACL_GROUP_OBJ ou ACL_GROUP contient des permissions qui ne sont pas contenus dans ACL_MASK, l'entrée est suivie par un '#', la chaîne 'effective', et les permissions d'accès effectif définis par cette entrée.

Exemple:
user::rw-
user:lisa:rw- #effective:r--
group::r--
group:toolies:rw- #effective:r--
mask::r--
other::r--

Forme de texte court

   La forme de texte court est une séquence d'entrées d'ACL séparés par des virgules, et est utilisant comme entrée. Les commantaires ne sont pas supportés. Les mots clé de type de tag d'entrée peuvent apparaître soit sous le forme complète, soit sous forme d'une seule lettre. Les abréviations sont pour user (u), group (g), mask (m) et other (o). Les permission peuvent contenir au moins un caractère de chaque dans n'importe quel ordre.

Exemple:
u::rw-,u:lisa:rw-,g::r--,g:toolies:rw-,m::r--,o::r--
g:toolies:rw,u:lisa:rw,u::wr,g::r,o::r,m::r

   Dans les systèmes qui supportent les ACL, les utilitaires de fichier ls, cp et mv changent leur comportement de la manière suivante:

- Pour les fichier qui ont une ACL par défaut ou une ACL d'accès qui contient plus que les 3 entrées requise, ls -l affiche un signe + après la chaîne de permissions.
- Si le flag -p est spécifié, l'utilisataire cp préserve également les ACL. Si ce n'est pas possible, une alerte est produite.
- mv préserve toujours les ACL. Si ce n'est pas possible, une alerte est produite.
^
29 août 2015

htmlpdflatexmanmd




getfacl

getfacl

Récupère les listes de contrôle d'accès des fichiers

   Pour chaque fichier, getfacl affiche le nom du fichier, propriétaire, groupe propriétaire, et l'ACL. Si un répertoire a une ACL par défaut, getfacl affiche également l'ACL par défaut.

   Si getfacl est utilisé dans un système de fichier qui ne supporte pas les ACL, getfacl affiche les permissions d'accès définis par les bits de permissions traditionnels.

   Le format de sortie de getfacl est comme suit:

1: # file: somedir/
2: # owner: lisa
3: # group: staff
4: # flags: -s-
5: user::rwx
6: user:joe:rwx #effective:r-x
7: group::rwx #effective:r-x
8: group:cool:r-x
9: mask::r-x
10: other::r-x
11: default:user::rwx
12: default:user:joe:rwx #effective:r-x
13: default:group::r-x
14: default:mask::r-x
15: default:other::---

   Les lignes 1--3 indiquent le nom du fichier, propriétaire, et groupe propriétaire.

   La ligne 4 indique les bits de mode spéciaux.

   Les lignes 5, 7 et 10 correspondent au champs user, group et other des bits de permission de fichier. Ce sont les entrées d'ACL de base.

   Les lignes 6 et 8 sont les utilisateurs et groupes nommés.

   La ligne 9 est le masque de droits effectifs

   Les lignes 11--15 affichent l'ACL par défaut associée avec ce répertoire.

OPTIONS

-a, --access Affiche la liste de contrôle d'accès du fichier
-d, --default Affiche l'ACL par défaut
-c, --omit-header N'affiche pas la ligne d'en-tête
-e, --all-effective Affiche les commentaires de droits effectifs
-E, --no-effective N'affiche pas les commentaires de droits effectifs
-s, --skip-base Saute les fichiers qui ont seulement les entrées d'ACL de base
-R, --recursive Liste les ACL de tous les fichiers et répertoire récursivement
-L, --logical Mode logique, traverse les liens symboliques. Seulement avec -R
-P, --physical Mode physique, ne traverse pas les liens symboliques. Seulement avec -R
-t, --tabular Utilise un format de sortie alternatif.
p, --absolute-names N'enlève pas le dernier '/'.
-n, --numeric Liste les UID,GID
-- Fin des arguments de la ligne de commande
Si un paramètre est un '-', lis depuis l'entrée standard
^
05 décembre 2016

htmlpdflatexmanmd




nfs4_acl

nfs4_acl

Listes de contrôle d'accès NFSv4

Le format de sortie pour une ACL NFSv4 est:
A::OWNER@:rwatTnNcCy
A::alice@nfsdomain.org:rxtncy
A::bob@nfsdomain.org:rwadtTnNcCy
A:g:GROUP@:rtncy
D:g:GROUP@:waxTC
A::EVERYONE@:rtncy
D::EVERYONE@:waxTC

Format d'ACL

   une ACL NFSv4 est écrite comme une acl_spec, consistant d'une ou plusieurs ace_specs. Une simple ACE NFSv4 est une ace_spec de 4 champs sous la forme: type:flags:principal:permissions

Types d'ACE

A Allow - autorise un principal à effectuer les actions
D Deny - Empêche le principal d'effectuer des actions
U Audit - Log toute tentative d'accès par un principal nécessitant les permissions.
L Alarm - génère une alarme système à une tentative d'accès

Flags d'ACE

   Il y a 3 types de flags: groupe, héritage et administration. Noter que les ACE sont hérités de l'ACL du répertoire parent à leur création.

Flags de groupe

        g groupe -indique que le principal représente un groupe

Flags d'héritage

        d Les sous-répertoires créés héritent de l'ACE
        f Les fichier créé héritent de l'ACE, sans les flags d'héritage.
        n Les sous-répertoires créé héritent de l'ACE, sans les flags d'héritage
        i L'ACE n'est pas considérée dans les vérifications de permissions, mais sont héritables; cependant, ce flag est supprimé des ACE héritées

Flags d'administration

        S Déclenche une alarm/audit quand le principal est autorisé à effectuer une action couverte par les permissions
        F Déclenche une alarm/audit quand le principal n'est pas autorisé à effectuer une action couverte par les permissions

Principaux d'ACE

   Un principal est soit un utilisateur nommé, soit un groupe, ou un des 3 principaux spéciaux: OWNER@, GROUP@, et EVERYONE@, qui représentent les distinctions POSIX.

Permissions d'ACE

r fichier: lire les données / répertoire: lister le contenu
w fichier: écrire des données / répertoire: Créer des fichiers
a fichier: Ajouter des données / répertoire: Créer des sous-répertoires
x fichier: Exécuter / répertoires: Changer de répertoire
d Supprime le fichier/répertoire.
D répertoire: supprimer les fichiers et sous-répertoires.
t Lire les attributs du fichier/répertoire
T Changer les attributs du fichier/répertoire
n Lire les attributs nommés du fichier/répertoire
N Changer les attributs nommés du fichier/répertoire
c Lire les ACL
C Changer les ACL
o Changer le propriétaire du fichier/répertoire
y Autorise les clients à utiliser les E/S synchrones avec le serveur.

Flags d'héritage

   Les flags d'héritage peuvent être divisés en 2 catégories: primaire (héritage fichier/répertoire) et secondaires (pas de propagation d'héritage et héritage uniquement), qui sont seulement significatifs dans la mesure où ils affectent les 2 flags primaires.

   Les flags no-propagate-inherit et inherit-only peuvent être difficiles à retenir: le premier détermine si l'ACE hérité d'un nouveau répertoire enfant est lui-même héritable; le second détermine si une ACE héritable affecte le répertoire parent (en plus d'être héritable). Ils peuvent être utilisés en tandem.

   Quand un sous-répertoire hérite d'une ACE de l'ACL du répertoire parent, cela peut être fait de 2 manières différentes dépendant de l'implémentation du serveur:

        - Dans le premier cas, la même ACE est définis dans l'ACL du sous-répertoire
        - Dans le second cas, 2 ACE différentes sont définis dans l'ACL du sous-répertoire: un avec tous les flags d'héritage enlevés, et un avec le flag inherit-only. Cette approche simplifie la modification des droits d'accès aux sous-répertoire lui-même sans modifier les ACE héritables.

Accès refusés

   les ACE deny devraient être évités autant que possible, cela augmente la confusion et la complexité. L'ordre des ACE est importante, et en dépit de l'ambiguïté de la rfc3530, les permissions non explicitement autorisées sont refusées.
^
05 décembre 2016

htmlpdflatexmanmd




nfs4_getfacl

nfs4_getfacl

Obtenir les listes de contrôle d'accès sur un système de fichier NFS monté

   nfs4_getfacl permet d'afficher la liste de contrôles d'accès d'un fichier ou répertoire dans un système de fichier NFSv4 monté et supportant le contrôle d'accès.

^
05 décembre 2016

htmlpdflatexmanmd




nfs4_setfacl

nfs4_setfacl, nfs4_editfacl

Manipuler les ACL NFSv4

Commandes

-a acl_spec [index] ajoute les ACE depuis acl_spec à l'ACL du fichier. Les ACE sont ajoutées à l'index donné. Défaut: 1
-A acl_file [index] ajoute les ACE depuis le fichier acl_file à l'ACL du fichier. Les ACE sont insérées à l'index donné. Défaut: 1
-x acl_spec | index supprime les ACE correspondantes à acl_spec, ou à l'index donné.
-X acl_file Supprime les ACE correspondantes à acl_spec dans le fichier acl_file.
-s acl_spec Définis l'ACL du fichier à acl_spec
-S acl_file Définis l'ACL du fichier à acl_spec du acl_file
-e, --edit Édite l'ACL du fichier dans l'éditeur définis par la variable d'environnement EDITOR, et définis l'ACL résultante en quittant l'éditeur
-m from_ace to_ace Modifie l'ACL du fichier en remplaçant from_ace avec to_ace

Notes

   Si '-' est donné avec -A -X ou -S, lit acl_spec depuis stdin

OPTIONS

-R, --recursive Applique les changement récursivement
-L, --logical Avec -R, suit les liens symboliques
-P, --physical Avec -R, ne suit pas les liens
--test Affiche le résultat au lieu de modifier effectivement l'ACL

Alias de permissions

   "read"(R), "write"(W) et "execute"(X) peuvent être utilisés pour définir les permissions. R vaut "rntcy", W vaut "watTNcCy" et X "xtcy"

Exemples

Assumant l'ACL suivante du fichier foo:
A::OWNER@:rwatTnNcCy
D::OWNER@:x
A:g:GROUP@:rtncy
D:g:GROUP@:waxTC
A::EVERYONE@:rtncy
D::EVERYONE@:waxTC
Autoriser alice@nfsdomain.org les accès "read" et "execute"
nfs4_setfacl -a A::alice@nfsdomain.org:rxtncy foo
idem, en utilisant les alias
nfs4_setfacl -a A::alice@nfsdomain.org:RX foo
Éditer l'ACL
nfs4_setfacl -e foo
Définir l'ACL depuis l'ACL d'un fichier
nfs4_setfacl -S newacl.txt foo
Définir récursivement les ACL à tous les fichiers et sous-répertoires du répertoire courant sans suivre les liens
nfs4_setfacl -R -P -S newacl.txt *
Suprimer la première ACE et afficher le résultat sans les changer
nfs4_setfacl --test -x 1 foo
Supprimer les 2 dernières ACE
nfs4_setfacl -x "A::EVERYONE@rtncy, D::EVERYONE@:waxTC" foo
Modifier la 2ème ACE
nfs4_setfacl -m D::OWNER@:x D::OWNER@:xo foo
Définir les ACL de bar et frobaz à l'ACL de foo
nfs4_getfacl foo | nfs4_setfacl -S - bar frobaz
^
29 août 2015

htmlpdflatexmanmd




setfacl

setfacl

Définis les listes de contrôle d'accès des fichiers

   Cet utilitaire définis les ACL des fichiers et répertoires. Sur la ligne de commande, une séquence de commande est suivie par une séquence de fichiers (qui peut être suivis par une autre séquence de commandes, ...).

   Les options -m et -x s'attendent à une ACL sur la ligne de commande. Plusieurs entrées d'acl sont séparés par des ','. Les options -M et -X lisent une ACL depuis un fichier ou l'entrée standard.

   Les options --set et --set-file définissent l'ACL d'un fichier ou un répertoire. L'ACL précédente est remplacée. Les entrées d'ACL pour cette opération doivent inclure les permissions.

   Les options -m (--modify) et -M (--modify-file) modifient l'ACL d'un fichie ou répertoire. Les entrées d'ACL pour cette opération doivent inclure les permissions.

   les options -x (--remove) et -X (--remove-file) suppriment les entrée d'ACL. Ce n'est pas une erreur de supprimer une entrée qui n'existe pas. Seules les entrées d'ACL dans le champ perms sont acceptés, sauf si POSIXLY_CORRECT est définis.

   En lisant les fichiers avec les options -M et -X, setfacl accepte les productions de getfacl. Il y a plus d'une entrée d'ACL par ligne.

   Si setfacl est utilisé dans un système de fichier qui ne supporte pas les ACL, setfacl opère sur les bits de permission des fichiers. Si l'ACL ne contient pas tous les bits de permission, setfacl modifie les bits de permission pour refléter les ACL le plus proche possible, écrit un message sur stderr, et retourne avec un status supérieur à 0.

Permissions

   Le propriétaire du fichier et les processus capable de CAP_FOWNER ont le droit de modifier les ACL d'un fichier. C'est analogue aux permissions requises pour accéder au mode de fichier. (dans les système Linux, root est le seul utilisateur avec la capacité CAP_FOWNER)

OPTIONS

-b, --remove-all Supprime toutes les entrée d'ACL étendues. Les entrées d'ACL de base du propriétaire, groupe et autre sont conservés.
-k, --remove-default Supprime toutes les ACL par défaut.
-n, --no-mask Ne recalcule pas le masque de permissions effectives
--mask Recalcule le masque de permissions effectives, même si une entrée de mask a été explicitement donné.
-d, --default Toutes les opérations s'appliquent sur l'ACL par défaut. Les entrées d'ACL régulières dans le jeu d'entrée sont transformés en entrée d'ACL par défaut.
--restore-file Restaure un backup de permissions créé par getfacl -R ou similaire. Toutes les permissions de l'arborescence sont restaurés en utilisant ce mécanisme. Si l'entrée contient le propriétaire et le groupe, setfacl tente de restaurer le propriétaire et le groupe. Si l'entrée contient des flags (qui définissent le setuid, setgid, et sticky bits), setfacl définis ces 3 bits en fonction; sinon il est supprime.
--test Mode simulation. Liste les ACL résultantes.
-R, --recursive Applique les opérations à tous les fichiers et répertoires récursivement. Cette option ne peut pas être mixé avec --restore.
-L, --logical Mode logique, traverse les liens symboliques. Seulement avec -R. ne peut pas être utilisé avec --restore.
-P, --physical Mode physique, ne traverse pas les liens symboliques. Seulement avec -R. ne peut pas être utilisé avec --restore.
-- Fin des options de la ligne de commande
Si un paramètre est un '-', lis depuis l'entrée standard

Entrées d'ACL

   L'utilitaire setfacl reconnaît les formats d'entrée d'ACL suivantes (de blanc ont été inséré pour plus de clarté):

Permissions d'un utilisateur nommé. Permissions du propriétaire du fichier si l'uid est vide
[d[efault]:] [u[ser]:]uid [:perms]
Permissions du groupe nommé. Permissions du groupe propriétaire si gid est vide
[d[efault]:] g[roup]:gid [:perms]
Masque de droits effectifs
[d[efault]:] m[ask][:] [:perms]
Permissions pour les autres
[d[efault]:] o[ther][:] [:perms]

   Les espaces blanc entre les caractères de délimitation sont ignorés. Les entrée d'ACL propre incluant les permissions sont utilisées dans les opérations modify et set. (les options -m, -M, --set et --set-file). Les entrées sans le champ perms sont utilisé pour la suppression des entrées (options -x et -X).

   Pour uid et gid, vous pouvez spécifier soit un nom, soit un nombre.

   Le champ perms est une combinaison des caractères qui indiquent les permissions: read (r), write (w), execute (x). perms peut également être un chiffre octal.

Entrées créées automatiquement

   Initialement, les fichiers et répertoires ne contiennent que les 3 entrées d'ACL de base. Il y a certaines règles qui doivent être satisfaites pour une ACL soit valide:

- Les 3 entrées de base ne peuvent pas être supprimés.
- Quand une ACL contient des entrées d'utilisateurs nommés ou des groupes nommés, elle doit également contenir un masque de droits effectifs.
- Quand une ACL contient des entrées d'ACL par défaut, les 3 entrées de base doivent également exister.
- Quand une ACL par défaut contient des entrées user et group nommés, elle doit également contenir un masque de droits effectifs.

   Pour aider l'utilisateur à s'assurer de ses règles, setfacl créé des entrées des entrées existantes sous certaines conditions.

- Si une ACL contient des entrées user et group nommés, et qu'aucun mask n'existe, une entrée mask contient les même permission que l'entrée group créé. Sauf si -n est donné, les permission de l'entrée mask sont ensuite ajustés pour inclure l'union de toutes les permissions affectées par l'entrée de mask.
- Si une ACL par défaut est créé, et qu'elle ne contient pas de propriétaire, groupe, ou other, une copie de l'ACL sont ajoutés à l'ACL par défaut.
- Si une ACL par défaut contient des entrées utilisateur ou groupes nommés, et qu'aucun mask n'existe, une entrée mask contenant les même permissions que que l'entrée de groupe de l'ACL par défaut est ajouté. Sauf si -n est donné, les permission de l'entrée mask sont ensuite ajustés pour inclure l'union de toutes les permissions affectées par l'entrée de mask.

Exemples

Ajouter un droit de lecture à un utilisateur
setfacl -m u:lisa:r file
révoquer l'accès en écriture à tous les groupes et tous les utilisateurs nommés en utilisant le masque de droits effectifs
setfacs -m m::rx file
Supprimer une entrée de groupe nommé de l'ACL du fichier
setfacl -x g:staff file
Copier l'ACL d'un fichier dans un autre
getfacl file1 | setfacl --set-file=- file2
copier l'ACL d'accès dans l'ACL par défaut
getfacl --access dir | serfacl -d -M- dir