chmod no Linux: permissões rwx e os números 755, 644 e 600

Aprenda como funcionam as permissões no Linux com chmod, o que significam r, w e x para owner, group e others, como ler a notação octal e quando usar valores como 755, 644 e 600, com os cuidados do 777.

Revisado pela equipe editorial ValorFinalDocumentação GNU coreutils (chmod) / man pages Linux

No Linux, cada arquivo e pasta tem permissões que definem quem pode ler, escrever e executar. O comando chmod (change mode) é o que ajusta essas permissões. Entender chmod evita dois extremos comuns: o erro de permissão que trava um deploy e o exagero de liberar tudo com 777, que cria risco de segurança. Neste guia você entende r, w e x, os três grupos de permissão e o significado de valores como 755, 644 e 600. Para montar e ler permissões na prática, use as ferramentas DevOps, que calculam o octal e o simbólico localmente.

O que é chmod

chmod altera o modo de acesso de um item do sistema de arquivos. Ele pode receber as permissões de duas formas: pela notação octal (três números, como 644) ou pela notação simbólica (como u+x para adicionar execução ao dono). As duas chegam ao mesmo resultado; a octal é mais usada em scripts e documentação por ser compacta.

Owner, group e others

As permissões são divididas em três grupos, sempre nesta ordem:

Quando você roda ls -l, vê algo como rwxr-xr-x: os três primeiros caracteres são do dono, os três seguintes do grupo e os três últimos dos outros.

Permissões r, w e x

Cada grupo tem três permissões. Em arquivos, r deixa ler o conteúdo, w deixa modificar e x deixa executar como programa. Em pastas, r deixa listar os nomes, w deixa criar e remover itens, e x deixa entrar na pasta e acessar o que há dentro. Essa diferença é a causa de muitos erros: uma pasta sem x fica inacessível, mesmo com r.

A notação octal

Some os valores das permissões de cada grupo: leitura vale 4, escrita vale 2 e execução vale 1. O resultado é um dígito de 0 a 7. Veja a tabela:

OctalSimbólicoPermissões
7rwxler, escrever, executar
6rw-ler, escrever
5r-xler, executar
4r--somente ler
0---nenhuma permissão

O que significa chmod 755

755 é rwxr-xr-x. O dono tem controle total; grupo e outros podem ler e executar, mas não escrever. É o padrão de pastas e de executáveis, porque todos precisam acessar, mas só o dono deve modificar.

O que significa chmod 644

644 é rw-r--r--. O dono lê e escreve; grupo e outros apenas leem. É a permissão típica de arquivos comuns, como páginas, imagens e documentos servidos por um site, onde ninguém além do dono deve alterar o conteúdo.

O que significa chmod 600

600 é rw-------. Apenas o dono lê e escreve; grupo e outros não têm acesso. É a permissão recomendada para arquivos privados, como chaves SSH e arquivos de credenciais, que não devem ser lidos por mais ninguém.

Cuidados com chmod 777

777 libera tudo para todos. Pode resolver um erro de permissão na marra, mas a um custo alto: qualquer usuário pode alterar o arquivo, o que é perigoso em servidores compartilhados. Antes de usar 777, pergunte qual acesso é realmente necessário. Na grande maioria dos casos, 755 ou 750 para pastas e 644 ou 640 para arquivos resolvem com segurança.

Exemplos práticos

Notação simbólica e o uso recursivo

Além da notação octal, o chmod aceita a forma simbólica, que é prática para ajustes pontuais sem recalcular tudo. Você indica o alvo (u para dono, g para grupo, o para outros, a para todos), a operação (mais para adicionar, menos para remover, igual para definir) e a permissão. Por exemplo, u+x adiciona execução ao dono, go-w remove escrita de grupo e outros, e a=r deixa todos apenas com leitura. A forma simbólica é ótima quando você quer mudar um bit específico sem mexer no resto.

Para aplicar em muitos arquivos de uma vez, existe a opção recursiva, que desce por toda a árvore de pastas. Ela é poderosa e perigosa: aplicar uma permissão de arquivo em pastas, ou vice-versa, pode quebrar o acesso. Uma prática segura é tratar pastas e arquivos separadamente, usando 755 para diretórios e 644 para arquivos, em vez de um valor único para tudo. Pense bem antes de rodar qualquer comando recursivo em diretórios importantes.

