Skip to content

Calculadora chmod — Permissões de Arquivos Linux

Converta permissões de arquivos Linux entre octal (755, 644) e símbolos rwx. Gere comandos chmod e detecte ajustes arriscados como 777 — grátis, direto no seu navegador.

Sem rastreamento Roda no navegador Grátis
Tudo roda localmente no seu navegador — as permissões que você digita nunca saem deste dispositivo.
Permissões comuns
Matriz de permissões
Leitura (4)Escrita (2)Execução (1) Dígito rwx
Dono (u) 7 rwx
Grupo (g) 5 r-x
Outros (o) 5 r-x
Bits especiais
Comando chmod
Modo numérico (absoluto)
chmod 755 file
Modo simbólico
chmod u=rwx,go=rx file
Recursivo (-R)
chmod -R 755 dir
Somente diretórios
find dir -type d -exec chmod 755 {} +
Somente arquivos
find dir -type f -exec chmod 644 {} +

Dica: chmod -R u+rwX adiciona execução apenas a diretórios e a arquivos que já são executáveis — mais seguro que um -R 755 indiscriminado.

No Linux, um chmod numérico como 755 mantém um setuid/setgid preexistente em diretórios — limpe-os explicitamente com 00755, =755 ou u-s,g-s (o BSD/macOS os limpa por padrão).

Modo atual de um arquivo: stat -c '%a' file (Linux) · stat -f '%Lp' file (macOS)

Calculadora de umask

Novos arquivos (base 666)
644 · rw-r--r--
Novos diretórios (base 777)
755 · rwxr-xr-x

efetivo = base & ~umask

Tabela de Permissões de Arquivos Linux: Valores Comuns de chmod

Tabela de Permissões de Arquivos Linux: Valores Comuns de chmod
Octal Simbólico Uso típico Dono Grupo Outros
400 r-------- Chave privada SSH (só leitura) r-- --- ---
600 rw------- Arquivos privados, chaves SSH rw- --- ---
644 rw-r--r-- Páginas web, arquivos de config rw- r-- r--
664 rw-rw-r-- Arquivos editáveis pelo grupo rw- rw- r--
666 rw-rw-rw- Qualquer um edita — evite rw- rw- rw-
700 rwx------ Diretórios privados rwx --- ---
755 rwxr-xr-x Scripts, diretórios web rwx r-x r-x
775 rwxrwxr-x Diretórios compartilhados do grupo rwx rwx r-x
777 rwxrwxrwx Qualquer um faz tudo — evite rwx rwx rwx
1777 rwxrwxrwt Dirs temporários compartilhados (/tmp) rwx rwx rwt

Dígitos de Permissão 0-7 em Resumo

Dígitos de Permissão 0-7 em Resumo
Dígito Binário rwx Significado
0 000 --- Nenhuma permissão
1 001 --x Só execução
2 010 -w- Só escrita
3 011 -wx Escrita + execução
4 100 r-- Só leitura
5 101 r-x Leitura + execução
6 110 rw- Leitura + escrita
7 111 rwx Leitura + escrita + execução
Revisado em relação à semântica POSIX do chmod e ao manual do GNU coreutils; as regras de caixa s/S e t/T, a ordem das cláusulas e o comportamento GNU de retenção de setuid/setgid em diretórios foram verificados contra fontes primárias — Equipe de Engenharia da Go-Tools · Jul 17, 2026

O Que É chmod?

chmod — change mode — é o comando de Unix e Linux que define quem pode ler, escrever ou executar um arquivo. Todo arquivo carrega nove bits de permissão em três grupos (dono, grupo, outros), e o chmod os aceita seja como número octal no modo numérico (absoluto), como chmod 755, seja como letras no modo simbólico, como chmod u=rwx,go=rx. Os dois descrevem exatamente os mesmos bits; esta calculadora traduz entre eles ao vivo.

