Números do chmod explicados: 600, 644, 700 e 755
Entenda permissões numéricas do chmod, escolha modos seguros para arquivos e diretórios, confira o resultado e evite alterações recursivas arriscadas.
Iniciar lição interativaUm modo chmod de três dígitos define as permissões do proprietário, do grupo e das demais pessoas, nessa ordem. Cada dígito soma leitura (4), escrita (2) e execução ou busca em diretório (1). Por exemplo, chmod 640 report.txt permite que o proprietário leia e altere o arquivo, que o grupo o leia e que os demais não tenham acesso. A lição sobre permissões numéricas oferece um ambiente seguro para praticar a leitura desses dígitos.
Monte um dígito de permissão
Cada categoria de usuário recebe um valor de 0 a 7:
| Número | Permissão | Significado |
|---|---|---|
| 0 | --- | sem acesso |
| 1 | --x | executar um arquivo ou buscar em um diretório |
| 2 | -w- | escrever |
| 3 | -wx | escrever + executar/buscar |
| 4 | r-- | ler |
| 5 | r-x | ler + executar/buscar |
| 6 | rw- | ler + escrever |
| 7 | rwx | ler + escrever + executar/buscar |
Junte três dígitos na ordem proprietário-grupo-demais. Portanto, o modo 754 significa rwxr-xr--.
Escolha o modo para o destino, não por uma lista decorada
Estes modos são pontos de partida comuns, mas a escolha correta depende de quem deve usar o caminho:
| Modo | Significado típico |
|---|---|
600 | arquivo privado que apenas o proprietário pode ler e alterar |
640 | proprietário lê e altera; grupo lê; demais não têm acesso |
644 | proprietário lê e altera; todos os outros leem |
700 | diretório privado ou executável disponível apenas ao proprietário |
750 | proprietário tem acesso total; grupo pode ler e entrar; demais não têm acesso |
755 | proprietário pode alterar; todos podem ler e entrar ou executar |
Aplique um modo a um destino conhecido:
chmod 640 report.txt
chmod 750 scripts
Diretórios precisam do bit x para permitir a entrada e o acesso aos itens nomeados dentro deles. Um diretório com permissão de leitura, mas sem permissão de busca, pode listar nomes em algumas situações e ainda impedir o acesso normal a essas entradas. Por isso, copiar para um diretório o modo usado em um arquivo comum costuma provocar falhas confusas.
Confira o resultado na forma simbólica
Verifique o modo depois de alterá-lo:
ls -l report.txt
ls -ld scripts
Com 640, a sequência de permissões deve começar por -rw-r----- em um arquivo comum. Em um diretório com 750, deve começar por drwxr-x---. O primeiro caractere descreve o tipo de arquivo; os nove seguintes representam as permissões do proprietário, do grupo e dos demais.
Os modos numérico e simbólico respondem a perguntas diferentes
Um modo numérico declara o conjunto completo de permissões comuns desejado. Uma alteração simbólica ajusta apenas alguns bits em relação ao modo atual:
chmod g+w shared.txt
chmod o-r private.txt
Use a forma simbólica quando a meta for “adicionar permissão de escrita ao grupo” sem redefinir permissões não relacionadas. Use a forma numérica quando você tiver escolhido deliberadamente o modo completo para proprietário, grupo e demais. Bits especiais, como setuid, setgid e sticky bit, acrescentam outro dígito e merecem uma análise separada antes do uso.
Evite chmod -R 777 como atalho para resolver problemas. Ele concede todas as permissões comuns a todas as categorias de usuário e aplica essa decisão a caminhos que talvez você nem tenha examinado. Comece com um único destino, confira o resultado e só amplie o alcance quando todos os descendentes realmente precisarem da mesma política.
Para decidir especificamente entre 600 e 700 no SSH, leia como proteger arquivos SSH. A referência de modos numéricos do GNU define os valores octais e o comportamento dos modos especiais.
Referências
Estes links de documentação trazem detalhes confiáveis sobre os comandos usados neste artigo.
A seguir
Use chmod 600 na chave SSH privada e 700 no diretório, depois confira permissões e propriedade antes de tentar a conexão novamente.