O proprietário pode ler e escrever. O grupo pode ler. Os outros podem ler.
| Ler | Escrever | Executar | |
|---|---|---|---|
| Proprietário | ✓ | ✓ | – |
| Grupo | ✓ | – | – |
| Outros | ✓ | – | – |
Uso típico
Arquivos comuns: todos podem ler, só você pode editar.
Bom saber
O 644 (rw-r--r--) é o padrão para arquivos comuns: o proprietário lê e escreve, todos os outros só leem. Arquivos novos o recebem automaticamente, já que os programas criam arquivos com 666 e o umask usual 022 remove a escrita do grupo e dos outros. Ele serve para HTML, CSS, imagens, código-fonte e configurações sem segredos, e um servidor web pode servir esses arquivos desde que todas as pastas acima deles tenham x.
O 644 é errado para qualquer coisa secreta: em um servidor compartilhado, todo usuário local, e qualquer conta de serviço comprometida, pode ler um arquivo .env, uma senha de banco de dados ou uma chave privada. Use 600 ou 640 para isso. Scripts precisam de x para rodar diretamente, então ./deploy.sh falha com “Permission denied” em 644; use 755 ou rode bash deploy.sh. Em uma pasta, 644 não funciona: sem x, ninguém consegue entrar nela.
Comandos
| Definir o modo | chmod 644 file |
|---|---|
| O mesmo com letras | chmod u=rw,g=r,o=r file |
| Uma pasta e tudo o que há dentro dela | chmod -R 644 folder |
| Só as pastas dentro dela | find folder -type d -exec chmod 644 {} + |
| Como o ls -l mostra | -rw-r--r-- |