A abreviação octal funciona porque cada permissão é uma potência de dois: leitura vale 4, escrita vale 2, execução vale 1, e um dígito por classe é simplesmente a soma delas. Assim, 7 é tudo (4+2+1), 5 é leitura mais execução, 6 é leitura mais escrita e 0 é nada. Leia rwxr-xr-x da esquerda para a direita em trios e você obtém 7, 5, 5. Um quarto dígito, à esquerda, codifica os modos especiais — setuid (4), setgid (2) e o sticky bit (1) —, e é daí que surgem 4755 ou 1777; a presença deles aparece na string simbólica como s ou t no lugar do x.

As permissões são a primeira camada da segurança Unix, e a maioria dos problemas de permissão do dia a dia se reduz a um punhado de padrões: um script que não roda precisa de execução (u+x), um diretório em que você não consegue entrar está sem o bit x, um recurso web deve ficar em 644 com diretórios 755 acima dele, e uma chave privada precisa estar em 600 antes de o OpenSSH aceitá-la. Os erros se agrupam do mesmo jeito — o mais infame é o chmod 777, que "resolve" erros de acesso entregando permissão de escrita a todas as contas da máquina. Esta página reúne a aritmética, os símbolos, os comandos prontos para executar e os avisos de risco em um só lugar, e como octal é apenas a base 8, você pode explorar a aritmética posicional por trás dele no conversor de base numérica.

# Make a script executable, then verify with ls -l
$ ls -l deploy.sh
-rw-r--r--  1 jack  staff  512 Jul 17 10:00 deploy.sh
$ chmod 755 deploy.sh
$ ls -l deploy.sh
-rwxr-xr-x  1 jack  staff  512 Jul 17 10:00 deploy.sh

# The symbolic equivalent of 755
$ chmod u=rwx,go=rx deploy.sh

# Read the current mode as a number
$ stat -c '%a' deploy.sh   # Linux → 755
$ stat -f '%Lp' deploy.sh  # macOS → 755

Recursos Principais

Três visões, um só estado

A matriz de caixas de seleção, o número octal e a string simbólica rwx são todos campos de entrada ao vivo — edite qualquer um deles e os outros dois acompanham na hora, nos dois sentidos.

Bits especiais do jeito certo

setuid, setgid e o sticky bit são cidadãos de primeira classe: o quarto dígito octal, as regras de caixa s/S e t/T e as cláusulas simbólicas corretas (u+s, g+s, a+t) são renderizados exatamente como o chmod os entende.

Cole ls -l direto no campo

Solte uma linha inteira de ls -l no campo simbólico — o caractere de tipo de arquivo, o ponto do SELinux, o sinal de mais de ACL e o @ do macOS são tratados — e receba de volta o modo octal sem nenhum recorte manual.

Comandos que você pode executar de verdade

Numérico, simbólico, recursivo e o par mais seguro find -type d / find -type f, cada um com botão de copiar — além do comando stat para ler o modo atual de um arquivo e da nota GNU sobre limpar setuid em diretórios.

Alertas de risco enquanto você digita

Modos graváveis pelo mundo acendem imediatamente: 777 e 666 são apontados, qualquer bit de escrita para outros levanta uma bandeira, e o 1777 é corretamente reconhecido como o padrão de sticky bit para diretórios compartilhados, não como erro.

umask, tabelas e permalinks

Uma calculadora de umask integrada mostra o que novos arquivos e diretórios vão receber, duas tabelas de referência cobrem os modos comuns e os dígitos 0-7, e Copiar link compartilha o estado exato — tudo 100% no seu navegador.

Exemplos de Permissões chmod

755 — o padrão para scripts e diretórios web

755
rwxr-xr-x — chmod 755 file · chmod u=rwx,go=rx file

O modo 755 dá ao dono controle total (leitura + escrita + execução = 4 + 2 + 1 = 7), enquanto grupo e outros podem ler e executar, mas nunca modificar (4 + 1 = 5). É exatamente o que um script de deploy ou um diretório web público precisa: o servidor consegue percorrer e servir o conteúdo, mas só o dono pode alterá-lo. A calculadora mostra as duas formas de comando — o numérico 755 e o equivalente simbólico u=rwx,go=rx — e a receita só-arquivos cai para 644 automaticamente, porque arquivos comuns não devem carregar bits de execução de que não precisam.

600 — trave um arquivo privado para o dono

