Calculadora chmod
Defina permissões de arquivos Unix com caixas de seleção, um número octal como 755 ou o texto rwxr-xr-x, e obtenha os comandos chmod correspondentes.
Funciona inteiramente no seu navegador
- Numérico
- Simbólico
O que este modo permite
| Quem | Em um arquivo | Em um diretório |
|---|
Funciona com os nove bits de permissão mais setuid, setgid e sticky, como no chmod POSIX. Não lê arquivos reais, não mostra o dono e não cobre ACLs, atributos de arquivo nem umask. Modos octais precisam de 3 ou 4 dígitos.
Como calcular um modo chmod
- Marque as caixas de dono, grupo e outros, ou escolha um modo comum como 644 ou 755. Você também pode digitar um número octal ou o texto de nove letras, e as caixas acompanham.
- Confira o resumo do que cada classe pode fazer com um arquivo e com um diretório, e leia qualquer aviso exibido.
- Copie o comando
chmodnumérico ou simbólico. Troque o nome do arquivo antes se quiser o comando pronto para colar.
Como as permissões de arquivos Unix são guardadas
A calculadora chmod trabalha com o modo que todo arquivo e diretório de um sistema tipo Unix carrega: três bits de permissão (leitura, escrita, execução) para cada uma de três classes (o usuário dono, o grupo dono, todos os outros), mais três bits especiais. São doze bits, e o número octal é simplesmente esses bits escritos de três em três, e é por isso que os dígitos só vão até 7. O formato de nove letras do ls -l mostra os mesmos bits como letras.
Leitura, escrita e execução significam coisas diferentes em um diretório. Leitura permite listar os nomes de dentro, escrita permite adicionar, renomear e remover entradas, e execução permite entrar no diretório e acessar itens pelo nome. Um diretório com leitura, mas sem execução, mostra os nomes e nega acesso a tudo o que está dentro, uma fonte comum de erros de permissão confusos.
Os bits especiais mudam o comportamento de um modo. Setuid e setgid fazem um programa rodar com os direitos do dono ou do grupo do arquivo em vez dos de quem o chamou, o que é poderoso e por isso é ignorado em scripts de shell na maioria dos sistemas. Setgid em um diretório faz os arquivos novos herdarem o grupo dele, e o sticky bit em um diretório impede que usuários apaguem os arquivos uns dos outros. Se não tiver certeza de qual modo um arquivo precisa, comece restritivo e acrescente só o que uma mensagem de erro pedir.
Dicas
- Binário e octal são os mesmos bits escritos de formas diferentes; o Conversor de bases numéricas mostra 755 como 111 101 101.
- Planejando um cron job que roda um script que você acabou de tornar executável? Monte o agendamento com o Gerador de expressão cron.
- Vai calcular faixas de rede em seguida? Experimente a Calculadora de sub-rede.
Perguntas frequentes
Como funciona o número octal?
Cada dígito soma leitura (4), escrita (2) e execução (1) de uma classe, na ordem dono, grupo, outros. Assim, 7 é leitura, escrita e execução, 5 é leitura e execução, e 4 é só leitura. 755 dá tudo ao dono e leitura e execução a todos os outros. Um quarto dígito opcional na frente guarda setuid (4), setgid (2) e sticky (1).
O que significam as letras s, S, t e T?
Elas substituem o x na posição do dono, do grupo ou dos outros. Uma letra minúscula significa que o bit especial está ligado e a execução também; uma letra maiúscula significa que o bit especial está ligado, mas a execução está desligada, o que geralmente é um erro. Assim, 4755 é rwsr-xr-x e 4644 é rwSr--r--.
Qual a diferença entre 644 e 755?
644 é o modo comum para arquivos normais: o dono pode ler e escrever, e todos os outros só podem ler. 755 acrescenta execução para todos, o que programas, scripts e diretórios precisam. Diretórios precisam do bit de execução para que alguém possa entrar neles.
Por que o 777 é considerado perigoso?
Ele permite que qualquer usuário da máquina, e qualquer programa rodando como um deles, altere ou substitua o arquivo. Um servidor web que precisa escrever em algum lugar não precisa disso: dar a posse ao usuário ou grupo certo e usar 775 ou 770 resolve a maioria dos erros de permissão sem abrir o arquivo para todo mundo.
O que o sticky bit faz?
Em um diretório, ele impede que usuários apaguem ou renomeiem arquivos que não são deles, mesmo que possam escrever no diretório. É por isso que pastas compartilhadas como /tmp têm modo 1777. No Linux moderno, ele não tem efeito em arquivos comuns.
Isto muda alguma coisa no meu computador?
Não. Ele só calcula o número e os comandos. Nada do que você digita é enviado, e você mesmo executa os comandos em um terminal.