Calculadora de permissões chmod
DevConverta entre octal chmod, simbólico e uma matriz de permissões 3×3 — ao vivo, sincronização tripla.
URLs remotas não são buscadas; cole seu JSON diretamente.
| leitura (4) | escrita (2) | execução (1) | Dígito | |
|---|---|---|---|---|
| Dono | | | | 0 |
| Grupo | | | | 0 |
| Outros | | | | 0 |
$ chmod 0000 file a= Nesta página
O que é uma calculadora chmod?#
chmod é o comando Unix que define as permissões de leitura, escrita e execução num arquivo ou diretório. O seu modelo de permissões é três grupos — dono, grupo, outros — cada um com três bits ligado/desligado: leitura (4), escrita (2), execução (1), que somam um único dígito de 0 a 7. Empilhe os três dígitos e obtém-se o modo octal que se escreve na linha de comando: 755 significa “dono leitura+escrita+execução (7), grupo leitura+execução (5), outros leitura+execução (5)”. Há também um prefixo especial opcional de quarto dígito para setuid, setgid e o sticky bit.
A razão pela qual uma calculadora é aqui genuinamente útil é a equivalência tripla entre a matriz de permissões (as caixas que se marcam num gestor de arquivos), o número octal (755), e a string simbólica (rwxr-xr-x, o que ls -l imprime). A maioria das pessoas aprende bem uma destas representações e tropeça nas outras duas. Esta página mantém as três sincronizadas: mude qualquer uma e as outras duas atualizam-se instantaneamente, e a linha de comando chmod correspondente é montada para si.
Isso importa porque um bit de permissão errado é uma das formas mais comuns de partir um deployment — um diretório que o servidor web não consegue ler, uma chave privada demasiado aberta que é rejeitada pelo SSH, um executável que perdeu o bit x. Ler 755 e saber que significa “legível pelo mundo, grupo e outros podem atravessar mas não escrever” é uma competência que esta ferramenta treina mostrando a tradução ao vivo.
Como usar#
- Trabalhe a partir da representação que já tem:
- Marque as caixas na matriz de permissões (3 linhas: dono/grupo/outros, 3 colunas: leitura/escrita/execução). A coluna Dígito à direita de cada linha mostra o valor 0–7 desse grupo à medida que marca.
- Ou escreva um valor Octal (1–4 dígitos, prefixo
0oaceite, por exemplo755,0644,0o600). - Ou escreva um valor Simbólico (
rwxr-xr-x, a forma por vírgulasrwx,r-x,r-x, ou uma cláusula chmod comou=rw,go=r).
- Se precisa de bits especiais, marque setuid, setgid ou sticky no conjunto de campos Bits especiais. Estes ocupam o slot de execução do seu dono na forma simbólica:
s/Spara setuid/setgid,t/Tpara sticky. - Leia o cartão de resultado:
- A linha de comando montada,
$ chmod <octal> file, pronta a copiar. - A forma simbólica, por exemplo
u=rwx,go=rx. - Uma decomposição por grupo mostrando o dígito de cada quem e as suas permissões de leitura/escrita/execução.
- A linha de comando montada,
- Clique em Copiar para recolher a linha de comando.
- A linha de estado confirma a análise ou reporta se uma entrada octal ou simbólica era inválida.
Principais recursos#
- Sincronização tripla ao vivo. Matriz, octal e simbólico atualizam-se uns aos outros, pelo que se pode introduzir o que se sabe e ler o que se precisa.
- Bits especiais bem tratados.
setuid,setgide o sticky bit são tratados sem perda, incluindo a notação de minúscula/maiúscula do slot de execução (svsS,tvsT) que olsusa. - Octal canónico de 4 dígitos. A saída são sempre 4 dígitos (
0755,4755,0000), correspondendo a comochmodestatmostram os modos — nunca uma forma ambígua de 3 dígitos quando os bits especiais estão definidos. - Simbólico em forma de cláusula. Emite a forma de atribuição absoluta que a shell aceita (
u=rw,go=rx), fundindo grupos adjacentes idênticos para brevidade, e anexa bits especiais comou+s/g+s/+t. - Análise tolerante de entrada. Aceita
755,0644,0o600, a imagem de 9 carateres, a variante separada por vírgulas, e cláusulas chmod (u=rwx,go=rx,u+rwx,go-w).
Exemplo detalhado#
O modo mais comum num diretório web deployed. Escreva 755 no campo Octal. A matriz marca dono leitura+escrita+execução, grupo leitura+execução, outros leitura+execução; o campo simbólico mostra rwxr-xr-x; e o cartão de resultado mostra:
$ chmod 755 file
Symbolic: u=rwx,go=rx
com a decomposição listando dono 7 (leitura, escrita, execução), grupo 5 (leitura, execução), outros 5 (leitura, execução). Esse é o modo padrão para diretórios e scripts executáveis: o dono pode fazer tudo, todos os outros podem ler e atravessar mas não modificar.
Contraste agora com 644 — o modo seguro para um arquivo regular servido. O simbólico passa a rw-r--r--, e o comando é $ chmod 644 file: o dono pode ler e escrever, grupo e outros só podem ler, e crucialmente ninguém tem execução (pelo que um arquivo baixado não corre acidentalmente). Para uma chave SSH privada escrever-se-ia 600 (rw-------), o único modo que o ssh aceita.
Um exemplo de bit especial: um binário que tem de correr com os privilégios do seu dono. Escreva 4755 e o slot simbólico passa a rwsr-xr-x — note o s na posição de execução do dono, marcando setuid. A linha de comando lê-se $ chmod 4755 file, e o 4 inicial é o dígito de prefixo especial (setuid = 4) que a forma de 3 dígitos não consegue expressar — razão pela qual esta ferramenta emite sempre quatro dígitos.
Perguntas frequentes#
Qual é a diferença entre 755 e 0755?#
Na linha de comando são equivalentes — chmod 755 e chmod 0755 produzem o mesmo modo, porque o 0 inicial simplesmente significa “sem bits especiais”. Esta ferramenta mostra sempre quatro dígitos (0755) para que a posição do bit especial seja visível e consistente com como stat e ls reportam os modos. Quando se copia a linha de comando, usa-se a forma convencional $ chmod 755 file porque é o que as pessoas escrevem.
O que significam s, S, t e T na saída simbólica?#
São os bits especiais a ocupar um slot de execução. Minúscula s (na posição do dono ou grupo) significa setuid/setgid e execução ligada; maiúscula S significa que o bit está definido mas a execução está desligada. Minúscula t (na posição de outros) significa sticky e execução ligada; maiúscula T significa sticky definido, execução desligada. Esta convenção de maiúscula-significa-sem-execução é como o ls distingue os dois estados sem uma coluna extra.
Devo usar octal ou simbólico quando efectivamente corro chmod?#
Ambos funcionam, mas comportam-se de forma diferente. Octal (chmod 755 file) define o modo absolutamente — cada bit fica exatamente como se escreveu. Simbólico (chmod u+x file) edita o modo atual — só muda os bits mencionados e deixa o resto em paz. Use octal quando se quer um estado final conhecido (scripts de deployment, Dockerfiles); use simbólico quando se quer empurrar uma permissão sem perturbar as outras.
Porque é que o SSH recusa a minha chave privada com um erro “bad permissions”?#
Porque o ssh exige que as chaves privadas tenham modo 0600 (leitura/escrita só do dono) e rejeita qualquer coisa mais aberta como insegura. Se a sua chave está em 0644 ou tem escrita de grupo/outros, o ssh trata-a como manipulável e recusa-se a usá-la. Defina com $ chmod 600 id_ed25519 e o erro desaparece. Pode verificar o modo exato aqui antes de correr o comando.