DevToolPal
PT

Calculadora chmod

Converta permissões de arquivos Unix entre caixas de seleção, notação octal (755) e simbólica (rwxr-xr-x), com setuid, setgid e sticky bit, e gere o comando chmod pronto para copiar.

Roda localmente, nada é enviado

Opções

Permissões

LeituraEscritaExecuçãoEspecial
Dono
Grupo
Outros

Resultado

O resultado aparece aqui

O que faz

A calculadora chmod converte permissões de arquivos Unix e Linux entre as três formas como elas costumam ser escritas: uma grade de caixas de leitura, escrita e execução, um número octal como 755 e uma string simbólica como rwxr-xr-x. Ela também gera o comando chmod correspondente nas formas octal e simbólica, explica quem pode fazer o quê e suporta os bits especiais setuid, setgid e sticky. Tudo roda no seu navegador.

Como usar

  1. Marque as caixas do dono, do grupo e dos outros, ou digite um modo na caixa de texto. Ela aceita octal (644, 0644, 4755), strings no estilo do ls -l (rw-r--r-- ou -rw-r--r-- com o tipo de arquivo na frente) e expressões chmod como u=rwx,g=rx,o= ou a+x.
  2. As caixas e os resultados acompanham o que você digita, e marcar uma caixa reescreve o modo na mesma notação.
  3. Defina o nome do arquivo em Opções e ative Recursivo (-R) se quiser aplicar o modo a uma árvore de diretórios inteira. Copie o comando com um clique.

Modos comuns

chmod 755 deploy.sh        # rwxr-xr-x
chmod 644 index.html       # rw-r--r--
chmod 600 ~/.ssh/id_ed25519  # rw-------
chmod 1777 /tmp            # rwxrwxrwt
  • 755 para diretórios, scripts e programas: o dono pode alterá-los e todos podem ler e executar.
  • 644 para arquivos comuns, como páginas web e imagens.
  • 600 para arquivos privados, como chaves SSH e arquivos .env: só o dono pode lê-los. O SSH recusa chaves que outros podem ler.
  • 700 para diretórios privados e 775/664 quando um grupo de usuários compartilha um projeto.

Como os números funcionam

Cada classe de usuário recebe um dígito octal formado pela soma de leitura = 4, escrita = 2 e execução = 1. Em um diretório, leitura significa listar os nomes, escrita significa criar e apagar arquivos dentro dele e execução significa entrar nele ou acessar seus arquivos.

Um dígito inicial opcional guarda os bits especiais: setuid = 4, setgid = 2, sticky = 1. Na forma simbólica eles substituem a letra de execução: s para setuid e setgid e t para sticky. Um S ou T maiúsculo indica que o bit especial está ativo, mas a execução não, o que quase sempre é um erro.

A calculadora também mostra a umask equivalente, ou seja, os bits que uma umask padrão retira de 777 para chegar ao modo. Uma umask de 022 gera diretórios 755 e arquivos 644.

Perguntas frequentes

› O que significa chmod 755?

Cada dígito é uma classe de usuário: dono, grupo e outros. 7 = leitura (4) + escrita (2) + execução (1); 5 = leitura + execução. Então 755 deixa o dono fazer tudo e os demais lerem e executarem o arquivo, o que se escreve rwxr-xr-x. É o modo usual para scripts e diretórios.

› Qual a diferença entre 644 e 755?

644 (rw-r--r--) não tem bit de execução, por isso serve para arquivos comuns como HTML, imagens e configurações. 755 adiciona execução para todos, o que programas precisam para rodar e diretórios precisam para que se possa entrar neles.

› Por que chmod 777 é má ideia?

777 dá a qualquer usuário do sistema permissão para alterar ou substituir o arquivo. Em um servidor web, qualquer processo comprometido poderia reescrever seu código. Corrija o dono com chown e use 755 para diretórios e 644 para arquivos.

› O que são setuid, setgid e sticky bit?

Eles formam um quarto dígito octal no início. setuid (4) faz um programa rodar como seu dono, setgid (2) o executa como seu grupo ou faz arquivos novos em um diretório herdarem o grupo, e o sticky bit (1) impede que usuários apaguem arquivos alheios em um diretório compartilhado como /tmp. Na saída do ls eles aparecem como s e t na posição de execução.