Entendendo permissões de arquivos no Linux
- Gustavo Viana
- Linux , Segurança da informação
- 19 de abril de 2022
Antes de tudo, permissão de arquivos é um fator crítico quando trata-se de segurança, uma vez que uma permissão mal aplicada pode comprometer seu ambiente. Dito isto, as permissões dos arquivos no Linux são compostas por três elementos: Usuário (user), grupo (group) e outros (others).
Cada um destes elementos poderá ter permissões para ler, escrever ou executar o objeto.
1 | Como visualizar as permissões de um arquivo
Existem diversas maneiras de visualizar as permissões de um arquivo no Linux. Veja algumas a seguir.
1.1 | Utilizando ls
ls -l arquivo.txt
1.2 | Utilizando stat
stat arquivo.txt
1.3 | Utilizando getfacl
getfacl arquivo.txt
2 | Entendendo as permissões
2.1 | Entendendo os tipos de permissão
Para entender os tipos de permissões, veja a tabela abaixo:
Permissão | Valor | Descrição |
---|---|---|
Read (r) | 4 | O elemento pode ler o objeto |
Write (w) | 2 | O elemento pode editar/escrever no objeto |
Execute (x) | 1 | O elemento pode executar o objeto |
Desta maneira, dizer que um arquivo possui permissão 777 significa que todos os elementos (usuário, grupo e outros) possuem permissão de leitura, escrita e execução. Ou seja, Leitura+Escrita+Execução (4+2+1) = Permissão total (7).
2.1 | Entendendo os elementos
Para entender os elementos, veja a tabela abaixo:
Elemento | Descrição |
---|---|
Usuário | Usuário dono/owner do objeto |
Grupo | Grupo dono/owner do objeto |
Outros | Qualquer outro usuário que não se encaixe nos 2 anteriores |
2.2 | Entendendo o output do comando ls
Veja abaixo uma imagem do output do comando ls para entendê-lo:
3 | Alterando as permissões de um objeto
3.1 | Apenas um objeto
Para alterar as permissões de um objeto, utilize o comando chmod, como exemplificado abaixo:
chmod 644 arquivo.txt
3.1 | Permissão recursiva
Para alterar as permissões de diversos objetos de maneira recursiva:
chmod -R 755 /home/kali/
Ou:
chmod -R u=rwx,go=rx /tmp
4 | Alterando o dono (owner) de um objeto
4.1 | Apenas um objeto
É possível alterar apenas o usuário:
chown kali /home/kali/
Ou usuário e o grupo:
chown kali:kali /home/kali/
4.1 | Recursivamente
Para realizar a operação de maneira recursiva:
chown -R kali:kali /home/kali/
5 | Alterando o grupo de um objeto
5.1 | Apenas um objeto
Para alterar apenas o grupo:
chgrp kali arquivo.txt
5.1 | Recursivamente
Para realizar a operação de maneira recursiva:
chgrp -R kali /home/kali/
6 | Curiosidade
Por fim, vamos ver uma curiosidade: Digamos que o arquivo.txt esteja com permissão 070 e esteja com owner usuário kali e grupo kali.
Você acha que é possível o usuário kali (que está no grupo kali) ler o arquivo.txt?
A resposta correta é: NÃO. O Linux utilizará a permissão mais específica possível. Veja o resultado abaixo:
Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !