permissões de arquivos unix: bit de execução.
8, February, 2009
Permissões de arquivos as vezes geram duvidas quanto sua correta aplicacao. Isso ocorre pelo não entendimento de alguns detalhes importantes do sistema de permissões de arquivos.
gafanhoto@backup:~$ ls -l
-rwxr----- 1 gafanhoto estagiarios 0 2008-05-04 23:42 arquivoprivado
gafanhoto@backup:~$
gafanhoto@backup:~$ cat arquivoprivado
#!/bin/bash
echo "$0 foi executado"
gafanhoto@backup:~$
Geralmente as permissões de “arquivoprivado” são lidas da seguinte forma:
1 – O usuario gafanhoto tem permissoes de leitura, escrita e execucao deste arquivo.
2 – Os usuarios do grupo “estagiarios” só tem permissão de leitura e nao pode modificar ou executar este arquivo.
3 – Os demais usuarios não tem qualquer permissão sobre o arquivo. Não podem lê-lo, escrevê-lo, apaga-lo ou executa-lo.
Correto? Não, ERRADO!!!
Os “estagiarios” podem executar este arquivo pois o bit de execução do arquivo diz respeito à sua capacidade de execucao direta (vide shebang).
barata@backup:/home/gafanhoto$ ./arquivoprivado
-sh: ./arquivoprivado: Permission denied
barata@backup:/home/gafanhoto$
barata@backup:/home/gafanhoto$ /bin/bash arquivoprivado
arquivoprivado foi executado
barata@backup:/home/gafanhoto$