Les ACL

Voir la vidéo

Les ACL (Access Control List) permettent une gestion avancée et plus flexible des permissions du système de fichier. Elles permettent notamment de donner des permissions spécifiques à un utilisateur ou à un groupe particulier.

Vérification du système

Avant de commencer, il vous faut vérifier si votre partition supporte la gestion des ACL. Vous pouvez lister les partitions à l'aide de la commande

df -T

Une fois que vous avez identifier la partition qui vous intérèsse vous pouvez vérifier le support des ACL à l'aide de tune2fs.

tune2fs -l /dev/vda | grep acl

Pensez à remplacer /dev/vda par le chemin de votre partition.

Principe de base

Les ACL vous permettent de rajouter des permissions spécifiques à l'aide de la commande setfacl et du drapeau -m.

setfacl -m u:johndoe:rx var/cache

Vous pouvez aussi ajouter des permissions à un groupe.

setfacl -m g:www-data:r htdocs

Il est aussi possible de permettre aux nouveaux sous-dossiers et fichiers d'hériter des permissions à l'aide du drapeau -d

setfacl -dm u:johndoe:rx var/cache

Vous pouvez voir si un dossier appartient à un ACL lors du listing "classique"

> ls -l
total 4
drwxrwx---+ 13 demo demo 4096 May 24 12:01 htdocs

Le + après les permissions unix indique la présence des ACL. Vous pouvez obtenir plus de détails à l'aide de la commande getfacl

getfacl htdocs

Vous pouvez ensuite supprimer les permissions de manière globales.

setfacl -b var/cache

Ou spécifiquement pour un utilisateur ou groupe particulier

setfacl -x u:johndoe var/cache

Dans quel situation ?

Ce système n'est pas un remplacement du système de permission UNIX présent par défaut mais permet de résoudre les problématiques liées à des dossiers partagées entre plusieurs utilisateurs. Il peut s'avérer pratique si vous souhaitez par exemple donner l'accès à un utilisateur aux fichiers générés par votre serveur web par exemple.

Publié
Technologies utilisées
Auteur :
Grafikart
Partager