600
rw------- — o dono lê e escreve, todos os demais não veem nada

O modo 600 (rw-------) é a configuração correta para chaves privadas SSH, arquivos .env, credenciais de API e qualquer outra coisa que nenhuma outra conta da máquina deva conseguir abrir. O OpenSSH o exige ativamente: uma chave legível pelo grupo ou por outros é recusada com o famoso erro 'Permissions 0644 ... are too open'. Carregue o chip 600, copie chmod 600 file, e o painel de risco fica em silêncio — é a linha de base do menor privilégio feita do jeito certo.

4755 — anatomia do setuid: por que o x vira um s

4755
rwsr-xr-x — a posição de execução do dono mostra s em vez de x

O 4 inicial é o bit setuid: seja quem for que execute o programa, ele roda com os privilégios do dono do arquivo — é assim que o passwd consegue atualizar um arquivo do root para um usuário comum. Na forma simbólica, a posição de execução do dono muda de x para s (um s minúsculo significa que a execução também está ativa; um S maiúsculo indicaria setuid sem execução, o que quase sempre é um erro). A calculadora renderiza o quarto dígito octal, marca a caixa setuid e emite um alerta informativo, porque executáveis setuid merecem revisão deliberada.

Decodifique a saída de ls -l — cole a linha inteira

drwxr-xr-x  5 jack staff 160 Jul 17 dist
755

Copie uma linha direto da saída de ls -l e cole no campo simbólico — sem precisar aparar nada. A ferramenta lê o primeiro token drwxr-xr-x, reconhece o d inicial como caractere de tipo de arquivo (diretório) e não como permissão, tolera o ponto do SELinux, o sinal de mais de ACL ou o @ do macOS que alguns sistemas acrescentam, e converte os nove caracteres restantes para o octal 755. É o jeito mais rápido de responder 'que número é essa permissão?' durante um code review ou um incidente, e funciona igualmente com o l dos links simbólicos e o - dos arquivos comuns.

Como Usar a Calculadora chmod

  1. 1

    Defina as permissões do jeito que preferir

    Marque as caixas de leitura, escrita e execução por classe, digite um modo octal como 755 ou 4755, ou parta de um dos chips predefinidos — chave SSH 400, arquivo privado 600, arquivo web 644, script 755 e outros.

  2. 2

    Leia as três visões de uma vez

    A matriz de caixas de seleção, o valor octal e a string simbólica rwx permanecem sincronizados em todas as direções, com cada linha exibindo seu dígito e sua fatia de três caracteres enquanto você trabalha.

  3. 3

    Copie o comando exato de que precisa

    Cinco variantes prontas para executar se atualizam ao vivo: o modo numérico, o equivalente simbólico com agrupamento inteligente, o recursivo -R e o par mais seguro só-diretórios / só-arquivos construído sobre find -type.

  4. 4

    Decodifique permissões existentes

    Cole uma linha completa de ls -l — caractere de tipo de arquivo, marcadores de ACL e tudo mais — no campo simbólico e leia de volta o valor octal na hora, bits especiais incluídos.

  5. 5

    Confira o umask e compartilhe o resultado

    A seção de umask mostra o que novos arquivos e diretórios vão receber, e Copiar link captura o modo atual em uma URL que você pode soltar em um code review ou em um runbook.

Erros Comuns com chmod

Usar 777 para "resolver" Permission denied

Abrir o modo para o mundo normalmente mascara um problema de posse em vez de resolvê-lo — e deixa toda conta da máquina capaz de modificar seus arquivos. Corrija a posse primeiro; mantenha o modo fechado.

✗ Incorreto
sudo chmod -R 777 /var/www   # o acesso funciona, a segurança se foi
✓ Correto
sudo chown -R www-data:www-data /var/www   # corrige a posse, mantém 755/644

chmod -R indiscriminado em um diretório de uploads

Modos numéricos recursivos atingem arquivos e diretórios com o mesmo valor, então 755 torna toda imagem e documento 'executável' e 777 os torna graváveis pelo mundo. Divida a recursão por tipo.

