Calculadora de chmod
chmod Calculator
Converte entre as visões octal, simbólica e de caixas de seleção das permissões, inclusive setuid e sticky bit.
Uma caixa de seleção para cada bit de permissão, com o octal, a string do `ls -l` e o argumento do `chmod` se atualizando juntos. Também aplica uma mudança simbólica como `u+x` ao que você tem, e mostra com o que uma umask te deixaria.
Permissões
| Quem | Leitura r | Escrita w | Execução x | Octal |
|---|---|---|---|---|
| DonoO usuário dono do arquivo. | 6 | |||
| GrupoQuem faz parte do grupo do arquivo. | 4 | |||
| Todo o restoQualquer outra conta da máquina. | 4 | |||
| EspeciaisO quarto dígito octal. | 0 |
Argumento do chmod
u=rw,g=r,o=r
Aplicar uma mudança simbólica
Resultado
744
Como o ls mostra
rwxr--r--
`chmod +x` é uma mudança, não um valor: o que ele produz depende do que havia antes.
Passando por uma umask
Este modo vira
644
Um arquivo novo vira
644
Um diretório novo vira
755
Uma umask tira bits do que o programa pede. Um arquivo novo é pedido como 666 e um diretório novo como 777, e é por isso que a mesma umask dá 644 e 755.
Qual é a aparência
-rw-r--r-- 1 you staff 4096 file.txt
Um S ou um T maiúsculo nessa string quer dizer que o bit set-id ou o sticky está ligado enquanto o bit de execução abaixo dele está desligado: o bit não faz efeito nenhum, e quase sempre é um erro de digitação.
Como usar
Marque os bits, ou digite o número
Tudo é bidirecional: digite `755` e as caixas acompanham; marque uma caixa e o octal e a string do `ls -l` mudam com ela.
Diga se é um diretório
Isso muda o que os bits significam. Em um diretório, executar é permissão para entrar nele e ler é permissão para listá-lo: um diretório com leitura mas sem execução é o caso confuso que as notas vão apontar.
Experimente uma mudança simbólica
`chmod +x` é uma mudança, não um valor: o que ele produz depende do que havia. Digite `u+x,go-w` e veja o resultado antes de rodar.
Veja o que uma umask deixa
Uma umask remove bits do que um programa pede. O painel mostra em que um arquivo novo e um diretório novo terminariam sob a umask que você digitar.
Perguntas frequentes
Por que a mesma umask dá 644 e 755?
Porque os pedidos diferem, não a máscara. Um programa cria um arquivo comum pedindo 666 e um diretório pedindo 777; `022` remove os bits de escrita de grupo e outros de cada um, deixando 644 e 755. A máscara nunca adiciona um bit de execução que não foi pedido.
O que significa um S maiúsculo no `ls -l`?
Que o bit set-id ou o sticky está ligado enquanto o bit de execução abaixo dele está desligado. O bit então não tem efeito nenhum, e quase sempre é um erro de digitação: um `s` minúsculo é a combinação que funciona.
777 é certo alguma vez?
Quase nunca, e normalmente é um diagnóstico, não uma correção: faz o erro de permissão sumir sem te dizer qual bit de fato estava faltando. Em uma máquina compartilhada também significa que qualquer conta pode reescrever o arquivo.
Isto cobre ACLs?
Não. Isto é só o modo Unix clássico. Um `+` no fim de uma linha do `ls -l` significa que há uma ACL POSIX por cima, e ela pode conceder ou negar acessos sobre os quais estes nove bits não dizem nada: `getfacl` é onde olhar.
Pode receber de
Conversor de base numérica
Number Base Converter
Converte entre binário, octal, decimal, hexadecimal e qualquer base até 36, com visões bit a bit.
Formatador e validador de JSON
JSON Formatter & Validator
Formata, minifica e valida JSON, apontando a linha e a coluna exatas de um erro de sintaxe.
Formatador e validador de YAML
YAML Formatter & Validator
Reindenta YAML de forma consistente, valida e aponta os erros de tabulação e âncora que quebram os parsers.
Formatador e validador de TOML
TOML Formatter & Validator
Formata e valida TOML, normalizando a ordem das tabelas e o estilo das tabelas em linha.
Em seguida
Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.
docker run para Compose
docker run to Compose
Transforma uma linha de comando docker run numa definição de serviço do Compose, e converte de volta no outro sentido.
Conversor de .env
.env Parser & Converter
Analisa um arquivo .env e o converte para JSON, YAML, exports de shell, Docker ou formatos do Kubernetes.
Gerador de .gitignore
.gitignore Generator
Monta um .gitignore combinando modelos de linguagem, framework e editor, com as duplicatas mescladas.
Codificar e decodificar Base64
Base64 Encoder & Decoder
Codifica e decodifica Base64 e Base64URL para texto ou arquivos, tratando UTF-8 corretamente.
curl para código
curl to Code
Converte um comando curl em fetch, axios, Python requests, Go, PHP ou PowerShell.
Hash de texto
Text Hash
Calcula MD5, SHA-1, SHA-256, SHA-384, SHA-512 e CRC-32 de uma string, com opção de saída em maiúsculas e Base64.