Tutoriel Vidéo Unix Les ACL

Télécharger la vidéo

25-05-2018 12:00:00

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.