✗ Incorreto
chmod -R 777 uploads/
✓ Correto
find uploads -type d -exec chmod 755 {} + && find uploads -type f -exec chmod 644 {} +

Esquecer que diretórios precisam de execução

O bit x em um diretório significa 'pode entrar e percorrer'. Em um diretório 644 não dá para fazer cd, nem mesmo para usuários que conseguem listá-lo — o que produz erros de Permission denied confusos um nível abaixo.

✗ Incorreto
chmod 644 reports/   # cd reports/ → Permission denied
✓ Correto
chmod 755 reports/   # diretórios levam x para poderem ser acessados

Publicar um script sem o bit de execução

Um arquivo recém-criado herda padrões de umask como 644, então ./script.sh falha com Permission denied até você adicionar execução ao menos para o dono. Runners de CI e entrypoints do Docker esbarram nisso o tempo todo.

✗ Incorreto
./deploy.sh   # bash: ./deploy.sh: Permission denied
✓ Correto
chmod u+x deploy.sh && ./deploy.sh

O Que Você Pode Fazer com a Calculadora chmod

Faça deploy em servidores web com segurança
Defina 755 em diretórios e 644 em arquivos para raízes de documentos do nginx ou do Apache usando os comandos find gerados, e deixe o painel de risco confirmar que nada está gravável pelo mundo antes de publicar. Combine com o gerador de htpasswd quando um diretório também precisar de proteção por autenticação básica.
Corrija permissões de chaves SSH
Os chips predefinidos 400 e 600 produzem exatamente o que o OpenSSH exige para chaves privadas, e a FAQ percorre a mensagem de erro 'Permissions 0644 ... are too open' que aparece quando uma chave fica legível pelo grupo.
Decodifique permissões na triagem de incidentes
Cole linhas de ls -l de um shell de produção direto no campo simbólico para transformar rwxr-sr-x em 2755 sem contar bits de cabeça — modos especiais, marcadores de ACL e caracteres de tipo de arquivo são todos entendidos.
Acerte os modos em hospedagem compartilhada e FTP
Painéis de controle e clientes FTP pedem modos numéricos: 755 para public_html, 644 para páginas, 600 para arquivos de configuração com credenciais. Carregue o chip, consulte a tabela, copie o número — sem chute.
Prepare contêineres e scripts de CI
Entrypoints e scripts de hook precisam de u+x antes que o Docker ou um runner de CI consiga executá-los, e montagens de volume herdam os modos do host. Gere aqui o chmod exato para cada caso, e agende os jobs que os executam com o gerador de crontab.

Como Funcionam as Permissões de Arquivos no Linux

A aritmética octal: 4 + 2 + 1
Cada classe de usuário recebe um dígito octal, e o dígito é a soma de leitura = 4, escrita = 2 e execução = 1. Todas as oito combinações existem: 0 nada, 1 só execução, 2 só escrita, 3 escrita + execução, 4 só leitura, 5 leitura + execução, 6 leitura + escrita, 7 as três. Um modo como 640, portanto, se lê assim: dono 6 (leitura + escrita), grupo 4 (só leitura), outros 0 (nada). A tabela de dígitos desta página lista as oito linhas, e a matriz mostra a mesma soma sendo montada conforme você marca as caixas.
Modo numérico (absoluto) vs. modo simbólico
O chmod aceita os mesmos bits de duas formas. O modo numérico declara o resultado completo — chmod 755 file substitui o que quer que existisse antes. O modo simbólico descreve uma mudança relativa ao estado atual: chmod u=rwx,go=rx file define as classes explicitamente, enquanto chmod g+w file inverte um único bit e deixa o resto em paz. O numérico é ideal para impor um estado sabidamente bom em scripts e deploys; o simbólico brilha em ajustes pontuais como u+x. Esta calculadora emite os dois, com classes agrupadas automaticamente (go=rx, a=rwx) do jeito que administradores experientes escrevem.
setuid, setgid e o sticky bit
Um quarto dígito octal, à esquerda, codifica os modos especiais: setuid = 4000 executa um binário com os privilégios do dono do arquivo, setgid = 2000 faz o mesmo com o grupo (e faz novos arquivos de um diretório herdarem o grupo dele), e o sticky bit = 1000 em um diretório compartilhado restringe a exclusão ao dono de cada arquivo — /tmp é o canônico 1777. No ls -l eles ocupam a posição de execução: s ou t minúsculos quando a execução também está ativa, S ou T maiúsculos quando não está (geralmente uma configuração errada que vale conferir). Uma sutileza do GNU/Linux: o chmod numérico preserva deliberadamente setuid/setgid preexistentes em diretórios — limpe-os com um modo de 5 dígitos como 00755, uma cláusula de igualdade como =755, ou u-s,g-s, como documentado no manual do GNU coreutils. BSD e macOS os limpam por padrão em modos numéricos.
Como o umask molda arquivos novos
Arquivos recém-criados partem da base 666 e diretórios, da base 777; o umask do processo então desliga os bits que ele contém — modo efetivo = base & ~umask. O umask padrão 022 mascara a escrita de grupo e outros, produzindo os familiares arquivos 644 e diretórios 755. Um 077 mais rígido dá 600 e 700, mantendo tudo privado ao dono; um colaborativo 002 dá 664 e 775 para que o grupo possa escrever. A seção de umask desta página faz o cálculo ao vivo para as duas bases.

