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:
- Owner (dono): o usuário dono do arquivo.
- Group (grupo): o grupo associado ao arquivo.
- Others (outros): todos os demais usuários do sistema.
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:
| Octal | Simbólico | Permissões |
|---|---|---|
| 7 | rwx | ler, escrever, executar |
| 6 | rw- | ler, escrever |
| 5 | r-x | ler, executar |
| 4 | r-- | 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
chmod 755 deploy.sh: torna o script executável por todos, editável só pelo dono.chmod 644 index.html: arquivo legível por todos, gravável só pelo dono.chmod 600 id_rsa: chave privada acessível só pelo dono.chmod 700 ~/.ssh: pasta de chaves acessível só pelo dono.
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.