Skip to content

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

Quais bits de permissão cada classe tem
QuemLeitura (4)Escrita (2)Execução (1)Dígito
Dono (u)SimSimSim7
Grupo (g)SimSimSim7
Outros (o)SimNãoSim5

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.

O que cada classe pode fazer com um arquivo e com um diretório
QuemNum arquivoNum diretório
Dono (u)Ler, alterar e executarListar, entrar, criar, apagar e renomear itens
Grupo (g)Ler, alterar e executarListar, entrar, criar, apagar e renomear itens
Outros (o)Ler e executarListar, entrar e abrir itens

Dados

Representações deste modo
Octal775 (0775)
Simbólicorwxrwxr-x
ls -l, arquivo-rwxrwxr-x
ls -l, diretóriodrwxrwxr-x
Comando simbólico equivalentechmod ug=rwx,o=rx
umask padrão que gera esse modoumask 002 para diretórios novos
Como o Git registra um arquivo assim100755 (executável)
Bits especiaisNenhum

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

Aplicar em um arquivo ou diretório
sudo chmod 775 /srv/projects/site
sudo chmod ug=rwx,o=rx /srv/projects/site   # mesmo resultado
Conferir o resultado
stat -c '%a %A %n' /srv/projects/site     # Linux (stat do GNU): 775 drwxrwxr-x
stat -f '%Lp %Sp %N' /srv/projects/site   # macOS e BSD

Aplicando 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.