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
- 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 dols -l(rw-r--r--ou-rw-r--r--com o tipo de arquivo na frente) e expressões chmod comou=rwx,g=rx,o=oua+x. - As caixas e os resultados acompanham o que você digita, e marcar uma caixa reescreve o modo na mesma notação.
- 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.