Skip to content

chmod 755

chmod 755 define rwxr-xr-x: o dono lê, grava e executa, e o grupo e os demais leem e executam, sem alterar. Num diretório, os outros podem listar e entrar, mas não criar nem apagar arquivos.

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)SimNãoSim5
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 e executarListar, entrar e abrir itens
Outros (o)Ler e executarListar, entrar e abrir itens

Dados

Representações deste modo
Octal755 (0755)
Simbólicorwxr-xr-x
ls -l, arquivo-rwxr-xr-x
ls -l, diretóriodrwxr-xr-x
Comando simbólico equivalentechmod u=rwx,go=rx
umask padrão que gera esse modoumask 022 para diretórios novos
Como o Git registra um arquivo assim100755 (executável)
Bits especiaisNenhum

Quando usar

  • Diretórios em geral, e a raiz de sites em particular: o guia do WordPress diz que todos os diretórios devem ser 755 ou 750.
  • Scripts e programas compilados que outras pessoas devem poder executar: a maioria dos programas em /usr/bin é instalada como 755.
  • É o que o mkdir cria com o umask comum 022, então um diretório novo já nasce 755.

Quando não usar

  • Arquivos comuns que não são programas (HTML, imagens, configs): use 644. Marcar dados como executáveis não quebra nada sozinho, mas polui o diff do Git e denuncia um chmod -R descuidado.
  • Diretórios com segredos e pastas home em servidores compartilhados: qualquer um lista os nomes e lê todo arquivo legível lá dentro. Use 750 ou 700.
  • O seu ~/.ssh: o manual do ssh recomenda acesso só para você, então use 700.

Comandos

Aplicar em um arquivo ou diretório
sudo chmod 755 /var/www/site
sudo chmod u=rwx,go=rx /var/www/site   # mesmo resultado
Conferir o resultado
stat -c '%a %A %n' /var/www/site     # Linux (stat do GNU): 755 drwxr-xr-x
stat -f '%Lp %Sp %N' /var/www/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 755 e os arquivos como 644 separadamente:

sudo find /var/www/site -type d -exec chmod 755 {} +
sudo find /var/www/site -type f -exec chmod 644 {} +

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 u=rwX,go=rX /var/www/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

O que significa chmod 755?
Dono 7 (leitura 4 + escrita 2 + execução 1), grupo 5 (leitura 4 + execução 1), outros 5. No ls -l aparece como rwxr-xr-x.
Arquivos devem ser 755 ou 644?
Diretórios e executáveis 755, o resto 644. Diretórios precisam do bit de execução para alguém entrar neles; arquivos comuns não precisam e não devem ter.
A permissão 755 é segura?
É o modo público padrão: só o dono altera alguma coisa. Mas não é privado: qualquer conta da máquina lê o conteúdo, então não use para chaves, senhas ou dados pessoais.
Como aplicar 755 só nas pastas e não nos arquivos?
Use o find para pegar só diretórios: find . -type d -exec chmod 755 {} +. Complete com find . -type f -exec chmod 644 {} + para os arquivos.

Revisado em por Arielton Oberek.