Como verificar as permissões de um ficheiro em Linux?
O Linux é um dos sistemas operativos mais populares que alimenta servidores VPS, plataformas de alojamento web e máquinas virtuais em todo o mundo. No centro da segurança do Linux está o seu sistema de permissões de ficheiros – regras que definem quem pode ler, modificar ou executar um ficheiro. Saber como verificar as permissões no Linux é essencial para gerir um VPS, configurar ambientes de alojamento seguros ou trabalhar dentro de uma máquina virtual.
Os princípios básicos das permissões de ficheiros
Cada ficheiro e diretório no Linux tem três tipos de permissões:
- Read (r) → ver o conteúdo de um ficheiro ou listar um diretório.
- Escrever (w) → modificar ou apagar um ficheiro, adicionar ou remover ficheiros de um diretório.
- Executar (x) → executar um ficheiro (se for um programa) ou entrar numa diretoria.
E estas permissões aplicam-se a três categorias de utilizadores:
- Owner (utilizador) → normalmente o criador do ficheiro.
- Grupo → utilizadores pertencentes ao grupo do ficheiro.
- Outros → todos os outros.
Verificando permissões com ls -l
A maneira mais simples é usar o comando ls -l:
Exemplo de saída:
- -rw-r–r– → permissões
- utilizador → proprietário
- grupo → grupo
- file.txt → nome do ficheiro
Aqui, -rw-r–r– significa:
- Proprietário: ler, escrever
- Grupo: ler
- Outros: ler
Informações pormenorizadas com estatísticas
Para mais pormenores, utilizar:
Exemplo:
Agora vê as permissões em duas formas: simbólica (-rw-r–r–) e numérica (0644).
Entendendo os valores numéricos
As permissões podem ser representadas como números:
- Ler = 4
- Escrever = 2
- Executar = 1
Somando-os, obtém-se o valor da permissão:
- rw- = 6
- r-x = 5
- rwx = 7
Portanto 0644 = Proprietário: 6 (leitura/escrita), Grupo: 4 (leitura), Outros: 4 (leitura).
Permissões para diretórios
Para os diretórios, as regras são ligeiramente diferentes:
- r → listar os nomes dos ficheiros.
- w → criar ou apagar ficheiros (se x também estiver definido).
- x → introduzir o diretório.
Exemplo
Aqui, o proprietário tem direitos totais, o grupo pode ler/entrar e os outros não têm acesso.
Bits de permissão especiais
O Linux também suporta permissões avançadas:
- setuid (s) → executar ficheiro com privilégios do proprietário.
- setgid (s) → executar ficheiro com privilégios de grupo.
- sticky bit (t) → em diretórios, apenas o dono do ficheiro pode apagar os seus ficheiros (comum em /tmp).
Exemplo:
O t no fim significa sticky bit.
Tabela de referência rápida
Simbólico | Numérico | Significado (Ficheiro) | Significado (Diretório) |
---|---|---|---|
— | 0 | Sem acesso | Sem acesso |
–x | 1 | Executar | Entrar |
-w- | 2 | Escrever | Criar/eliminar (com x) |
-wx | 3 | Escrever + Executar | Modificar + introduzir |
r– | 4 | Ler | Listar nomes (com x) |
r-x | 5 | Ler + Executar | Lista + enter |
rw- | 6 | Ler + Escrever | Ver + modificar conteúdo |
rwx | 7 | Acesso total | Controlo total |
Exemplos que verá com frequência
- -rw-r–r– (0644) → o proprietário pode ler/escrever; os outros só podem ler.
- -rwxr-xr-x (0755) → o dono pode fazer tudo; os outros podem executar mas não modificar.
- drwxrwxrwt (1777) → pasta gravável pelo mundo com sticky bit (como /tmp).
Conclusão
Para verificar as permissões de ficheiros em Linux:
- Use ls -l para uma rápida olhada.
- Use stat para uma saída detalhada.
- Aprenda a ler as notações simbólicas (rwx) e numéricas (755, 644).
- Lembre-se que os diretórios seguem as mesmas regras mas interpretam x de forma diferente.
Assim que compreender estas noções básicas, as permissões tornam-se uma parte poderosa e fácil de ler da segurança Linux.