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.