Antes de configurar qualquer permissão no linux é mais importante entender como funcionam e são analisadas e aplicadas pelo sistema.
Entender as permissões previne problemas de segurança normalmente geradas por configurações erradas, e é vital para administrar servidores e ambientes de desenvolvimento.
A seguir você aprenderá em detalhes sobre as permissões no linux e o que fazem as permissões em arquivos e diretórios no linux.
Entendendo as permissões no linux
As permissões no linux são um mecanismo de controle de acesso que define quem pode fazer o quê com um arquivo ou diretório. Elas existem para proteger o sistema e os dados, evitando que usuários façam alterações indevidas.
A tabela a seguir lista as permissões usadas nas distribuições linux:
| Permissões | Representação Simbólica | Representação Binária | Representação Octal |
|---|---|---|---|
| read | r | 100 | 4 |
| write | w | 010 | 2 |
| execute | e | 001 | 1 |
Quando as permissões são representadas por números, isso é chamado de modo octal, quando são representadas por letras (rwx) é chamado de modo simbólico.
Para visualizar as permissões no linux utilize o comando ls com a opção -l, assim será mostrado na tela os metadados dos arquivos ou diretórios listados.
O exemplo abaixo lista as permissões do comando /usr/bin/egrep.
ls -l /usr/bin/egrep
No segundo campo do comando ls é exibido uma sequência de caracteres (rwxr-xr-x) que são três conjuntos de permissões no modo simbólico.
- 1º conjunto de permissões (rwx) são concedidas ao proprietário (owner) do arquivo ou diretório, no exemplo, o usuário root é o dono do arquivo (/usr/bin/egrep).
- 2º conjunto de permissões (r-x) é aplicado aos membros do grupo proprietário (no exemplo: grupo root).
- 3º conjunto (r-x) são as permissões atribuídas para os outros (other), ou seja, ao usuário que interage com o sistema e não é o usuário proprietário e nem membro do grupo proprietário.
Quando a permissão (r ou w ou x) é exibida significa que foi concedida, quando no seu lugar é mostrado o caractere “–” (hífen) significa que a permissão não foi atribuída.
Não faz parte do escopo do post falar detalhadamente sobre o comando ls. Para ter mais informações sobre o comando ls recomendo a leitura do guia completo sobre comandos linux.
Como o sistema analisa e aplica as permissões ?
Ao tentar fazer uma ação no diretório ou arquivo, por exemplo, gravar no diretório ou visualizar o conteúdo de um arquivo, o sistema analisa as permissões para autorizar ou não a ação requerida, executando uma série de verificações:
1º Verifica se o usuário é o proprietário (owner) do arquivo ou diretório. Em caso afirmativo, o usuário recebe as permissões de proprietário e nenhuma outra verificação será realizada.
2º Se o usuário não for o proprietário, a próxima etapa é validar se ele é membro do grupo proprietário (group). Caso seja membro, o usuário terá concedida as permissões do grupo proprietário e nenhuma outra verificação será realizada.
3º Caso o usuário não seja nem o proprietário e nem membro do grupo proprietário, então as permissões para os outros (other) será aplicada.
Todos os arquivos e diretórios do linux tem um usuário proprietário e um grupo proprietário.
IMPORTANTE
Os três campos são exclusivos: o usuário em uso não pode estar sujeito a mais de um dos conjuntos de permissões.
Também é importante saber que ao criar um novo arquivo ou diretório, o sistema configura a permissão de acordo com a umask. Para aprender mais sobre o comando umask recomendo a leitura do seu manual.
O que fazem as permissões em arquivos ?
As permissões em arquivos no linux controlam o acesso ao conteúdo do arquivo. Abaixo tem um detalhamento sobre o que as permissões no linux fazem em arquivos:
- read (r): Permite abrir o arquivo e ler seu conteúdo, ela é essencial para fazer cópias de um arquivo, pois é necessário acessar o conteúdo do arquivo para criar uma duplicata.
Sem ela não é possível que editores de texto ou comandos como cat ou less visualizem o conteúdo de um arquivo.
- write (w): É usada para modificar o conteúdo do arquivo ou sobrescrevê-lo. Note que, para arquivos, o “w” sozinho não permite deletar o arquivo (isso depende da permissão do diretório pai).
- execute (x): Permite que o arquivo seja executado como um programa ou script (com código em bash ou python por exemplo) pelo sistema operacional.
Em alguns casos também é necessário combinar as permissões, por exemplo, para que um script seja executado o usuário geralmente precisa ter as permissões de read + execute (r-x).
Se você tiver apenas a permissão “x” (execute) sem a “r” (read), em muitos casos o interpretador (como o Bash ou Python) não conseguirá carregar o script para rodar.
A tabela a seguir mostra as formas de executar scripts, e as permissões necessárias:
| Forma de executar o script | Precisa da permissão execute | Precisa da permissão read |
|---|---|---|
| ./script.sh | Sim | Sim |
| bash script.sh | Não | Sim |
O programa que interpreta o código precisa ler as instruções do arquivo antes de conseguir executá-las, por isso que é necessário a permissão read (leitura) atribuída ao script.
Para binários compilados, por exemplo os comandos ls, cp e mkdir, basta ter a permissão de execução (x), pois o kernel lê o código binário ao carregá-lo.
O que fazem as permissões em diretórios ?
Entenda que as permissões em diretórios são interpretadas de forma diferente das permissões em arquivos. Veja o que cada permissão permite fazer em um diretório:
- read (r): Permite listar o conteúdo do diretório, por exemplo, ao usar o comando ls. Sem a permissão “r” (read), você não consegue ver quais arquivos estão lá dentro.
- write (w): Autoriza criar, deletar ou renomear arquivos e subdiretórios dentro da pasta. Tome cuidado, porque se o diretório tem permissão “w” (write) é possível deletar o que está dentro, como arquivos, mesmo que não seja o dono deles.
Portanto, você precisa de permissão de escrita em um diretório para mover ou remover arquivos dele.
- execute (x): Permite acessar o diretório, sem a permissão “x” (execute), você está bloqueado de acessar qualquer subpasta ou arquivo dentro do diretório.
Diferente dos arquivos, as permissões em diretórios quase sempre precisam trabalhar juntas para serem úteis:
Combinação de Read + Execute (r-x)
Esta é a configuração padrão para maioria das pastas do sistema e é normalmente atribuída ao grupo e outros. Ela permite que o usuário liste o conteúdo do diretório e entre nele para ler os documentos que estão dentro.
Sem a permissão de acesso (x), o “r” (read) permite apenas ver os nomes dos arquivos, mas você não conseguiria abrir nenhum deles por que não tem acesso ao conteúdo da pasta.
Combinação de Write + Execute (-wx)
Um cenário curioso: se você tiver permissão de escrita e execução, mas não de leitura, você pode criar arquivos dentro da pasta e entrar nela, mas não consegue listar o que já existe lá (o comando ls falha).
É como uma “caixa de sugestões” onde você deposita algo, mas não vê o que os outros colocaram.
Como alterar as permissões no linux ?
Para alterar as permissões no linux, utilizamos o comando chmod, e para saber utilizá-lo recomendo a leitura do guia completo sobre o comando chmod para definir as permissões.

