Pack Camo

Calculadora chmod

Permissões de arquivos Unix em caixas de seleção, octal como 755 e simbólico como rwxr-xr-x.

Tudo roda localmente — nada é enviado para servidor nenhum.

Permissões

QuemLeitura (4)Escrita (2)Execução (1)Valor
Dono7
Grupo5
Outros5
Bits especiais

Modos comuns

Comando

  • Numérico
    chmod 755 script.sh
  • Simbólico
    chmod u=rwx,g=rx,o=rx script.sh
Octal
0755
Simbólico
rwxr-xr-x
ls -l
-rwxr-xr-x
Forma chmod
u=rwx,g=rx,o=rx

Quem pode fazer o quê

  • O dono pode lê-lo, alterá-lo e executá-lo como programa.
  • O grupo pode lê-lo e executá-lo como programa.
  • O restante dos usuários pode lê-lo e executá-lo como programa.

Calcule permissões de arquivos Unix e o comando chmod

Esta calculadora chmod converte permissões de arquivos do Linux e do macOS para todas as formas que você precisa: marque leitura, escrita e execução para o dono, o grupo e os demais, ou digite um modo octal como <code>755</code> ou simbólico como <code>rwxr-xr-x</code>, e as outras visualizações acompanham. Você recebe o comando <code>chmod</code> correspondente nas formas numérica e simbólica, os bits setuid, setgid e sticky, e um resumo em linguagem simples de quem pode fazer o quê. Tudo é calculado no seu navegador.

Como calcular permissões chmod

  1. 1Marque as permissões desejadas para Dono, Grupo e Outros, ou digite um modo octal como 644 ou simbólico como rw-r--r--. Você também pode colar uma coluna inteira do ls -l, como drwxr-sr-x.
  2. 2Escolha Arquivo ou Diretório: leitura, escrita e execução significam coisas diferentes em cada caso, e a explicação muda de acordo.
  3. 3Adicione o bit setuid, setgid ou sticky se precisar, ou comece por um modo comum como 755 ou 600.
  4. 4Digite o caminho, ative Recursivo se deve valer para uma árvore inteira e copie o comando chmod.

Como funcionam as permissões octais

Cada arquivo tem três conjuntos de permissões: um para o dono (u), um para o grupo (g) e um para os outros (o), ou seja, todo o resto. Cada conjunto tem três bits — leitura, escrita e execução — e um dígito octal é simplesmente a soma deles: leitura vale 4, escrita 2 e execução 1. Então 7 é rwx (4+2+1), 6 é rw- (4+2), 5 é r-x (4+1) e 4 é r-- sozinho.

Três dígitos formam o modo completo, na ordem dono, grupo, outros. Assim, chmod 755 dá ao dono rwx e a todos os outros r-x, escrito rwxr-xr-x, enquanto chmod 644 dá ao dono rw- e a todos os outros r--, escrito rw-r--r--. Um quarto dígito na frente guarda os bits especiais: 4 para setuid, 2 para setgid e 1 para sticky, como em chmod 1777.

Valores chmod comuns

644 (rw-r--r--)
O padrão para arquivos comuns: o dono pode editar, todos podem ler. Ideal para HTML, imagens e a maioria das configurações.
755 (rwxr-xr-x)
O padrão para diretórios, scripts e programas: todos podem ler e executar, só o dono pode alterar.
600 (rw-------)
Arquivos privados que só o dono pode ler: chaves privadas SSH, arquivos .env, credenciais. O ssh recusa uma chave privada que outros possam ler.
700 (rwx------)
Um diretório privado, como ~/.ssh, em que só o dono pode entrar.
664 / 775
Como 644 e 755, mas o grupo também pode escrever: para pastas de projeto compartilhadas entre colegas do mesmo grupo.
777 (rwxrwxrwx)
Qualquer pessoa pode ler, alterar e executar. Quase nunca é a solução certa para um erro de permissão, e é um risco de segurança em um servidor web.
1777 (rwxrwxrwt)
Gravável por todos com o sticky bit, como o /tmp: todos podem criar arquivos, mas só o dono de um arquivo pode apagá-lo.

Permissões em diretórios

Em um diretório, as três letras têm outro significado. Leitura permite listar os nomes dentro dele; escrita permite criar, renomear e apagar entradas nele; execução (muitas vezes chamada de busca) permite entrar com cd e acessar os arquivos pelo nome. Leitura e escrita servem pouco sem execução, por isso diretórios quase sempre têm x onde têm r — 755 em vez de 644.

