É suficiente ver getfacl
que não há erro ou preciso verificar algum outro local para ver se as ACLs são ou não suportadas pelos sistemas de arquivos?
fonte
É suficiente ver getfacl
que não há erro ou preciso verificar algum outro local para ver se as ACLs são ou não suportadas pelos sistemas de arquivos?
Se você está falando de um sistema de arquivos montado, não conheço nenhuma maneira intrínseca de saber se a ACL é possível. Observe que "o ACL é suportado?" não é uma pergunta muito precisa, pois existem vários tipos de ACL (Solaris / Linux / não POSIX-afinal, NFSv4, OSX,…). Observe que isso getfacl
é inútil como teste, pois ele informará com prazer as permissões do Unix, se houver: você precisa tentar configurar uma ACL para testar.
Ainda no sistema de arquivos montado, é possível verificar a presença acl
nas opções de montagem (nas quais você pode encontrar /proc/mount
). Note que isso não é suficiente: você também precisa levar em consideração 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 têm ACL, a menos que sejam explicitamente excluídos; este é o caso do ext4 desde o kernel 2.6.39 .
getfacl
teste, você está certo. Exceto se eu fosse capaz de encontrar uma ACL não padrão (suprimindo as padrão e o cabeçalho). A verificação/proc/mount
não parece ser suficiente nos casos em que aacl
opção é uma opção padrão que não vem do comando mount oufstab
, no entanto.acltype=posixacl
o/proc/mounts
show será exibidoposixacl
, mas em outro sistema com apenas ext4, não há nada dentro/proc/mounts
, masacl
era uma opção de montagem padrão para o ext4.Para saber se a ACL está disponível, você pode:
Verifique a versão atual do kernel e o sistema de arquivos:
uname -r
df -T
oumount | grep root
A distribuição recente tem a opção de montagem da 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 dos sistemas de arquivos em questão: ext3, ext4, tmpfs, xfs e zfs.
Se você tiver uma configuração mais antiga, poderá ser necessário recompilar o kernel e / ou adicionar o acl
/etc/fstab
.exemplo fstab:
/dev/root / ext4 acl,errors=remount-ro 0 1
Procure as configurações existentes da ACL (o local de configuração "usual" é ativado / inicializado):
sudo mount | grep -i acl #optionnal
cat /boot/config* | grep _ACL
Dependendo do sistema, você pode encontrar as configurações
/proc
. Aqui está uma maneira de extrair a configuração do arquivo .gz e, em seguida, procurar as 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
fonte
O acl deve ser ativado como padrão se você estiver usando ext2 / 3/4 ou btrfs.
Verificar com:
tune2fs -l /dev/sdXY | grep "Default mount options:"
Se não estiver na saída, faça um:
tune2fs -o acl /dev/sdXY
fonte
root
, durante a execuçãogetfacl
não. Não existe uma opção melhor para procurar suporte?grep acl /etc/mke2fs.conf
vai fazer isso também.