Os 125 modos do chmod
O que 755 e 644 realmente abrem, e qual umask os produz — tudo sai dos três dígitos.
Os que realmente se usam
Dos 125, cerca de dez são os que os dedos realmente digitam.
Todos os 125
Todas as combinações dos cinco valores que realmente se usam: 0, 4, 5, 6 e 7. Ficam de fora os de escrever sem ler.
Dono 0 — 0xx---
Dono 4 — 4xxr--
Dono 5 — 5xxr-x
Dono 6 — 6xxrw-
Dono 7 — 7xxrwx
Como ler
- Ler vale 4, escrever 2, executar 1; soma-se para formar um dígito. 7 é 4+2+1 e 5 é 4+1.
- Os dígitos são dono, grupo e outros, da esquerda para a direita.
- umask é o que se tira: de 777 em diretórios e de 666 em arquivos.
- Os bits especiais (setuid 4000, setgid 2000, sticky 1000) põem um quarto dígito na frente: /tmp é 1777.
Perguntas frequentes
Q. Qual a diferença entre 755 e 644?
Um bit de execução. Com 755 qualquer um roda o arquivo ou entra na pasta; com 644 os outros só leem. Pastas 755, arquivos comuns 644.
Q. Por que não usar 777?
Porque aí qualquer um que alcance a máquina muda o conteúdo. Pôr 777 para escapar de um erro de permissão é tirar a porta.
Q. O que significa umask 022?
É o que se subtrai. Diretórios partem de 777 e ficam 755; arquivos partem de 666 e ficam 644.
Q. O que é 1777, com quatro dígitos?
O primeiro são os bits especiais. O 1 é o sticky bit: em /tmp todos escrevem, mas ninguém apaga arquivo alheio.
Q. O que significa executar numa pasta?
O direito de entrar. Só com leitura você vê os nomes mas não abre nada lá dentro.