Boas Práticas de Permissões de Arquivos

Conceda o menor privilégio que funcione
Parta do modo mais fechado e abra só o que quebrar: 600 para arquivos privados, 644 para os de leitura compartilhada, 755 apenas onde execução ou travessia for genuinamente necessária. Cada bit de escrita a mais é superfície de ataque.
Padrão: arquivos 644 dentro de diretórios 755
Esse par atende quase toda raiz web, checkout de repositório e cenário de leitura compartilhada. Arquivos comuns raramente precisam de execução; diretórios sempre precisam dela para serem acessados — trocar os dois causa a maioria dos erros de permissão do dia a dia.
Recursão com find -type, não com um -R indiscriminado
chmod -R 755 marca todo arquivo como executável. Use os comandos só-diretórios e só-arquivos que esta ferramenta gera, ou o X maiúsculo do chmod GNU (u+rwX,go+rX), que adiciona execução apenas onde ela pertence.
Nunca deixe 777 em nada que um servidor alcance
Raízes web e diretórios de upload graváveis pelo mundo são a rota clássica para arquivos injetados e sites desfigurados. Se várias contas precisam escrever, prefira um grupo compartilhado com 775 ou 2775 (o setgid mantém a posse de grupo consistente) a abrir o modo para o mundo.
Mantenha chaves SSH em 600 — ou 400 quando finais
O OpenSSH recusa terminantemente chaves privadas legíveis por grupo ou mundo. 600 é o padrão de trabalho; 400 ainda evita sobrescritas acidentais de uma chave que você nunca pretende editar. Chaves públicas e authorized_keys ficam bem em 644.

Perguntas Frequentes sobre a Calculadora chmod

