chmod 775
chmod 775 define rwxrwxr-x: o dono e todos os membros do grupo do arquivo têm leitura, escrita e execução, e os demais podem ler e executar (entrar no diretório), mas não alterar nada.
Matriz de permissões
| Quem | Leitura (4) | Escrita (2) | Execução (1) | Dígito |
|---|---|---|---|---|
| Dono (u) | Sim | Sim | Sim | 7 |
| Grupo (g) | Sim | Sim | Sim | 7 |
| Outros (o) | Sim | Não | Sim | 5 |
Execução muda de sentido conforme o tipo. Num arquivo, deixa o kernel rodá-lo como programa. Num diretório, é a permissão de busca: entrar (cd) e alcançar os arquivos de dentro pelo nome. Leitura num diretório só lista os nomes.
| Quem | Num arquivo | Num diretório |
|---|---|---|
| Dono (u) | Ler, alterar e executar | Listar, entrar, criar, apagar e renomear itens |
| Grupo (g) | Ler, alterar e executar | Listar, entrar, criar, apagar e renomear itens |
| Outros (o) | Ler e executar | Listar, entrar e abrir itens |
Dados
| Octal | 775 (0775) |
|---|---|
| Simbólico | rwxrwxr-x |
| ls -l, arquivo | -rwxrwxr-x |
| ls -l, diretório | drwxrwxr-x |
| Comando simbólico equivalente | chmod ug=rwx,o=rx |
| umask padrão que gera esse modo | umask 002 para diretórios novos |
| Como o Git registra um arquivo assim | 100755 (executável) |
| Bits especiais | Nenhum |
Quando usar
- Diretórios de projeto ou de deploy editados por várias pessoas do mesmo grupo (por exemplo um grupo deploy com você e o usuário do CI).
- Pastas em que o servidor web precisa gravar quando ele compartilha um grupo com o seu usuário, o arranjo que o guia de permissões do WordPress descreve como 775 para pastas e 664 para arquivos.
- É o que o mkdir cria com umask 002, o padrão para usuários comuns nas distribuições que dão a cada usuário um grupo próprio.
Quando não usar
- Quando o grupo é amplo (users, staff, um grupo do qual todas as contas participam): escrita para o grupo vira escrita para todos.
- Em arquivos comuns que não são programas. Use 664 para não marcar arquivos de dados como executáveis.
- Sem o bit setgid em diretórios compartilhados: arquivos novos ficam com o grupo principal de quem criou, e os colegas perdem a escrita. Use 2775 para herdar o grupo do diretório.
Comandos
sudo chmod 775 /srv/projects/site
sudo chmod ug=rwx,o=rx /srv/projects/site # mesmo resultadostat -c '%a %A %n' /srv/projects/site # Linux (stat do GNU): 775 drwxrwxr-x
stat -f '%Lp %Sp %N' /srv/projects/site # macOS e BSDAplicando numa árvore inteira
O chmod -R colocaria o mesmo modo em arquivos e diretórios. Defina os diretórios como 775 e os arquivos como 664 separadamente:
sudo find /srv/projects/site -type d -exec chmod 775 {} +
sudo find /srv/projects/site -type f -exec chmod 664 {} +Ou numa passada só com o X maiúsculo, que só dá execução a diretórios e a arquivos que já tinham: chmod -R ug=rwX,o=rX /srv/projects/site.
Git e o bit de execução
O Git guarda um único dado de permissão por arquivo: 100755 se o bit de execução do dono estiver ligado, 100644 caso contrário. Um arquivo com este modo entra no commit como 100755; os bits de grupo e outros nunca chegam ao repositório. No Windows, ou com core.fileMode false, ligue o bit com git update-index --chmod=+x.
Perguntas frequentes
- Qual a diferença entre 755 e 775?
- Só o dígito do grupo. Com 755 o grupo lê e entra; com 775 o grupo também cria, renomeia e apaga arquivos no diretório. Os outros ficam com r-x nos dois casos.
- Por que minhas pastas novas saem com 775?
- Seu umask é 002. O mkdir pede 777 e o umask tira a escrita dos outros, resultando em 775. Arquivos novos saem com 664 pelo mesmo motivo, porque arquivos partem de 666.
- 775 é seguro para um site?
- É aceitável quando o grupo contém só você e a conta do servidor web. Visitantes nunca veem permissões Unix; o risco são outras contas ou processos locais do mesmo grupo.
Revisado em por Arielton Oberek.