Função da permissão executar chmod

1. Função da permissão executar chmod

joao marcos
jmpedroso1984

(usa Outra)

Enviado em 11/12/2013 - 11:30h

procurei bastante na internet e não encontrei a real utilidade da permissão de execução do chmod por exemplo eu aplico o comando chmod 666 a um arquivo e mesmo assim consigo abri-lo, alguém poderia me explicar o que a permissão de não execução bloqueia, executar não seria o mesmo que abrir do documento? muito estranho isso. estou com dúvidas fiz uma prova ontem e teve uma questão para mim cabe recurso e queria saber melhor a permissão de execução.


  


2. Re: Função da permissão executar chmod

Bruno Rogério Fernandes
brunorf

(usa Arch Linux)

Enviado em 11/12/2013 - 12:28h

A permissão de execução se refere a você poder executar o arquivo. Isso faz sentido quando o arquivo é um binário ou um script (python,bash,perl,etc.). Daí você consegue de fato executar o código que está nele.

O fato de você conseguir abrir um arquivo significa que você tem permissões de leitura sobre esse arquivo, nada mais.

Caso as permissões sejam aplicadas a diretórios, a coisa muda um pouquinho. A permissão de execução se refere a você poder navegar nesses diretórios (entrar neles com o comando cd, por exemplo)


Além disso, o comando chmod 666 que você mencionou, você não vai adicionar permissão de execução a um arquivo, mas sim permissões de leitura e gravação para todos os usuários do sistema.

Para permitir a execução, você teria que fazer algo como chmod 500 para o arquivo, assim você daria permissão para seu próprio usuário para ler e executar um arquivo, e mais ninguém poderia também fazê-lo.

Veja, o chmod funciona mais ou menos da sequinte forma
chmod [U][G][O] arquivo/diretorio
O U é a permissão que o dono do arquivo/diretório terá
O G é o grupo
e o O são os outros usuários, que não são donos e nem pertencem ao grupo dono do arquivo/diretório


Para leitura o valor numérico é 4
Para gravação o valor numérico é 2
Para execução o valor numérico é 1

Daí basta você ver as permissões que você deseja e somar os respectivos valores. Assim, se você quiser que o dono de um arquivo tenha permissão apenas de gravação, faça chmod 200 arquivo. Leitura e gravação 4+2 = chmod 600 arquivo, etc.


Olha, essa explicação que fiz é bem básica, sugiro que leia a página do guia foca sobre o assunto, é bem mais completo:
http://www.guiafoca.org/cgs/guia/iniciante/ch-perm.html


3. Re: Função da permissão executar chmod

joao marcos
jmpedroso1984

(usa Outra)

Enviado em 11/12/2013 - 19:03h

muito obrigado estava com essa dúvida estava confundindo as coisas, fiz uns testes aqui no terminal, criei um arquivo sem extensão no gedit e apliquei o comando chmod 625 nele depois tentei executá-lo através do comando ./nomeArquivo, realmente não executou ai que verifiquei melhor a permissão executar.
O motivo dessa dúvida foi essa afirmação que cai em uma prova:
"O comando chmod 625 foo atribui permissão de leitura e execução a qualquer usuário do sistema".
Na prova o gabarito deu ela como verdadeira aí tive procurar algum argumento para entrar com recurso, agora com sua resposta mais os testes já posso entrar com recurso, pois nesse caso todos os outros têm permissão de leitura e execução menos o dono e não qualquer usuário.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts