Obviamente, nem todas as combinações são úteis, mas para usar aquela que você mencionou especificamente ... Você realmente não precisa de read
permissão para executar um arquivo - somente execute
permission - a menos que o arquivo em questão é um script (por exemplo, um script shell ( .sh
), um script perl ( .pl
) e assim por diante). Binários normais podem ser executados com apenas a permissão execute
. Em * BSD-systmes, vários executáveis fornecem a permissão execute
sem read
permisson, especialmente em comandos "importantes para a segurança" - por exemplo, su
.
Então, por que não dar aos usuários read
-permission (e apenas execute
-permisson)? Como um arquivo que não pode ser lido por um usuário, não pode ser copiado por esse usuário também! A remoção da permissão read
impede que os usuários criem suas próprias cópias "pessoais" de executáveis, o que, posteriormente, podem abusar (por exemplo, obter SUID=root on
).
E não ter write
-permission, impede que um arquivo seja excluído acidentalmente.
Lembre-se de que não dar nem read
-nor write
-permissão para o proprietário é um pouco incomum, mas às vezes pode ser uma boa idéia impedir que até mesmo o owner
exclua apenas um arquivo. É claro que o owner
- para não mencionar root
- pode sempre contornar tais medidas, se não de outras maneiras, então simplesmente chmod
a permissão no arquivo.