Calculadora chmod — permissões de arquivos no Linux (octal ⇄ rwx)
Marque as caixas de Leitura, Escrita e Execução para obter o modo octal e o comando chmod, ou decodifique 755, 644 e rwxr-xr-x.
| Quem | Leitura | Escrita | Execução | Dígito |
|---|---|---|---|---|
| Dono (user) | 7 | |||
| Grupo | 5 | |||
| Outros | 5 |
chmod 755 deploy.sh
chmod u=rwx,g=rx,o=rx deploy.sh
- Dono (7): ler, escrever, executar
- Grupo (5): ler, executar
- Outros (5): ler, executar
Veja o que chmod u+x,go-w faz com um modo existente. Aceita u/g/o/a, + - =, r w x X s t e cópias como g=u. Usa a configuração de diretório acima para o X.
644 (rw-r--r--) → 744 (rwxr--r--)Funciona inteiramente no seu navegador. Nada do que você digita é enviado para lugar nenhum. Ver todas as ferramentas grátis.
Encontrou um problema ou algo que poderia ser melhor? Lemos todas as mensagens e corrigimos rápido.
Esta calculadora chmod converte permissões de arquivos Unix e Linux entre uma grade de caixas de seleção, o número octal que o chmod usa (755, 644, 2775) e a string rwxr-xr-x que o ls -l exibe. Mude qualquer um e os outros acompanham, junto com um comando chmod pronto para colar e uma explicação em linguagem simples de quem pode fazer o quê. Ela trata os bits setuid, setgid e sticky e explica como os mesmos bits significam coisas diferentes num diretório.
Ela também avalia expressões simbólicas do chmod como u+x,go-w ou a=rX sobre um modo inicial, com as mesmas regras do GNU chmod, para você conferir o que um comando vai fazer antes de rodá-lo num servidor. Uma diferença: quando você omite a letra u/g/o, o chmod de verdade aplica a sua umask, enquanto esta ferramenta trata como “a” (como se a umask fosse 000). Nada mexe nos seus arquivos; é só uma calculadora.
Como usar
- Marque as caixas de Leitura, Escrita e Execução para dono, grupo e outros, ou digite um modo octal como 750, ou cole uma string como -rw-r--r-- do ls -l.
- Marque “É um diretório” se estiver definindo permissões de uma pasta; a explicação muda, porque x num diretório significa “pode entrar”.
- Digite o nome do arquivo, marque Recursivo se precisar e copie o comando chmod.
- Para conferir uma mudança relativa, informe o modo atual e uma expressão como u+x,go-w no campo de expressão e veja o resultado.
- Use uma predefinição quando só precisar da resposta de sempre: 644 para arquivos, 755 para diretórios e scripts, 600 para chaves privadas.
Perguntas frequentes
O que significa chmod 755?
Cada dígito é uma soma de leitura (4), escrita (2) e execução (1), para dono, grupo e outros, nessa ordem. 7 = 4+2+1, então o dono pode ler, escrever e executar; 5 = 4+1, então grupo e outros podem ler e executar, mas não escrever. Como string, fica rwxr-xr-x. É o modo padrão para diretórios e para scripts ou programas que todos devem poder executar.
Qual é a diferença entre 644 e 755?
Só o bit de execução. 644 (rw-r--r--) permite que o dono leia e escreva e que todos os outros leiam; é o modo normal para documentos, páginas web, imagens e configurações. 755 acrescenta execução para todos, que um diretório precisa para que se possa entrar nele e um script precisa para ser executado. Dar 755 a arquivos comuns é inofensivo, mas desleixado; dar 644 a um diretório o torna inutilizável para os outros.
Por que chmod 777 é uma má ideia?
777 dá a todo usuário do sistema permissão para modificar ou substituir o arquivo, ou para adicionar e excluir arquivos no diretório. Num servidor web, isso significa que qualquer processo comprometido, como um plugin vulnerável rodando com outro usuário, pode reescrever o seu código. A correção de verdade para um erro de “permission denied” costuma ser mudar o dono (chown) ou adicionar o usuário do servidor web ao grupo do arquivo e depois usar 755/644 ou 775/664.
O que são setuid, setgid e sticky bit?
São o quarto dígito octal opcional (o da frente). O setuid (4) faz um executável rodar com os privilégios do seu dono, e é assim que o passwd consegue editar /etc/shadow. O setgid (2) num executável o roda com o grupo do arquivo; num diretório, faz com que novos arquivos herdem o grupo do diretório, o que é útil para pastas compartilhadas de equipe (2775). O sticky bit (1) num diretório permite que só o dono de um arquivo o exclua, como em /tmp (1777).
Que permissões as chaves SSH devem ter?
O OpenSSH recusa chaves privadas que outros podem ler. Use 600 (ou 400) para chaves privadas como ~/.ssh/id_ed25519, 644 para chaves públicas (.pub), 600 para ~/.ssh/authorized_keys e ~/.ssh/config e 700 para o próprio diretório ~/.ssh. A AWS e outros provedores de nuvem mandam fazer chmod 400 no arquivo .pem que eles fornecem pelo mesmo motivo.
O que significa um S ou T maiúsculo no ls -l?
Um s ou t minúsculo significa que o bit especial está ativado e que o bit de execução por baixo dele também está. Um S ou T maiúsculo significa que o bit especial está ativado, mas a execução não, o que geralmente é um erro: setuid num arquivo que ninguém pode executar não faz nada, então rwSr--r-- costuma ser sinal de que alguém rodou chmod u+s no arquivo errado.
Bits de permissão em arquivos vs. diretórios
• r num arquivo: ler o conteúdo. Num diretório: listar os nomes dentro dele (ls).
• w num arquivo: alterar o conteúdo. Num diretório: criar, excluir e renomear entradas dentro dele, mas só junto com x. Excluir um arquivo é uma gravação no diretório dele, não no arquivo.
• x num arquivo: executá-lo como programa ou script. Num diretório: entrar nele (cd) e acessar os arquivos de dentro pelo nome. Um diretório com r mas sem x permite listar os nomes, mas não abrir nada.
As permissões são verificadas pela primeira classe que se aplica a você: se você é o dono, só os bits do dono valem, mesmo que os bits do grupo ou de outros sejam mais generosos.
Sintaxe simbólica do chmod
Um modo simbólico é uma ou mais cláusulas separadas por vírgula no formato [quem][operador][permissões]. Quem é u (dono), g (grupo), o (outros) ou a (todos). O operador é + para adicionar, - para remover ou = para definir exatamente. As permissões são r, w, x, X (execução só se for diretório ou se já for executável por alguém), s (setuid/setgid) e t (sticky), ou um único u, g ou o para copiar os bits atuais de outra classe.
Exemplos: chmod u+x deploy.sh torna um script executável para o dono. chmod go-w file remove a escrita de todos, menos do dono. chmod -R a=rX public/ deixa uma árvore legível por todos, com diretórios acessíveis e arquivos não executáveis. chmod g=u shared/ dá ao grupo os mesmos direitos do dono.
Padrões seguros por caso de uso
• Arquivos da raiz web: 644, diretórios 755, pertencentes ao seu usuário de deploy; diretório de uploads pertencente ao usuário do servidor web, 755.
• Segredos (.env, chaves privadas, credenciais): 600, pertencentes ao usuário do serviço que os lê.
• Scripts de shell num repositório: 755. O Git guarda só o bit de execução, como modo de arquivo 100755 ou 100644; no Windows, defina-o com git update-index --chmod=+x.
• Diretório compartilhado de equipe: 2775 com um grupo comum, para que novos arquivos herdem o grupo.
• A sua umask define o ponto de partida: com a comum 022, novos arquivos recebem 644 e diretórios 755; com 077, 600 e 700.
Ferramentas grátis relacionadas
- Calculadora de sub-rede — Rede, broadcast, faixa de hosts e máscara para qualquer CIDR; divida redes com VLSM, expanda IPv6 e encontre faixas sobrepostas.
- Gerador de .gitignore — Combine modelos de .gitignore para linguagens, frameworks, editores e sistemas operacionais em um único arquivo limpo.
- Gerador de expressões cron — Monte um agendamento cron com menus ou cole um pronto, leia-o em português e veja as próximas 10 execuções no seu fuso e em UTC. Grátis, no navegador.
- Docker Run ⇄ Compose — Transforme um comando docker run num serviço do docker-compose.yml, ou um serviço do Compose de volta em docker run.