Entendendo as permissões de arquivos (chmod) 
Autor: Ensina Linux by Fábio Vieira | Publicado: 2012-09-17T13:20:00-03:00

Boa tarde,

Para pessoas que não entendem muito de chmod, estou disponivilizando este artigo explicando um pouco sobre o mesmo.


Usa-se muito o chmod e pouco fala-se dele.


Muitas vezes a pessoa não sabe o que está fazendo quando dá uma 
permissãoo 777 ou 455 para um arquivo. Vou explicar mais a fundo o 
funcionamento do chmod.

Um ‘ls -la’ no Linux tem o seguinte output:


drwxr-xr-x    2 root     root         4096 Set 22 10:08 temp
-rwxrwxr-x    1 garcia   garcia       1088 Jul  5 16:17 torpedo
-rw-rw-r--    1 garcia   garcia      18283 Ago  3 13:10 videoteca.tar.gz
-rw-------    1 garcia   garcia       4857 Ago 11 11:46 .viminfo
drwxr-xr-x    2 garcia   garcia       4096 Jul 15 11:34 vlc
-rw-rw-r--    1 garcia   garcia   14872515 Jul 15 11:30 vlc-binary.tar.gz
drwxr-xr-x    2 garcia   garcia       4096 Mar  4  2004 webalizer-2.01-10-x86

Onde constam vários atributos como nome, data, usuário proprietário e
 as permissões do arquivo. Essas permissões estão na primeira coluna, 
são aquelas letras “drwx”.

Funciona da seguinte forma: o primeiro caractere dos atributos diz se
 o arquivo é um diretório ou um arquivo. Se tiver o “d” indica que é 
diretório.

Os próximos caracteres se dividem em 3 grupos de 3 caracteres.

Então, fica subdividido dessa forma:



d rwx rwx rwx

d: tipo de arquivo (diretório);
rwx: permissões do proprietário e/ou usuário;
rwx : permissões para usuários do mesmo grupo;
rwx: permissões para todos usuários.

Mas o que significa rwx?


r – read (permissão de leitura);
w – write (permissão de escrita);
x – execute (permissão de execução.

No DOS ou Windows, quando queremos executar um arquivo temos que usar
 extensão .exe, .com, .bat, etc. Em UNIX você seta como permissão.


Ah tá, entendi o que significam as letras, mas… o que significa “chmod 455″??? De onde vem esses números?


O chmod tem a flexibilidade de trabalhar com valores 
decimais de 0 a 7. Cada valor tem uma combinação de permissões pelos 3 
grupos de caracteres que expliquei acima. Vamos á&nbsp; elas.


0 : — (nenhuma permissão)
1 : –x (somente execução)
2 : -w- (somente escrita)
3 : -wx (escrita e execução)
4 : r– (somente leitura)
5 : r-x (leitura e execução)
6 : rw- (leitura e escrita)
7 : rwx (leitura, escrita e execução)


Vamos a exemplos práticos para que vocês entendam como funcionam isso na prática.



# chmod 755 arquivo.ext
Atribui permissõo de leitura, escrita e execução para o dono do 
arquivo (7), leitura e execução para usuários do mesmo grupo (5) e 
também para outros usuários (5).



# chmod 640 arquivo.ext
Atribui permissão de leitura e escrita (6) para o dono do arquivo, 
somente leitura para usuários do mesmo grupo (4) e nenhuma permissão 
para outros usuários (0).



# chmod 777 arquivo.ext
Permissão total de leitura, escrita e execução para TODOS! Se o 
servidor que você hospeda seus sites deixar brecha para acessarem ou 
simplesmente listarem seu diretório ou pasta, outros usuários poderão 
modificar seus arquivos. por isso é conveniente usar com cuidado.


Tentei de uma maneira objetiva esclarecer um pouco sobre permissões 
de arquivos. Espero que isso ajude quem ainda tinha dúvidas sobre o 
assunto.





Abraços,
Fábio Vieira
System and Network Admin Linux and Windows

E-mail: 
ensinalinux@gmail.com
Website: www.winlinuxtecnologia.com
Tel.: (41) 9893-8701