Agora explorado e reproduzível, arquivado como um bug na avaliação do FreeBSD ACL:
Provavelmente estou sentindo falta de algo óbvio ... mas não consigo ver.
Eu tenho um diretório comum no FreeBSD, controlado por ACLs do NFSv4. As ACLs dizem que posso listar seu conteúdo; mas eu não posso.
Aqui está a saída getfacl
no diretório do problema e seu pai + avô:
# getfacl /mnt/data_dir/working_dir/
# owner: root
# group: wheel
group:data_managers:-w-pDd--------:-------:deny
everyone@:r-------------:-------:allow
group:data_managers:rwxpDda-R-c---:fd-----:allow
owner@:--------------:fd-----:allow
group@:--------------:fd-----:allow
everyone@:--x-----------:-d-----:allow
# file: /mnt/data_dir
# owner: root
# group: wheel
owner@:rwxpDdaARWcCos:fd-----:allow
group@:rwxpDdaARWcCos:fd-----:allow
everyone@:r-x---a-R-c---:fd-----:allow
# file: /mnt
# owner: root
# group: wheel
user::rwx
group::r-x
other::r-x
Eu su
como a conta recém-criada com o problema da ACL. Essa conta não é a proprietária de nenhum diretório relevante nem um membro de wheel
ou data_managers
, portanto, seus únicos direitos derivam das permissões / ACLs "everyone (world)".
$ su -f restricted_user
% id
uid=1100(restricted_user) gid=65533(nogroup) groups=65533(nogroup),4003(restricted_users)
% pwd
/mnt/data_dir/working_dir
% ls
ls: .: Permission denied
Eu não entendi. A permissão mundial nesse diretório é everyone@:r .....
(herança para baixo para subdiretórios para "x" mas não "r"). r
deve dar direitos mundiais para ler o conteúdo de working_dir
. Não é membro de data_managers
e, se foi, negar que a ACE não esteja negando r
ou x
. Eu posso atravessar isso. Mas não consigo ler seu conteúdo.
O que eu perdi?
Agora explorado e reproduzível, arquivado como um bug na avaliação do FreeBSD ACL:
Tags permissions acl shell freebsd