Vale lembrar que permissões são só uma parte do controle de acesso. Existe também o dono e o grupo do arquivo, ajustados por outro comando, e mecanismos adicionais como ACLs e atributos especiais. Para a maioria das tarefas do dia a dia, porém, entender rwx, os três grupos e os valores 755, 644 e 600 já resolve a grande maioria dos casos e evita tanto o erro de acesso quanto o exagero inseguro do 777.

Erros de permissão mais comuns

Vários problemas do dia a dia em servidores são, na verdade, permissão mal ajustada. Um site que retorna erro de acesso negado pode ter arquivos sem leitura para o usuário do servidor web. Um script que não roda pode estar sem o bit de execução. Uma chave SSH recusada costuma ter permissão aberta demais: muitos clientes exigem 600 na chave privada e se recusam a usá-la se ela estiver acessível a outros. Conferir as permissões é um dos primeiros passos ao diagnosticar esses casos.

A recomendação geral é começar pelo mínimo necessário e abrir apenas o que faltar, em vez de liberar tudo e tentar fechar depois. Documentar as permissões esperadas de pastas e arquivos sensíveis no projeto ajuda a equipe a manter o padrão e a perceber quando algo saiu do lugar. Permissão é segurança: cada bit a mais que você concede é uma porta a mais que alguém pode usar.

Vale entender também o conceito de umask, que define as permissões padrão de arquivos e pastas recém-criados. Quando você cria um arquivo, o sistema parte de um valor base e subtrai a umask, o que explica por que novos arquivos costumam nascer como 644 e novas pastas como 755 em muitas configurações. Conhecer a umask ajuda a entender por que as permissões aparecem de um certo jeito antes mesmo de você rodar qualquer chmod, e a ajustar o padrão do ambiente quando necessário.

Quando usar a ferramenta do ValorFinal

Use as ferramentas DevOps para marcar as permissões e obter o octal e o simbólico na hora, além de validar ARN da AWS e gerar hash de arquivo. Para cálculo de redes, veja a calculadora de sub-rede IPv4. Conheça as demais ferramentas de tecnologia.

Calculadoras deste guia

Como validamos os cálculos

Os valores citados neste guia são estimativos e baseados em fontes oficiais (Documentação GNU coreutils (chmod) / man pages Linux). Eles podem variar conforme convenção coletiva, situação individual e atualizações da legislação. Entenda nossa metodologia em como validamos os cálculos.

Perguntas frequentes

O que é chmod no Linux?
chmod (change mode) é o comando que altera as permissões de um arquivo ou pasta no Linux e em outros sistemas Unix. Ele define quem pode ler, escrever e executar o item. As permissões são organizadas em três grupos: o dono do arquivo, o grupo e os demais usuários (others).
O que significam r, w e x?
r é leitura (read), w é escrita (write) e x é execução (execute). Em um arquivo, x permite rodá-lo como programa. Em uma pasta, r permite listar o conteúdo, w permite criar e apagar itens, e x permite entrar na pasta e acessar os arquivos. Por isso pastas costumam precisar de x junto com r.
Como funciona a notação octal do chmod?
Cada conjunto de permissões vira um dígito de 0 a 7, somando 4 para leitura, 2 para escrita e 1 para execução. Assim, rwx é 7 (4+2+1), rw- é 6 (4+2) e r-x é 5 (4+1). O chmod recebe três dígitos, um para o dono, um para o grupo e um para os outros. Por exemplo, 750 dá tudo ao dono, leitura e execução ao grupo e nada aos demais.
O que significa chmod 755?
755 significa rwxr-xr-x: o dono pode ler, escrever e executar; o grupo e os outros podem ler e executar, mas não escrever. É a permissão típica de pastas e de programas, em que todos precisam acessar e executar, mas só o dono pode modificar.
Por que 777 é arriscado?
777 dá leitura, escrita e execução para todo mundo, inclusive escrita por qualquer usuário do sistema. Isso abre brecha para alterações indevidas e é uma má prática em servidores. Quase sempre existe uma combinação mais restrita que atende a necessidade, como 755 para pastas, 644 para arquivos e 600 para itens privados.
Existe diferença entre permissão de arquivo e de pasta?
Sim. Em arquivos, x significa poder executar. Em pastas, x significa poder entrar e acessar o conteúdo, e r significa poder listar os nomes. Uma pasta sem x fica inacessível mesmo com r. Por isso pastas usam tipicamente 755 ou 750, enquanto arquivos comuns usam 644.