chmod a+r
chmod a+r arquivo adiciona leitura para as três classes (dono, grupo e outros) e deixa escrita e execução como estavam; como indica o a de forma explícita, o umask não interfere.
Resultado em modos de partida comuns
| Antes | Depois |
|---|---|
600 rw------- | 644 rw-r--r-- |
640 rw-r----- | 644 rw-r--r-- |
700 rwx------ | 744 rwxr--r-- |
711 rwx--x--x | 755 rwxr-xr-x |
400 r-------- | 444 r--r--r-- |
a+r versus +r
O a+r sempre atinge as três classes. O +r simples passa pelo filtro do umask: com umask 077 só adiciona leitura para o dono, e com 027 pula os outros. O manual do GNU dá o mesmo exemplo com +w e a+w. Quando quiser um resultado previsível num script, escreva a classe.
Liberando uma árvore de diretórios: a+rX
Para um servidor web ou outros usuários lerem uma árvore inteira, os diretórios também precisam de execução para alguém entrar neles. O X maiúsculo só adiciona execução a diretórios e a arquivos que já são executáveis para alguém, então a+rX deixa tudo legível e todo diretório atravessável sem marcar arquivos de dados como programas.
chmod a+r relatorio.pdf
chmod -R a+rX /var/www/site/public
# todo diretório pai no caminho também precisa de execução:
namei -l /var/www/site/public/index.htmlPerguntas frequentes
- O que o chmod a+r faz?
- Dá permissão de leitura para o dono, o grupo e todos os demais, sem mudar escrita nem execução.
- chmod a+r é igual a chmod 644?
- Só quando o arquivo já era 600 ou 644. O a+r adiciona leitura e mantém os outros bits; o 644 substitui o modo inteiro, tirando qualquer execução e a escrita do grupo.
- Por que o servidor web ainda não lê o arquivo depois do a+r?
- Todo diretório no caminho precisa de execução para esse usuário. Confira com namei -l /caminho/completo e adicione a+x (ou a+X) no diretório que aparece sem x para os outros.
Revisado em por Arielton Oberek.