slogan
Visite também: BR-Linux.org · Dicas-L · SoftwareLivre.org · UnderLinux

Linux banner
Linux banner


» Screenshot
Emergindo o OpenOffice
Por ustrucx

Dica

Entendendo o comando chmod
Linux user
Publicado por Angelito Monteiro Goulart em 29/08/2009

Login: angelito, 286139 pontos | Blog: http://angelitomg.com
[ Hits: 17619 ]

Entendendo o comando chmod

O comando chmod é um utilitário via linha de comando usado nos sistemas Linux/Unix/Unix-like para mudar as permissões de um arquivo ou diretório.

Os parâmetros passados para o programa podem ser números ou letras. Nesta dica abordarei a passagem de parâmetros através de números octais.

Exemplo:

$ chmod 750 arquivo.txt

No exemplo acima aplicamos o comando chmod no arquivo arquivo.txt passando 750 como parâmetro.

Explicação:

O primeiro dígito do parâmetro refere-se às permissões para o dono do arquivo. O segundo, às permissões para os usuários do grupo do dono do arquivo e o terceiro, às permissões que os outros usuários do sistema têm para com o arquivo.

Para entendermos melhor, veja a tabela abaixo:

Quando utilizamos o número 0 significa que negamos determinada permissão. Quando utilizamos 1, significa que a aceitamos.

r -> read

w -> write

x - > execute

r w x

0 0 0 -> 0 -> nenhuma permissão

0 0 1 -> 1 -> apenas execução

0 1 0 -> 2 -> apenas escrita

0 1 1 -> 3 -> escrita e execução

1 0 0 -> 4 -> apenas leitura

1 0 1 -> 5 -> leitura e execução

1 1 0 -> 6 -> leitura e escrita

1 1 1 -> 7 -> leitura, execução e escrita

Portanto, no nosso exemplo, daríamos permissão de leitura, escrita e execução (7) para o dono do arquivo, permissão de leitura e execução (5) para os usuários do mesmo grupo do dono do arquivo e não daríamos nenhuma permissão para os outros usuários do sistema.

Entendendo melhor:

7 -> r=1 (ok, permissão de leitura.) w=1 (Ok, permissão de escrita), x=1 (Ok, permissão de execução)

5 -> r=1 (ok, permissão de leitura), w=0 (permissão de escrita negada), x=1 (Ok, permissão de execução)

0 -> não dá permissão nenhuma.

No nosso exemplo, alteramos as permissões de apenas um arquivo. Mas se quiséssemos alterar as de um diretório todo, incluindo seus subdiretórios? Usamos então a opção -R. Exemplo:

$ chmod -R 755 /home/usuário/teste

No exemplo acima alteramos as permissões do diretório teste e de tudo que havia contido nele. Para mudarmos as permissões de todos os arquivos contidos em determinado diretório, utilizamos o asterisco (*).

Exemplo:

$ chmod 777 /home/usuário/pasta/*

No exemplo anterior, alteramos as permissões de todos os arquivos contidos no diretório "pasta". Para visualizarmos as permissões dos arquivos de um diretório, utilizamos o comando "ls -l".

Obs.: Para entender melhor como converter números binários em decimais e vice-versa, acesse o tutorial de conversão de números binários.

Espero que tenham entendido.

Abração.




Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Comandos básicos
   Dica Linux recomendada NGR para ISO e BIN/CUE para ISO
   Dica Linux recomendada Solução para congelar a pasta do usuario no Linux. (Lan House)
   Dica Linux recomendada Calculadora Google
   Dica Linux recomendada Permitir que outros usuários possam usar o dispositivo de som onde só o root consegue

Comentários
[1] Comentário enviado por reinaldoluiz em 30/08/2009 - 11:38h:

Opa,

Muito bom seu artigo...mas..eu ainda tenho uma duvida....

Ja vi em alguns lugares usarem um 4o. numero no chmod, exemplo 0755.... Pra que serve ? (aparece tb umas permissoes que nao sao as wrx e sim uma S)

Se puder dar uma luz, valeu.


Abração


[2] Comentário enviado por enzo em 30/08/2009 - 12:04h:

Reinaldo

Esse quarto numero refere-se a permissão SUID, SGID ou STICK.

Da uma olhada neste artigo do robertors:

http://www.vivaolinux.com.br/artigo/Linux-Permissoes-de-acesso-especiais?pagina=1

Abraços


[3] Comentário enviado por reinaldoluiz em 30/08/2009 - 12:15h:

Enzo,

Muito obrigado, era o que eu precisava.


Abração


[4] Comentário enviado por removido em 27/09/2009 - 12:18h:

Cara,

Excelente artigo, muito não dão importância ao estudo desse comando, apesar rodar como base em muitos analisadores de segurança.

Abraços!

http://reprogramandovoce.blogspot.com




Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade GNU/Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda.