# Calculadora chmod

Converta permissões de arquivos Unix entre octal (755), letras (rwxr-xr-x), ls -l e cláusulas chmod, com uma grade de caixas de seleção e os bits setuid, setgid e sticky.

https://codeknife.dev/pt/calculadora-chmod/

## O que faz

Converte permissões de arquivos Unix entre octal (`755`), letras de permissão (`rwxr-xr-x`), uma linha do `ls -l` e cláusulas do `chmod` (`u=rwx,g=rx,o=rx`). Marque a grade e cada notação acompanha, incluindo os bits setuid, setgid e sticky.

## Como usar

1. Digite um modo em qualquer notação ou marque as caixas.
2. Leia-o em cada notação e edite qualquer uma delas.
3. Copie o valor convertido ou escolha um tipo de arquivo para ver a linha do `ls -l` de um diretório ou link.

## Exemplos

`755` é `rwxr-xr-x`: o proprietário pode ler, escrever e executar, e todos os outros podem ler e executar. `644` é `rw-r--r--`, o modo usual de um arquivo, e `1777` é `rwxrwxrwt`, um diretório compartilhado como `/tmp`.

## Bom saber

- Os dígitos somam leitura 4, escrita 2 e execução 1 para o proprietário, o grupo e todos os outros. Um quarto dígito na frente acrescenta setuid 4, setgid 2 e sticky 1.
- Em letras, os bits especiais ocupam o lugar da execução: `s` para setuid e setgid, `t` para sticky. Um `S` ou `T` maiúsculo significa que o bit especial está definido sem o bit de execução.
- Cláusulas como `u=rwx,g=rx,o=rx` definem cada classe por inteiro, e uma classe que nenhuma cláusula cita fica sem permissões. Formas relativas como `u+x` não são lidas aqui, porque dependem do modo atual de um arquivo.

## O que significam os números do chmod?

Cada dígito soma leitura (4), escrita (2) e execução (1) para uma classe: o primeiro dígito é o proprietário, o segundo o grupo e o terceiro todos os outros. Assim, 755 significa que o proprietário pode ler, escrever e executar, e os outros podem ler e executar. Um quarto dígito na frente acrescenta setuid (4), setgid (2) e sticky (1).

## Perguntas frequentes

### O que são setuid, setgid e o bit sticky?

Com setuid e setgid, um programa roda com as permissões do seu proprietário ou grupo em vez das de quem o inicia. Em um diretório, o setgid faz os novos arquivos herdarem o grupo, e o bit sticky (como em /tmp) permite que só o proprietário de um arquivo o apague. Em letras, são um s ou t no lugar da execução; um S ou T maiúsculo significa que o bit de execução não está definido.

### Por que 777 é uma má ideia?

Ele permite que qualquer usuário do sistema altere ou substitua o arquivo. Dê ao proprietário o que ele precisa e ao grupo ou aos outros só o acesso necessário: para scripts costuma ser 755, para arquivos privados 600.

### Esta ferramenta envia a minha entrada para algum lugar?

Não. Tudo acontece no seu navegador. O que você digita nunca é enviado aos nossos servidores.