getfacl diz que minha conta sem privilégios deve ser capaz de ler o conteúdo de um diretório, mas não pode

2

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?

    
por Stilez 10.05.2018 / 17:59

1 resposta

0

Agora explorado e reproduzível, arquivado como um bug na avaliação do FreeBSD ACL:

link

    
por 27.05.2018 / 12:23