O que significa chmod 777?
Ele concede leitura, escrita e execução a todo mundo — dono, grupo e todos os demais usuários. Cada dígito é a soma de leitura (quatro), escrita (dois) e execução (um) para uma classe de usuário, e o valor máximo em todas as posições significa que ninguém tem restrição alguma. Na forma simbólica é rwxrwxrwx. Existem usos legítimos, mas são raros e quase sempre em diretórios, não em arquivos; quando um tutorial manda dar chmod 777 em algo para "funcionar", o problema real quase sempre é a posse do arquivo, e chown é a correção certa.
chmod 777 é perigoso?
Em qualquer coisa acessível por outros usuários ou por um servidor web, sim: 777 significa que qualquer conta do sistema — inclusive uma conta de serviço comprometida — pode substituir o conteúdo do arquivo ou despejar arquivos novos no diretório. Raízes de documentos de servidores web em 777 são o caminho clássico para sites desfigurados e malware injetado. A exceção que confirma a regra é o 1777: adicionar o sticky bit, como faz o /tmp, deixa todo mundo criar arquivos e ao mesmo tempo impede que usuários apaguem os arquivos uns dos outros — esta calculadora sinaliza o 777 puro como risco, mas reconhece o 1777 como o padrão consagrado de diretório compartilhado.
Qual é a diferença entre chmod 755 e 644?
O bit de execução. 755 (rwxr-xr-x) deixa todo mundo executar ou percorrer, que é o que diretórios, scripts e binários precisam; 644 (rw-r--r--) é a mesma coisa sem nenhuma permissão de execução, o certo para arquivos comuns como páginas HTML, imagens e arquivos de configuração. O par clássico é 755 para todo diretório e 644 para todo arquivo dentro dele — os comandos só-arquivos e só-diretórios que esta calculadora gera produzem exatamente essa divisão com find -type d e find -type f.
Como corrigir "Permissions 0644 for 'id_rsa' are too open"?
Rode chmod 600 ~/.ssh/id_rsa e conecte de novo. O OpenSSH se recusa a usar uma chave privada que qualquer outra conta consiga ler: ele imprime o aviso WARNING: UNPROTECTED PRIVATE KEY FILE!, a linha Permissions 0644 for '/home/user/.ssh/id_rsa' are too open., informa que private key files must NOT be accessible by others e então ignora a chave — o que se manifesta como um pedido de senha inesperado ou como Load key ... bad permissions. O modo 600 (rw-------) satisfaz a checagem; 400 (r--------) também funciona e ainda protege contra sobrescritas acidentais. Veja o manual do OpenSSH para os requisitos dos arquivos de chave.
Qual é a diferença entre chmod e chown?
chmod muda o que o dono, o grupo e os outros atuais podem fazer com um arquivo — os bits de permissão. chown muda quem de fato são o dono e o grupo. Eles resolvem problemas diferentes: se um servidor web não consegue escrever no próprio diretório de uploads, a correção normalmente é chown www-data:www-data no diretório, e não afrouxar as permissões para o mundo inteiro com chmod. Um bom hábito quando algo está inesperadamente ilegível: confira primeiro a posse com ls -l, decodifique o modo (cole a linha nesta calculadora) e só então decida qual dos dois comandos a situação pede.
O que o chmod +x faz?
Ele adiciona o bit de execução para as classes de usuário não mascaradas pelo seu umask — com o umask comum de 022 isso significa todo mundo, então chmod +x script.sh costuma equivaler a chmod a+x script.sh e transforma um arquivo que o shell se recusa a rodar em um executável. Já sob um umask mais rígido como 077, +x afeta só o dono. Se você quer um resultado específico independentemente do umask, diga-o explicitamente: u+x só para o dono, a+x para todo mundo. Diretórios precisam do mesmo bit para sequer serem acessados, e é por isso que eles são 755, e não 644, por padrão.
Como aplicar chmod recursivamente em todos os arquivos e pastas?
Evite um chmod -R 755 indiscriminado: ele torna todo arquivo comum executável, o que na melhor das hipóteses é ruído e na pior é risco. O jeito limpo é tratar diretórios e arquivos separadamente — find dir -type d -exec chmod 755 {} + para diretórios e find dir -type f -exec chmod 644 {} + para arquivos, ambos gerados por esta calculadora para o modo escolhido. O X maiúsculo do chmod GNU faz o mesmo em uma linha (chmod -R u+rwX,go+rX dir): ele adiciona execução apenas a diretórios e a arquivos que já são executáveis. Uma sutileza do Linux: um chmod numérico simples como 755 deixa intacto um setuid/setgid preexistente em diretórios — limpe-o explicitamente com 00755 ou u-s,g-s se for essa a intenção.
Meus dados são enviados quando uso esta calculadora?
Não. Toda conversão acontece localmente no seu navegador, com aritmética de bits em JavaScript puro — não há chamada a servidor, nenhum evento de analytics atrelado ao que você digita e nada a reter. Você pode abrir as ferramentas de desenvolvedor do navegador e ver o painel de rede ficar em silêncio enquanto alterna permissões, ou ficar totalmente offline e continuar trabalhando. O botão Copiar link codifica o modo atual no fragmento da URL, e fragmentos também nunca são enviados a servidor algum.

Ferramentas relacionadas

Ver todas as ferramentas →