Guia completo para aprender o comando chmod
O Motivo de dedicar um guia completo é porque o comando chmod exige muita explicação e exemplos práticos conforme encontrará no guia.
Conclusão
Entender e saber usar as permissões no linux é a base para manter os arquivos seguros. Vimos como os níveis de acesso (r, w, x) controlam quem pode ler, editar ou executar seus dados.
Também foi explicado como sistema analisa a quem será aplicada a permissão e como a permissão execute (x) tem ações diferentes em arquivos e diretórios.
Ficou com alguma dúvida ? Deixe seu comentário abaixo, pois seu feedback ajuda muito.
Perguntas Frequentes (FAQ) sobre Permissões Linux
O que significa a permissão 777 ?
A permissão 777 concede acesso total (leitura, escrita e execução) para o dono, grupo e todos os outros usuários do sistema. Deve ser usada somente se houver necessidade.
Como vejo as permissões atuais de um arquivo ?
Basta utilizar o comando ls -l na linha de comando do linux. O sistema exibirá uma string de dez caracteres (ex: -rwxr-xr–) o primeiro representa o tipo do arquivo e na sequência os três conjuntos de permissões.
O que faz a permissão 600 em arquivos e diretórios ?
Ao conceder a permissão 600 a um arquivo, somente o dono (owner) do arquivo poderá visualizar e alterar seu conteúdo. Em um diretório, somente o dono do diretório poderá listar o conteúdo da pasta e gravar nela.
Por que não consigo deletar um arquivo se tenho permissão de escrita (w) nele ?
Porque a permissão para excluir um arquivo é controlada pelo diretório onde ele está guardado. Você precisa de permissão de escrita no diretório que armazena o arquivo para removê-lo.
O que acontece se eu der permissão de execução (x) a um arquivo de texto comum ?
Se o conteúdo não for um script ou um binário, você receberá uma mensagem de erro ao tentar executá-lo.

