ACL - concede acesso apenas para leitura, *não* para execução

ACL - concede acesso apenas para leitura, *não* para execução

Eu tenho um diretório chamado /test, existem dois arquivos:

info.txt
script.sh

Quero conceder acesso somente leitura ao usuário john e fiz o seguinte:

setfacl -m u:john: r test/

Com o comando acima John não consegue acessar a pasta porque não tem permissão de execução, então tentei novamente com isto:

setfacl -m u:john: rx test/

Ok, agora funciona: o usuário john consegue acessar a pasta e ler os arquivos.

No entanto, ele pode executar script.sh. Este último poder eu não pretendia conceder. Como devo proceder?

Responder1

Você poderia fazer chmod o-x test/script.sh, mas isso é inútil. O usuário poderia simplesmente copiar o arquivo para seu diretório inicial, torná-lo executável e executá-lo a partir daí. De qualquer forma, ele será executado com os privilégios do usuário, a menos que seja setuid. E os scripts de shell não podem ser setuid, mas copiar um arquivo setuid removerá o bit setuid da cópia de qualquer maneira.

informação relacionada