Calculadora chmod
Converte permissões de ficheiros Unix entre caixas, notação octal (755) e simbólica (rwxr-xr-x), com setuid, setgid, sticky bit e comandos chmod prontos.
| Classe | Leitura (4) | Escrita (2) | Execução (1) |
|---|---|---|---|
| Dono (u) | |||
| Grupo (g) | |||
| Outros (o) |
Comandos
- Numérico
- Simbólico
- Como mostrado por ls -l
- Alteração relativa a partir de {from}
Quem pode fazer o quê
Predefinições comuns
Como usar a calculadora chmod
- Começa por qualquer representação: marca as caixas na tabela Permissões, escreve um modo em Octal (p. ex. 755 ou 4755) ou cola uma string como
rwxr-xr-xoudrwxr-sr-x(tal como sai dols -l) em Simbólico (p. ex. rwxr-xr-x). As outras vistas acompanham de imediato. - Define os Bits especiais se precisares deles: Setuid (4000), Setgid (2000) ou Sticky (1000). O modo octal passa então a ter quatro algarismos.
- Introduz o Nome do ficheiro ou diretório, marca É um diretório e Recursivo (-R) conforme necessário, e copia o comando Numérico ou Simbólico.
- Para testar uma alteração relativa, escreve-a em Alteração simbólica (p. ex. u+x,go-w) e clica em Aplicar alteração.
Os botões de Predefinições comuns carregam modos típicos como 644, 600, 755 ou 2775. A linha Alteração relativa a partir de … mostra a expressão chmod que transforma a última predefinição ou o último modo escrito no modo atual, por exemplo a+x de 644 para 755.
Ler as permissões Unix
Cada ficheiro tem três classes de utilizadores: o dono (u), o grupo (g) do ficheiro e os outros (o), ou seja, toda a gente. Cada classe recebe três permissões, cada uma com um valor: leitura = 4, escrita = 2, execução = 1. Somando-as obtém-se um algarismo octal por classe: rwx = 7, rw- = 6, r-x = 5, r– = 4. É por isso que rwxr-xr-x é 755.
Num diretório, as mesmas letras significam algo ligeiramente diferente, como detalha a lista Quem pode fazer o quê: r permite listar as entradas, w permite criar, mudar o nome e apagar entradas (em conjunto com x), e x permite entrar no diretório e chegar aos ficheiros lá dentro.
Bits especiais
- Setuid (4000) num executável faz com que corra com os direitos do dono do ficheiro. O
passwdusa-o para escrever na base de dados de palavras-passe. Aparece comosna posição de execução do dono, ouSse faltar a execução. - Setgid (2000) num executável faz com que corra com os direitos do grupo. Num diretório, os ficheiros novos herdam o grupo do diretório, o que mantém coerentes as pastas de projetos partilhadas (2775).
- Sticky (1000) num diretório faz com que só o dono de um ficheiro o possa apagar ou mudar de nome, mesmo que toda a gente possa escrever lá. O
/tmpé 1777. Aparece comot(ouT) na posição de execução dos outros.
Alterações simbólicas
Uma expressão simbólica é «quem, operador, permissões»: u+x acrescenta a execução para o dono, go-w retira a escrita ao grupo e aos outros, a=r define só leitura para todos, g=u copia os direitos do dono para o grupo. Separa as cláusulas com vírgulas. O X maiúsculo acrescenta a execução apenas a diretórios ou a ficheiros que já tenham um bit de execução, o que torna chmod -R a+X seguro numa árvore com ficheiros de vários tipos. Quando o «quem» é omitido, esta ferramenta aplica a alteração a todas as classes, como faz o chmod do GNU com uma umask de 0.
Conselhos de segurança
Evita o 777. Permite que qualquer conta na máquina, incluindo um processo de servidor web comprometido, modifique ou substitua o ficheiro. As escolhas seguras típicas são 644 para ficheiros, 755 para diretórios e scripts, 600 para chaves privadas e 700 para diretórios privados. A calculadora avisa quando um modo permite a escrita a todos, quando usas 777 e quando há programas setuid.
Perguntas frequentes
Qual é a diferença entre chmod 755 e chmod 775?
Com 755, só o dono pode escrever; o grupo e os outros podem ler e executar. O 775 dá também acesso de escrita ao grupo, o que convém a diretórios partilhados por uma equipa.
Que permissões deve ter uma chave privada SSH?
600 (rw-------). O OpenSSH recusa usar uma chave privada que o grupo ou os outros consigam ler.
Porque é que o modo octal às vezes tem quatro algarismos?
O primeiro algarismo guarda os bits especiais: 4 para setuid, 2 para setgid, 1 para sticky. 0755 e 755 são o mesmo modo.
O chmod 644 funciona num diretório?
Define os bits, mas sem x ninguém consegue entrar no diretório nem abrir os ficheiros que contém. Usa 755 ou 750 para diretórios.
O que significa um S ou T maiúsculo no ls -l?
O bit especial está definido, mas o bit de execução correspondente não. Normalmente é um erro: acrescenta a permissão de execução ou retira o bit especial.
Ferramentas relacionadas
- Conversor de bases numéricas Converte números entre binário, octal, decimal, hexadecimal e qualquer base de 2 a 36, com complemento para dois, frações e resolução passo a passo.
- Gerador de redirecionamentos .htaccess Gera redirecionamentos 301 e 302 para .htaccess ou Nginx, força HTTPS e www, muda de domínio e trata a barra final, com deteção de ciclos e cadeias.
- Gerador de expressões cron Cria uma expressão cron campo a campo, lê-a em linguagem simples, vê as próximas execuções em qualquer fuso horário e converte-a para systemd, Quartz ou AWS.