Apagar um arquivo é uma alteração no diretório, não no arquivo. Qualquer pessoa com permissão de escrita e execução em um diretório pode apagar qualquer arquivo nele, até um arquivo somente leitura que não seja dela — a menos que o diretório tenha o sticky bit.

Setuid, setgid e o sticky bit

Na forma simbólica, os bits especiais substituem a letra de execução: s quando a execução também está ativa e S quando não está, e t ou T para o sticky bit. Uma letra maiúscula geralmente indica um erro, porque um programa setuid que ninguém pode executar não faz nada.

Uma peculiaridade do GNU coreutils: chmod 755 em um diretório mantém um bit setuid ou setgid existente. Para removê-los com um número, escreva cinco dígitos — chmod 00755 — ou use chmod g-s.

Setuid (4000, u+s)
Um executável roda com os privilégios do dono, e não de quem o chama. O passwd usa isso para gravar /etc/shadow como root. O Linux ignora em scripts e diretórios.
Setgid (2000, g+s)
Um executável roda com os privilégios do seu grupo. Em um diretório, os arquivos novos herdam o grupo do diretório em vez do grupo principal de quem os criou — a configuração usual para pastas de equipe (2775).
Sticky bit (1000, +t)
Em um diretório, só o dono do arquivo, o dono do diretório ou o root podem apagar ou renomear os arquivos dentro dele. O Linux moderno ignora em arquivos.

chmod numérico ou simbólico?

Um modo numérico como chmod 644 file define todos os bits de uma vez, o que você quer quando sabe o estado final. A forma simbólica é mais flexível: chmod u=rw,g=r,o=r file define o mesmo, enquanto chmod g+w file ou chmod o-rwx file alteram só os bits citados e deixam o resto como está.

Cuidado com chmod -R: um único modo para todos os arquivos e diretórios de uma árvore costuma dar aos arquivos bits de execução que eles não deveriam ter. Use find . -type d -exec chmod 755 {} + e find . -type f -exec chmod 644 {} + para tratá-los separadamente, ou o X maiúsculo em chmod -R u=rwX,go=rX, que adiciona execução só a diretórios e a arquivos que já a tinham. Arquivos novos recebem as permissões iniciais da umask: uma umask 022 gera arquivos 644 e diretórios 755. Para encontrar nomes de arquivos em scripts de shell, experimente o Regex Tester.

Perguntas frequentes

O que significa chmod 755?
755 dá ao dono leitura, escrita e execução (7) e ao grupo e a todos os outros leitura e execução (5 e 5), escrito rwxr-xr-x. É o modo usual para diretórios, scripts e programas.
O que significa chmod 644?
644 dá ao dono leitura e escrita (6) e a todos os outros apenas leitura (4 e 4), escrito rw-r--r--. É o modo usual para arquivos comuns, como páginas web, imagens e arquivos de configuração.
Qual a diferença entre 755 e 644?
755 adiciona execução para todos. Em um arquivo, isso permite executá-lo como programa; em um diretório, permite entrar nele. Use 644 para arquivos que só são lidos e 755 para diretórios e executáveis.
chmod 777 é seguro?
Raramente. 777 permite que qualquer usuário do sistema altere ou substitua o arquivo, e em um servidor web pode deixar um invasor que entrou por um site modificar outros. Em vez disso, corrija o dono com chown ou dê acesso ao grupo (775 ou 664).
Quais permissões uma chave privada SSH deve ter?
600 (rw-------), ou 400 para somente leitura, com o próprio ~/.ssh em 700. O OpenSSH se recusa a usar uma chave privada que outros usuários possam ler e mostra "UNPROTECTED PRIVATE KEY FILE".
O que significa o s ou o t em rwsr-xr-x?
Um s na posição do dono ou do grupo é o bit setuid ou setgid com a execução também ativa; um t na posição de outros é o sticky bit. S ou T maiúsculo significa que o bit especial está ativo sem a permissão de execução por baixo.
Como converto rwxr-xr-x em número?
Divida em três grupos — rwx, r-x, r-x — e some r=4, w=2 e x=1 em cada um: 7, 5, 5, resultando em 755. Digite no campo simbólico acima para converter na hora.
Esta ferramenta altera algum arquivo?
Não. Ela só calcula o modo e o comando; quem executa o comando é você. Tudo acontece no seu navegador.