Comment savoir si les ACL sont prises en charge sur mon système de fichiers?

13

Est-ce suffisant de voir getfaclne 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?

0xC0000022L
la source

Réponses:

8

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 getfaclest 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 acldans 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 .

Gilles 'SO- arrête d'être méchant'
la source
quant au getfacltest 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/mountne semble pas être suffisante dans les cas où l' acloption est une option par défaut ne provenant pas de la commande mount ou fstab, cependant.
0xC0000022L
J'ai remarqué lors de l'exécution de ZFS sur Linux, avec acltype=posixacl, le /proc/mountsmontrera posixacl, mais dans un autre système avec juste ext4, il n'y a rien à l'intérieur /proc/mounts, mais aclc'était une option de montage par défaut pour ext4.
CMCDragonkai
4

Pour savoir si ACL est disponible, vous pouvez:

  1. Vérifiez la version actuelle du noyau et le système de fichiers:
    uname -r
    df -Tou 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

  2. 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 /procplace. 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

xaa
la source
1

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

Tentacules de Cthulhu
la source
grep acl /etc/mke2fs.confle fera aussi.
Cthulhu Tentacles du