domingo, 27 de junho de 2010

Permissões no Linux – sistema octal

Este artigo trata de assunto importantíssimo, todavia simples e para iniciantes no Linux. Duas são as bases para a segurança no Linux: estabilidade e permissões. A estabilidade é tida pela programação bem estudada de seu kernel. Já as permissões dependem em uma enorme fatia do Administrador do Sistema – aquele que tem os poderes de root. Para quem não sabe que é este tal de root: Super usuário – aquele que pode tudo, direta ou indiretamente. O root entre outras grandes coisas é capaz de tornar um determinado arquivo propriedade de qualquer outro usuário, além de ter plenos poderes para destruir a qualquer tempo toda a árvore de diretórios do linux ou mesmo a partição – mesmo que o Linux esteja em funcionamento (ou seja, você não verá: é impossível realizar a exclusão desta partição, porque ela está em uso —> isso é coisa de Windows).


Para trabalhar como root, antes de qualquer coisa, tem que ter ciência do que está fazendo. Qualquer programa malicioso que você executar acidentalmente que seja, irá causar os danos para os quais foi programado. Ainda deve lembrar que qualquer comando impensado pode ter conseqüências irreversíveis.

Logando como root:

Você precisa de um terminal em estado de login ou invocar o comando ‘su’ (sem as aspas). Nos dois casos será necessária a senha do root.

Observe:

[usuario@computador /home/usuario]$

A linha acima indica que você está logado como um usuário comum $.

[root@computador /home/usuario] #

A linha acima indica que você está logado como um superusuário #.

De acordo com algumas características e permissões do linux, certos comandos só serão possíveis de serem utilizados pelo root.

O sistema de permissões do linux é definido basicamente – lembre-se que escrevi basicamente – do seguinte:

Dono do arquivo – pode ter permissões de leitura, escrita e execução

Grupo do arquivo – pode também ter permissões de leitura, escrita e execução

Outros – pode ter as mesmas permissões citadas para os casos acima

—-> Observação: Existem permissões especiais no Linux que não entraremos em detalhes por não se tratar de assunto voltado para usuário iniciantes, como colocado no início do artigo.

Todo usuário se enquadra em uma das três condições: ou é o dono, ou faz parte do grupo ou é outro. Observe:

# ls -l

permissões dono grupo tam data hora nome

drwxr-xr-x 3 root root 4096 2006-01-21 08:14 Tars

-rw-rw-rw- 1 root root 73216 2006-04-20 08:47 Tumbs.db

drwxr-xr-x 3 root root 4096 2006-01-26 12:56 VPN

Você pode notar que as pemissões são dadas pelas letras:

• r —> read (leitura) tem o valor de 4

• w —> write (escrita) tem o valor de 2

• x —> execute (execução) tem o valor de 1

• - —> sem permissão naquela casa, tem o valor de 0 (zero).

Sistema Octal

É assim denominado por assumir 8 possíveis valores:

• 0 = -

• 1 = x

• 2 = w

• 3 = w+x

• 4 = r

• 5 = r+x

• 6 = r+w

• 7 = r+w+x

Como todo arquivo (lembre-se que no linux um diretório também é um arquivo), possui as três possibilidades podemos observar as permissões do arquivo Tumbs.db, mostrado anteriormente:

-rw-rw-rw-

Podemos separar da seguinte maneira:

tipo de arquivo dono grupo outros

- rw- rw- rw-

O tipo de arquivo pode assumir d para indicar um diretório e l quando se tratar de um link.

Com esta separação você deve ter notado que os primeiros três caracteres após o indicador de link ou diretório, demonstram a permissão do dono do arquivo. Os três seguintes do grupo do arquivo e os três últimos são referentes as permissões para aqueles que não participam das duas categorias anteriores.

Observe que temos rw- para o dono, o que significa que o dono pode ler e escrever, mas não pode executar, pois existe um traço, indicando a ausência de permissão no campo referente a execução. O mesmo acontece com as duas outras categorias. Quando temos apenas r+w, qual o valor da permissão? 6. Logo a permissão deste arquivo é 6 para dono, 6 para grupo e 6 para outros, ou seja, 666.

Observe agora as permissões do diretório Tars. Qual o conjunto de permissões deste diretório? 7 para dono, 5 para grupo e 5 para outros, ou seja 755.

Observe esta permissão agora: – ———. Logo temos 0 para dono, 0 para grupo e 0 para outros, ou seja 000.

Observe esta: – –x-wxr–. Temos 1 para dono, 3 para grupo e 4 para outros. Logo 134.

Para alterar a permissão de um arquivo utilize:

$ chmod conjunto_da_permissao nome_arquivo_ou_caminho

$ chmod 755 Tumbs.db

Para alterar o dono do arquivo:

$ chown usuario_novo_dono nome_arquivo_ou_caminho

$ chown root /home/usuario/texto.txt

Para alterar o grupo do arquivo:

# chgrp novo_grupo nome_arquivo_ou_caminho

# chgrp apache teste.php

Faça alguns testes com um usuário comum, e ao utilizar o root tome bastante cuidado.

Qualquer dúvida, estarei a disposição.

Grande abraço.

Publicado por nissieloin em February 21, 2008
Texto original: http://upsys.org/blog/2008/02/permissoes-no-linux-sistema-octal/

.

Um comentário:

Olá Obrigado pelo interesse na matéria. deixe seu comentário, duvida ou opinião