Droits d’écriture par listes de contrôle d’accès (ACL)

linux

Si vous hébergez plusieurs sites web sur un seul et même serveur dédié, vous avez probablement dû être confrontés à ce problème :
Apache ne peut écrire dans un répertoire utilisateur (sauf permissions folkloriques 777 ou lancer le démon httpd en root:root…)

Pour cela, on va utiliser ce qu’on appelle les ACL, les listes de contrôle d’accès.

Avec votre gestionnaire de package préféré, installer les utilitaires fournis par le paquet « acl »

aptitude install acl

Remontez la partition que vous souhaitez contrôler avec les ACL, avec l’option adéquate :

mount -o remount,acl /home

Dans le fstab, rajouter l’option ‘acl’ au point de montage
Par exemple :

cat /etc/fstab
/dev/sdb    /home    ext3    defaults,acl        0       2

Pour finir, appliquez les ACL sur le ou les répertoires concernés !

setfacl -R -m u:sn4ky:rwX,u:www-data:rwX,d:u:sn4ky:rwX,d:u:www-data:rwX,g::r-X,o::r-X,d:g::r-X,d:o::r-X,m::rwX,d:m::rwX /home/sn4ky/public_html/blog/wp-content/

Explications :

  • setfacl : le programme (installé avec acl)
  • -R : récursif
  • -m : modifier (ou créer) une ACL
  • u:sn4ky:rwx : défini que l’utilisateur sn4ky (moi) a les droits rwx sur les fichiers et dossiers existants
  • u:www-data:rwx : défini que l’utilisateur www-data (Apache) a les droits rwx sur les fichiers et dossiers existants
  • d:sn4ky:rwx : défini les droits rwx sur tout fichier ou dossier nouvellement créé après la mise en place de l’ACL (default)
  • d:www-data:rwx : idem
  • m::rwx : masque a appliquer sur tous fichiers et dossiers courants
  • d:m::rwX : masque a appliquer pour toute future création de fichiers ou de dossiers
  • g::—,o::— respectivement pour group et other

n.b. : le flag X indique : excécution uniquement si l’objet est un répertoire ou s’il y a déjà les droits d’exécution pour d’autre utilisateurs (manpage : execute only if the file is a directory or already has execute permission for some user)

You can leave a response, or trackback from your own site.

Leave a Reply