Como sei que as ACLs são suportadas no meu sistema de arquivos?

9

É o suficiente para ver getfacl não dando erro, ou eu tenho que verificar algum outro lugar para ver se as ACLs são ou não suportadas pelos sistemas de arquivos?

    
por 0xC0000022L 30.12.2014 / 20:20

3 respostas

6

Se você está falando sobre um sistema de arquivos montado, não conheço nenhuma maneira intrínseca de saber se a ACL é possível. Note que “o ACL é suportado?” Não é uma questão muito precisa já que existem vários tipos de ACL ao redor (Solaris / Linux / não-POSIX-after-all, NFSv4, OSX,…). Observe que getfacl é inútil como teste, já que ele relatará alegremente as permissões do Unix se isso for o suficiente: você precisa tentar configurar uma ACL para testar.

Ainda no sistema de arquivos montado, você pode verificar a presença de acl nas opções de montagem (que você pode encontrar em /proc/mount ). Note que isto não é suficiente: você também precisa considerar a versão do kernel e o tipo de sistema de arquivos. Alguns tipos de sistema de arquivos sempre têm ACL disponível, independentemente das opções de montagem; este é o caso de tmpfs, xfs e zfs. Alguns sistemas de arquivos possuem ACL, a menos que explicitamente excluídos; este é o caso do ext4 desde o kernel 2.6.39 .

    
por 31.12.2014 / 01:19
3

Para saber se a ACL está disponível, você pode:

  1. Verifique a versão atual do kernel e o sistema de arquivos: uname -r df -T ou mount | grep root

    A distro recente tem a opção de montagem ACL incluída por padrão (desde o kernel 2.6). Portanto, não é obrigatório redefini-lo em / etc / fstab (ou similar). Lista não exaustiva de sistemas de arquivos envolvidos: ext3, ext4, tmpfs, xfs e zfs.

    Se você tem configuração mais antiga, pode ser necessário recompilar o kernel e / ou adicionar acl em /etc/fstab .
    exemplo fstab: /dev/root / ext4 acl,errors=remount-ro 0 1

  2. Procure por configurações de ACL existentes (o local de configuração "usual" está em / boot): sudo mount | grep -i acl #optionnal cat /boot/config* | grep _ACL

    Dependendo do sistema, você pode encontrar as configurações em /proc . Aqui está uma maneira de extrair a configuração do arquivo .gz e, em seguida, procurar por configurações de acl: cat /proc/config.gz | gunzip > running.config && grep -i 'acl' running.config cat running.config | grep _ACL

    Você deve ver algo como: CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_XFS_POSIX_ACL=y

    Para o sistema de arquivos, você pode tentar obter mais informações com: sudo tune2fs -l /xxx/xxx| grep 'Default mount options:'
    (substitua xxx / xxx pelo seu sistema de arquivos)

-
Informações úteis podem ser encontradas em:
- superuser.com ,
- serverfault ,
- bencane.com ,
- wiki.archlinux.org

    
por 29.10.2015 / 14:13
0

O acl deve estar ativado como padrão se você estiver usando ext2 / 3/4 ou btrfs.

Verifique com:

tune2fs -l /dev/sdXY | grep "Default mount options:"

Se não estiver na saída, faça um:

tune2fs -o acl /dev/sdXY

    
por 30.12.2014 / 20:47