Copie des ACL (cp et mv)
Les commandes
cp et
mv sont capables de conserver les ACL. Il suffit de spécifier l'option
-a lors de l'utilisation de
cp .
mv le fait au-to-ma-ti-que-ment

. Bien entendu, le répertoire cible doit être situé sur une partition gérant les ACL
Un dernier point : quand un fichier possède une ACL et que vous faites un
ls -l, l'ACL ne peut être écrite en entier ; le signe + s'affiche pour signifier le présence de l'ACL :
-rw-rw----+
Monter les partitions avec l'option acl
Si vous lisez cette sous-partie, c'est que les commandes setfacl et getfacl n'ont pas fonctionné chez vous.
Ces manipulations doivent effectuées en tant qu'utilisateur root
Pour que vous puissiez utiliser les ACL, les partitions doivent êtres montées avec l'option correspondante...
Code : Console | # mount -t ext3 -o defaults,acl /dev/hda1/ /home |
... pour monter la partition 2 du premier disque, formatée en ext3 dans le répertoire /home
Vous pouvez remonter un partition déjà montée :
Code : Console | # mount -o remount,acl /home |
Si vous voulez que le volume soit monté automatiquement avec l'option acl, vous devez modifier le fichier
/etc/fstab
Code : Console
Vous devez rajouter
,acl dans la colonne "options" de la partition concernée :
Code : Console | /dev/sda1 / ext3 errors=remount-ro 0 1 |
devient chez moi :
Code : Console | /dev/sda1 / ext3 errors=remount-ro,acl 0 1 |
Voilà, ma partition principale sera automatiquement montée avec l'option acl au démarrage

Si vous avez une partition
/home séparée, vous devez bien entendu modifier sa ligne.
Il ne vous reste plus qu'à redémarrer ou remonter les partitions concernées comme vu précédemment
Exemple d'utilisation concret
Voici un exemple d'utilisation des ACL, il est issu de ma propre utilisation de vos nouvelles meilleures amies
Si vous créez un serveur web grâce à
ce tuto, vous risquez d'avoir un petit problème de permissions.
En effet, votre machine ne possède que deux
vrais comptes utilisateur (le votre et le compte
root), si vous vous loggez en FTP, le serveur vsFTPd utilise l'uilisateur
www-data. Le compte
virtuel d'administration à accès à tout le répertoire
/home mais ne pourra pas entrer dans votre répertoire personnel car celui-ci appartient à votre compte utilisateur et non pas à
www-data
Pour palier ce problème, il suffit d'utiliser cette ACL :
Code : Console | setfacl -Rm d:u:www-data:rwx,d:u:op414:rwx,u:www-data:rwx,u:op414:rwx /home/op414 |
... dans le cas ou votre compte utilisateur est
op414
Le problème est résolu
PS: Il aurait également été possible de supprimer votre compte utilisateur (A NE SURTOUT PAS FAIRE SOUS UBUNTU ET DÉRIVÉS CAR IL EST IMPOSSIBLE DE SE LOGGER EN ROOT), mais le seul moyen de se connecter en SSH à votre serveur aurait été le compte
root, ce qui est dangereux car il vaut mieux empêcher la possibilité de se connecter en root via SSH pour limiter les dégâts en cas d'attaque. Il est donc préférable de garder un compte utilisateur standard
ACL et interface graphique
Sous Mac OS X
Sous Mac OS X, les ACL sont activées par défaut et paramétrables via l'interface graphique

Il suffit de sélectionner un dossier ou fichier puis d'afficher le panneau d'informations (pomme + i ou
cmd + i)
La section "Partage et Permissions" est celle qui nous intéresse. Le plus en bas à gauche permet d'ajouter une ACL pour un utilisateur, tandis que le moins permet de supprimer un utilisateur de la liste. L'icône d'engrenage permet d'appliquer l'ACL à tous les fichiers et dossier d'un répertoire. Si vous n'êtes pas le propriétaire du fichier ou dossier, un mot de passe administrateur vous serra demandé
Sous KDE (Dolphin)
Les ACL peuvent aussi être modifiées via l'interface graphique

Voilà comment faire sous KDE, muni de Dolphin, un explorateur de fichiers.
Allez dans les information du fichier, puis cliquez sur l'onglet «Droits d'accès» puis sur «Droits d'accès avancés». Vous pouvez ensuite ajouter des entrées, les modifier et les supprimer.