← retour aux snippets

setfacl/getfacl: donner accès sans changer l'owner

Gérer des ACL POSIX pour accorder à un utilisateur/groupe des permissions fines.

bash filesystem #setfacl#getfacl#acl

objectif

Autoriser un utilisateur à lire/écrire un dossier sans modifier owner/groupe ni tout casser.

code minimal

# accorder rwx à user 'deploy' sur /srv/www
setfacl -m u:deploy:rwx /srv/www

utilisation

# définir une ACL par défaut pour les nouveaux fichiers
setfacl -d -m u:deploy:rwx /srv/www

# lister les ACL
getfacl /srv/www

variante(s) utile(s)

# retirer une ACL
setfacl -x u:deploy /srv/www

# accorder à un groupe
setfacl -m g:editor:rwX -R /srv/content

notes

  • -d définit des ACL par défaut (héritées) pour les nouveaux fichiers.
  • attention au masque (mask) qui peut restreindre l’effet des ACL.