Permissionamento

Como Funciona o Permissionamento

Todo arquivo ou diretório no Linux, possui permissões de Leitura, Escrita e Execução, que são atribuídas ao Owner (usuário que criou), Group (usuários que fazem parte de um grupo de usuários) e Others (que são os demais usuários do SO). Para vermos tais permissões, vamos executar o comando ls -lh e analisar a saída:

EXPLICAÇÃO: ls = Lista os arquivos -lh = Exibe detalhes dos arquivos e de forma mais amigável

Já na primeira coluna, podemos ver as permissões do arquivo meu_arquivo.txt e do diretório meu_diretorio. Vamos então dividí-la em 4 partes, sendo a primeira parte, o primeiro caractere e mais 3 partes contendo 3 caracteres cada, ficando assim:

-   rw-   rw-   r--
d   rwx   rwx   r-x

A primeira parte pode ser um dos seguintes:

CARACTERE

DESCRIÇÃO

-

Arquivo

d

Diretório

l

Link Simbólico (atalho)

As demais partes seguem sempre o mesmo padrão, seguindo exatamente a ordem rwx. O caracter - é o único que pode aparecer em qualquer lugar.

CARACTERE

DESCRIÇÃO

r

Read - Leitura

w

Write - Escrita

x

Execução

-

Denied - Sem Acesso

Segue abaixo uma imagem para melhor descrever:

Modificando as Permissões

Atribuindo permissões de leitura para o Group (g) e Others (o)

chmod go+r <arquivo

Removendo permissões de escrita para Others (o)

chmod o-w <arquivo>

Adicionando permissões de leitura, escrita e execução para o proprietário (owner) do arquivo

chmod u+rwx <file>

Removendo permissão de escrita e execução para "grupo" e "outros"

chmod g-wx <file>
chmod o-wx <file>

Outra forma de alterarmos as permissões, é configurando todos os bits de uma só vez. Iremos utilizar 3 números (que vai de 0 a 7), o primeiro representa o User, o segundo representa o Group e o último representar Others. Cada número define o tipo de permissão, como podemos ver abaixo:

NÚMERO

REPRESENTAÇÃO

DESCRIÇÃO

0

-

Sem Permissão

1

--x

Apenas Execução

2

-w-

Apenas Escrita

3

-wx

Escrita e Execução

4

r--

Apenas Leitura

5

r-w

Leitura e Execução

6

rw-

Leitura e Escrita

7

rwx

Leitura, Escrita e Execução

Seguindo essa tabela, podemos atribuir permissão de "Leitura e Escrita" para o User e "Somente Leitura" para Group e Others.

chmod 644 <arquivo>

É comum vermos profissionais (inclusive administradores de redes inexperientes) que atribuem permissão total ao arquivo para todos os usuários do sistema, utilizando o comando chmod 7777 <arquivo>. Pior do que isso, muitas vezes o comando é feito em um determinado diretório e de forma recursiva, como em: chmod -R 7777 <directory>.

Quando fazemos o processo acima, os executáveis tem um s no lugar do x. Isso indica que o executável é setuid, o que significa que, ao executar o programa, o dono do arquivo, e não você, será o usuário que irá realizar a execução. Esse tipo de permissionamento pode gerar falhas de segurança e permitir até PrivEsc, como veremos mais adiante.

Alterando User e Group

Isso pode ser útil quando precisamos fazer com que determinado arquivo ou diretório, passe a ser proprietário de outro User ou Group.

# Alterando o User
chown <novo_user> <arquivo>

# Alterando o Group
chgrp <novo_grupo> <diretorio>

# Alterando o Group de forma recursiva
chgrp -R <novo_grupo> <diretorio>

# Alterando User e Group simultaneamente
chown <user>:<group> <file>

Last updated

Was this helpful?