setfacl capital X fazendo com que permissões executáveis indesejáveis sejam configuradas

0

Eu tenho tentado sem sucesso superar isso por semanas e não consegui (pelo menos não para minha satisfação). Estou usando setfacl para pré-autorizar um diretório para que grupos e usuários específicos continuem podendo acessá-lo de determinadas maneiras. O problema é que, embora setfacl -Rm user:me:rwX,default:user:me:rwX my-dir deixe arquivos indevidamente executáveis, ele os prepara para serem executados na próxima vez que setfacl for executado.

Veja como se reproduzir:

# First, make a clean testing directory with some stuff in it
mkdir -p test/{one,two}.d
touch test/{one,two}.md
touch test/{one,two}.d/{a,b}.md

# Then create a target, experimental directory (using sudo, so the
# permissions matter) and permission it
sudo mkdir targ

# Deny world
sudo setfacl -Rm other::---,default:other::--- targ

# Give yourself read and traversal by default
sudo -E setfacl -Rm user:$USER:rX,default:user:$USER:rX targ

# Now sudo-copy the test contents into the directory
sudo cp -R test/* targ/

O comportamento esperado é que os arquivos one.md e two.md devem ser legíveis por mim, mas não executáveis, e de fato esse é o caso. MAS, é apenas o caso porque eles estão temporariamente mascarados:

$ sudo getfacl targ/one.md
# file: targ/one.md
# owner: root
# group: root
user::rw-
user:me:r-x                   #effective:r--
group::r-x                      #effective:r--
mask::r--
other::---

Agora, se você tentar dar a si mesmo o acesso write além disso, após o fato, de repente todos os arquivos regulares se tornarão executáveis:

$ sudo -E setfacl -Rm user:$USER:rwX,default:user:$USER:rwX targ
$ sudo getfacl targ/one.md 
# file: targ/one.md
# owner: root
# group: root
user::rw-
user:kael:rwx
group::r-x
mask::rwx
other::---

Extremamente frustrante. Se alguém tiver alguma indicação sobre como fazer isso funcionar da maneira esperada, adoraria ouvi-los. (Nota: Usar o sinalizador -n para evitar recalcular a máscara simplesmente faz com que a nova permissão de gravação não entre em vigor.)

    
por kael 07.10.2018 / 23:39

0 respostas