Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.2. Définir les ACL d'accès

Il existe deux types d'ACL : les ACL d'accès et les ACL par défaut. Une ACL d'accès est une liste de contrôle d'accès pour un fichier ou répertoire particulier. Une ACL par défaut peut uniquement être associée à un répertoire. Si un fichier dans le répertoire ne possède pas d'ACL d'accès, alors il utilise les règles de l'ACL par défaut du répertoire. Les ACL par défaut sont optionnelles.
Les ACL peuvent être configurées :
  1. Par utilisateur
  2. Par groupe
  3. Via le masque des droits en vigueur
  4. Pour les utilisateur ne se trouvant pas dans le groupe d'utilisateurs du fichier
L'utilitaire setfacl définit les ACL pour les fichiers et répertoires. Veuillez utiliser l'option -m pour ajouter ou modifier l'ACL d'un fichier ou répertoire :
# setfacl -m rules files
Des règles (rules) doivent être spécifiées sous les formats suivants. De multiples règles peuvent être spécifiées dans la même commande si celles-ci sont séparées par des virgules.
u:uid:perms
Définit l'ACL d'accès d'un utilisateur. Le nom d'utilisateur, ou UID, peut être spécifié. L'utilisateur peut être tout utilisateur valide sur le système.
g:gid:perms
Définit l'ACL d'accès d'un groupe. Le nom du groupe, ou GID, peut être spécifié. Le groupe peut être tout groupe valide sur le système.
m:perms
Définit le masque des permissions. Le masque est l'union de toutes les permissions du groupe propriétaire et des toutes les entrées d'utilisateur et de groupe.
o:perms
Définit l'ACL d'accès du fichier pour les utilisateurs ne faisant pas partie du groupe.
Les permissions (perms) doivent être une combinaison des caractères r, w et x pour lecture, écriture, et exécution.
Si un fichier ou répertoire possède déjà une ACL et que la commande setfacl est utilisée, les règles supplémentaires sont ajoutées à l'ACL existante ou la règle existante sera modifiée.

Exemple 4.1. Donner des permissions de lecture et écriture

Par exemple, pour donner les permissions de lecture et écriture à l'utilisateur andrius :
# setfacl -m u:andrius:rw /project/somefile
Pour supprimer toutes les permissions d'un utilisateur, d'un groupe, ou autres, veuillez utiliser l'option -x et ne spécifier aucune permission :
# setfacl -x rules files

Exemple 4.2. Supprimer toutes les permissions

Par exemple, pour supprimer toutes les permissions de l'utilisateur possédant l'UID 500 :
# setfacl -x u:500 /project/somefile