Les ACL UFS
De Diablotins.org.
| Les ACL UFS
|
| ||
|
UFS est le système de fichier livré en standard de FreeBSD, il est actuellement en version 2 sur la branche 5 et intègre le mécanisme de journalisation Softupdates ainsi qu'une gestion plus fine des droits d'accès aux fichiers, conforme à la norme POSIX : ACL. Attention : cette astuces n'est valable que pour la branche 5 de FreeBSD. |
Présentation
Les ACL, au même titre qu'une des autres innovations de la branche 5, “MAC” (Mandatory Access Control), est conforme à la norme POSIX.
Ce mécanisme offrent une granularité plus importante sur l'accession à une ressource du système de fichier,
que ne le permet le système historique;
on peut par exemple donner des crédits particulier à un ou plusieurs utilisateurs, - soit un ensemble d'utilisateurs -, sans avoir à multiplier les groupes d'utilisateurs.
Configuration
Ce mécanisme est intégré au noyau et au noyau “GENERIC” depuis les dernières branches.
Toutefois, vérifiez que l'option est bien présente dans votre noyau:
[...] options UFS_ACL [...]
Modifez /etc/fstab pour autoriser les ACLs sur vos partitions, en précisant sur leur entrée l'option «acls»:
[...] / /dev/ad0s1a / ufs rw,acls 1 1 [...]
Redémarrer votre machine et vérifiez que les ACLs sont validées sur vos partitions:
# mount / /dev/ad0s1a on / (ufs, local, acls)
Manipuler
Deux outils vont vous permettre d'utiliser le mécanisme des ACL, setfacl(1) et getfacl(1).
- Modifier les crédits:
setfacl -m <sequence> <fichier> ajout/modifie une entrée setfacl -x <sequence> <fichier> supprime une entrée setfacl -M fichier1 fichier2 copie les entrées setfacl -d <-m ...> séquence par défaut, sur un répertoire
La séquence définit des utilisateurs ( u ) et/ou des groupes ( g ) associés à des crédits, ( read,write, execute ):
-m u:david:rwx l'utilisateur david a tous les crédits -g:wheel:r-x le groupe wheel a le droit de lire et d'éxécuter. -m u::rwx sans précision, il s'agit de l'utilisateur propriétaire du fichier -m g::r-- sans précision, il s'agit du groupe propriétaire du fichier
- Contrôler:
getfacl fichier
- rapidement avec ls
$ ls -al titi -rwxrw-r--+ 1 root users 0 Aug 5 12:09 titi
- Notez qu'un fichier associé à des crédits ACLs précise le symbole «+» à la suite des crédits classiques.
Exemples,
dans l'espace de nolwenn, du groupe kde, actuellement propriétaire de tous les fichiers:
$ touch titi $ touch tutu $ setfacl -m u::rwx,g:mail:rw titi
Donne tous les crédits au propriétaire du fichier et des crédits de lecture et d'écriture aux membres du groupe «mail».
$ setfacl -M titi tutu $ getfacl titi | setfacl -b -n -M - tutu
copie les crédits ACLs de «titi» sur «tutu».
$ setfacl -x g:mail:rw tutu
Supprime tout crédit de lecture et d'écriture aux membres du groupe «mail» sur «tutu».
$ getfacl titi #file:titi #owner:nolwenn #group:kde user::rwx group::r-- group:mail:rw- mask::rw- other::r--
$ getfacl tutu #file:tutu #owner:nolwenn #group:kde user::rwx group::r-- mask::rw- other::r--
$ setfacl -bn titi $ setfacl -bn tutu
...supprime toutes les crédits ACLs.
Jusqu'ici, aucun avantage au système historique n'est apparent, mais:
$ setfacl -m u:david:rwx titi
puis:
$ getfacl -q titi user::rwx user:david:rwx group::r- group:mail:rw- mask::rw- other::r--
Désormais, un autre utilisateur,«david», qui n'est pas membre du groupe de nolwenn, kde, a les crédits d'écritures sur le fichier.
$ setfacl -m g:cdrom:rwx titi $ getfacl -q titi user::rwx user:david:rwx group::r- group:mail:rw- group:cdrom:rw- mask::rw- other::r--
Désormais, un troisième groupe a des crédits de lecture et d'écriture sur le fichier, alors que le groupe dont nolwenn est membre ne les a pas...

