Pular para o conteúdo principal

Entendendo as permissões de arquivos (chmod)

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
  1. d: tipo de arquivo (diretório);
  2. rwx: permissões do proprietário e/ou usuário;
  3. rwx : permissões para usuários do mesmo grupo;
  4. 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 á  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

Comentários

Postagens mais visitadas deste blog

Trabalhando com Raid via Software no Debian / Ubuntu

Redundant Array of Independent Drives , também denominado Redundant Array of Inexpensive Drives , mais conhecido como simplesmente RAID ou ainda em português: Conjunto Redundante de Discos Independentes ou também Conjunto Redundante de Discos Econômicos ou ainda Arranjo Redundante de Discos Independentes, é um meio de se criar um sub-sistema de armazenamento composto por vários discos individuais, com a finalidade de ganhar segurança e desempenho. Popularmente, RAID seriam dois ou mais discos (por exemplo, HD ou disco rígido) trabalhando simultaneamente para um mesmo fim, por exemplo, citando o exemplo de RAID -1 logo abaixo, serviria como um espelhamento simples, rápido e confiável entre dois discos, para fazer o backup de um disco em outro. Apesar do RAID oferecer segurança e confiabilidade na adição de redundância e evitar falhas dos discos, o RAID não protege contra falhas de energia ou erros de operação. Falhas de energia, código errado de núcleo ou erros o

Códigos de Status do Squid

Boa tarde galera, Muitos trabalham com servidores proxy usando squid e várias vezes temos que analisar os logs de acesso para tentar entender o que está acontecendo. Todos que já viram um log do squid conseguem identificar o site acessado, o usuário ou mesmo se o acesso foi bem sucedido ou não, contudo há alguns códigos que chamam a atenção. Veja um trecho de um log do squid a seguir: 1199263171.923    285 192.168.254.12 TCP_DENIED/403 1503 GET http://www.menshealth.com/media/images/cma/dec04_lust5_200x200.jpg jose NONE/- text/html 1199263176.363    302 192.168.254.15 TCP_MISS/000 0 GET http://www.google.com.br/carlos DIRECT/74.125.47.147 - 1199263176.379      0 192.168.254.15 TCP_DENIED/407 2033 GET http://www.folha.uol.com.br/folha/common.css - NONE/- text/html 1199263176.439     58 192.168.254.15 TCP_IMS_HIT/200 32356 GET http://www.folha.uol.com.br/folha/common.css carlos NONE/- text/css Nesses logs podemos identificar que o usuário “jose” teve seu acesso negado ao site menshealth.

Servidor OpenVPN para Multiplas Conexões

VPN no Linux Ubuntu/Debian com OpenVPN - Multiusuários Esse é um exemplo totalmente prático para implementação de uma segurança a mais para qualquer tipo de rede, usando o OpenVPN como uma solução simples, segura e um benefício a mais para interligação de redes distantes, sendo estas, localizadas na internet. Quando iniciei meu primeiro projeto de VPN (uns 2 anos atrás), me deparei com algumas ferramentas disponíveis para atender tal serviço. Como as coisas sempre aparecem e tem que ser executadas de última hora, resolvi sem muito planejamento e estudo utilizar a ferramenta OpenVPN. Esse artigo tem como objetivo mostrar de forma rápida e simples a configuração de uma VPN baseada em Linux utilizando o OpenVPN como ferramenta, sendo que este é um software estável, simples de configurar, além de ser um projeto que está sempre em desenvolvimento. Utilizaremos como ferramentas os aplicativos OpenVPN, para gerenciamento da rede virtual, tanto para os Servidores e Cliente, o OpenSSL p