Pular para o conteúdo

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.

🔒 Roda inteiramente no seu navegadorchmodpermissionslinuxcalculator

Permissões

Uma caixa de seleção por bit de permissão.
QuemLeitura rEscrita wExecução xOctal
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

  1. 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.

  2. 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.

  3. 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.

  4. 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

Em seguida

Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.