Est-ce suffisant de voir getfacl
ne donner aucune erreur, ou dois-je vérifier un autre endroit pour voir si les ACL sont prises en charge par les systèmes de fichiers?
Est-ce suffisant de voir getfacl
ne donner aucune erreur, ou dois-je vérifier un autre endroit pour voir si les ACL sont prises en charge par les systèmes de fichiers?
Réponses:
Si vous parlez d'un système de fichiers monté, je ne connais aucun moyen intrinsèque de dire si les ACL sont possibles. Notez que «ACL est-il pris en charge?» n'est pas une question très précise car il existe plusieurs types d'ACL (Solaris / Linux / not-POSIX-after-all, NFSv4, OSX,…). Notez que cela getfacl
est inutile en tant que test car il rapportera volontiers les autorisations Unix si c'est tout: vous devez essayer de définir une ACL à tester.
Toujours sur le système de fichiers monté, vous pouvez vérifier la présence de acl
dans les options de montage (que vous pouvez trouver dans /proc/mount
). Notez que cela ne suffit pas: vous devez également prendre en compte la version du noyau et le type de système de fichiers. Certains types de systèmes de fichiers disposent toujours d'ACL, quelles que soient les options de montage; c'est le cas pour tmpfs, xfs et zfs. Certains systèmes de fichiers ont des ACL sauf si explicitement exclus; c'est le cas pour ext4 depuis le noyau 2.6.39 .
acltype=posixacl
, le /proc/mounts
montrera posixacl
, mais dans un autre système avec juste ext4, il n'y a rien à l'intérieur /proc/mounts
, mais acl
c'était une option de montage par défaut pour ext4.
Pour savoir si ACL est disponible, vous pouvez:
Vérifiez la version actuelle du noyau et le système de fichiers:
uname -r
df -T
ou mount | grep root
les distributions récentes ont l'option de montage ACL incluse par défaut (depuis le noyau 2.6). Il n'est donc pas obligatoire de le redéfinir dans / etc / fstab (ou similaire). Liste non exhaustive des systèmes de fichiers concernés: ext3, ext4, tmpfs, xfs et zfs.
Si vous avez une configuration plus ancienne, vous devrez peut-être recompiler le noyau et / ou ajouter acl dans /etc/fstab
.
exemple de fstab: /dev/root / ext4 acl,errors=remount-ro 0 1
Recherchez les paramètres ACL existants (l'emplacement de configuration "habituel" est sur / boot):
sudo mount | grep -i acl #optionnal
cat /boot/config* | grep _ACL
Selon le système, vous pouvez trouver les paramètres à la /proc
place. Voici un moyen d'extraire la configuration de l'archive .gz puis de rechercher les paramètres acl:
cat /proc/config.gz | gunzip > running.config && grep -i 'acl' running.config
cat running.config | grep _ACL
Vous devriez voir quelque chose comme:
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
Pour le système de fichiers, vous pouvez essayer d'obtenir plus d'informations avec:
sudo tune2fs -l /xxx/xxx| grep 'Default mount options:'
(remplacer xxx / xxx par votre système de fichiers)
-
Des informations utiles peuvent être trouvées sur:
- superuser.com ,
- serverfault ,
- bencane.com ,
- wiki.archlinux.org
acl doit être activé par défaut si vous utilisez ext2 / 3/4 ou btrfs.
Vérifier avec:
tune2fs -l /dev/sdXY | grep "Default mount options:"
Si ce n'est pas dans la sortie, faites:
tune2fs -o acl /dev/sdXY
grep acl /etc/mke2fs.conf
le fera aussi.
getfacl
test tu as raison. Sauf si j'ai pu trouver une ACL non par défaut (en supprimant celles par défaut et l'en-tête). La vérification/proc/mount
ne semble pas être suffisante dans les cas où l'acl
option est une option par défaut ne provenant pas de la commande mount oufstab
, cependant.