Todos os artigos
109 artigos · atualizado semanalmente Veja nossas Ferramentas
Todos os artigos
Tutoriais

O que significa a permissão 755, 775 e 644 no Linux

Entenda de uma vez as permissões 755, 775 e 644 no Linux: o que cada número faz, qual problema resolve e como escolher a certa.

O que significa a permissão 755, 775 e 644 no Linux
COVER · Tutoriais

Você sobe um site para o servidor, abre no navegador e leva um "403 Forbidden" na cara. Ou roda um script e o terminal cospe "Permission denied". Na pressa, alguém te manda fazer chmod 777 e magicamente funciona — até o dia em que isso vira uma brecha de segurança. O problema quase nunca é o arquivo: é a permissão errada. E três números resolvem a esmagadora maioria dos casos do dia a dia no Linux: 755, 775 e 644.

Este guia foca exatamente nesses três. Não é mais uma explicação genérica de chmod — é o porquê de cada um existir, que problema ele resolve e como escolher sem chutar.

Lendo os três dígitos antes de decorar

Cada número de permissão tem três dígitos, e cada dígito vale para um público diferente:

  • 1º dígito → o dono (owner) do arquivo
  • 2º dígito → o grupo ao qual o arquivo pertence
  • 3º dígitotodos os outros (others)

Cada dígito é a soma de três valores: leitura (r = 4), escrita (w = 2) e execução (x = 1). É só somar:

Valor Permissões Significa
7 rwx ler + escrever + executar
6 rw- ler + escrever
5 r-x ler + executar
4 r-- só ler

Então chmod 644 arquivo.txt quer dizer: dono pode ler e escrever (6), grupo só lê (4), outros só lêem (4). Com isso na cabeça, os três números deixam de ser mágica.

644: o padrão para arquivos comuns

chmod 644 index.html
# rw-r--r--

644 é o que você quer para qualquer arquivo que não precisa ser executado: HTML, CSS, imagens, .txt, .json, arquivos de configuração, fotos. O dono edita; o resto do mundo apenas lê.

Por que não dar escrita ao grupo e a outros? Porque um arquivo de conteúdo gravável por qualquer um é um convite para que um processo comprometido o sobrescreva. Em servidor web, 644 é o padrão de ouro para os arquivos que o Apache ou o Nginx serve. O servidor lê, ninguém de fora escreve.

O erro clássico aqui é aplicar 644 num script que precisa rodar. Sem o bit de execução, ./meu-script.sh devolve "Permission denied" — e a correção não é 777, é adicionar o x.

755: o padrão para diretórios e executáveis

chmod 755 deploy.sh
# rwxr-xr-x

755 entra em cena quando o x importa. Dois casos dominam:

Diretórios. Em Linux, o bit de execução numa pasta significa "posso entrar nela e acessar o que está dentro". Sem x, você lista o nome da pasta mas não consegue dar cd nem ler os arquivos lá dentro. Por isso a regra de ouro do servidor web é 755 para pastas, 644 para arquivos. A pasta precisa ser "atravessável" por todos; os arquivos só precisam ser legíveis.

Scripts e binários. Um .sh, um binário compilado, um executável de CLI — tudo que você chama com ./ precisa do x. 755 dá controle total ao dono e deixa todos os outros executarem sem poder modificar.

A diferença prática entre 755 e 644 é exatamente um bit: o de execução. Use 644 quando o conteúdo é dado; use 755 quando o conteúdo é código ou é uma pasta.

775: quando o grupo também escreve

chmod 775 /var/www/uploads
# rwxrwxr-x

775 é igual ao 755, mas com uma diferença crucial: o grupo ganha escrita. Isso resolve um problema de colaboração que aparece muito em deploy e em times.

Imagine uma pasta de uploads que o usuário www-data (o servidor web) e o seu usuário de deploy precisam, ambos, modificar. Se você os colocar no mesmo grupo e der 775 à pasta, os dois escrevem sem brigar — e ainda assim ninguém fora do grupo pode mexer. É a alternativa segura ao reflexo de "dar 777 e resolver".

A regra de bolso: use 775 quando mais de um usuário do mesmo grupo precisa gravar no mesmo lugar. Para arquivos compartilháveis com escrita de grupo, o equivalente é 664 (rw-rw-r--). Mas atenção: 775 só faz sentido se o group do arquivo estiver correto. Permissão e dono andam juntos — é aí que entram chown e o umask que define os padrões de criação. Se esse lado te confunde, vale ler o artigo irmão sobre chmod, chown e umask, que ataca o "quem é dono e quais permissões nascem por padrão", complementando o "quais números usar" que você está vendo aqui.

Aplicando em massa sem quebrar tudo

O erro mais comum é rodar chmod -R 755 . num projeto inteiro e deixar todos os arquivos executáveis sem necessidade. A forma correta separa arquivos de pastas:

# 755 só nas pastas
find . -type d -exec chmod 755 {} \;

# 644 só nos arquivos
find . -type f -exec chmod 644 {} \;

Depois disso, você devolve o x apenas aos scripts que realmente precisam:

chmod 755 deploy.sh build.sh

Esse padrão — recursivo separando -type d de -type f — é o que evita 90% dos "403 Forbidden" e dos scripts que param de rodar após um deploy.

Perguntas frequentes

Qual a diferença entre chmod 766, 764 e 755?

São três níveis de abertura crescente para grupo e outros. 755 (rwxr-xr-x) dá só leitura/execução a quem não é dono — o mais seguro dos três. 764 (rwxrw-r--) dá escrita ao grupo mas tira a execução de outros. 766 (rwxrw-rw-) deixa grupo e outros escreverem, o que raramente é desejável em servidor. Para a maioria dos casos, 755 (executáveis/pastas) e 644 (arquivos) cobrem tudo; só suba para 775/664 quando o grupo realmente precisa gravar.

Por que não usar 777 em tudo, já que "funciona"?

Porque 777 dá leitura, escrita e execução a qualquer usuário da máquina, inclusive a processos comprometidos. Num servidor web, um arquivo 777 pode ser sobrescrito por um invasor que conseguiu executar código com baixo privilégio, virando uma porta de entrada para webshell. 777 quase sempre é o sintoma de uma permissão de dono ou de grupo mal configurada — corrija a causa, não dê acesso total ao mundo.

Devo usar 755 ou 644 para arquivos PHP?

  1. Arquivos PHP não são executados pelo shell — são lidos e interpretados pelo PHP-FPM ou pelo módulo do servidor. Eles precisam apenas de leitura, então 644 basta e é mais seguro. Já as pastas que os contêm vão de 755, para que o servidor consiga atravessá-las.

O que significa o x numa pasta, se pasta não é executável?

Numa pasta, o bit de execução não roda nada: ele concede o direito de entrar na pasta (cd) e acessar os arquivos por dentro dela. Sem x, você até vê o nome dos arquivos (se tiver r), mas não consegue abrir nenhum. É por isso que diretórios usam 755 e não 644.

O que levar deste guia

Decore a leitura, não os números: 4 é ler, 2 é escrever, 1 é executar, e cada dígito é a soma para dono, grupo e outros. A partir daí, 644 para arquivos comuns, 755 para pastas e executáveis, 775 quando o grupo precisa escrever junto. Esses três cobrem quase tudo, e te tiram da armadilha do 777. Quando precisar montar uma combinação fora do trivial — ou conferir o simbólico rwxr-xr-x que sai de um número — vale calcular antes de aplicar: a calculadora de chmod traduz octal e simbólico nos dois sentidos para você não chutar em produção.

RD
Autor
Rafael Duarte
Desenvolvedor backend com passagem por fintech e SaaS B2B — trabalhou em times que escalaram APIs de zero a milhões de requisições. Carrega cicatrizes de produção suficientes para ter opiniões fortes sobre ferramentas, padrões e decisões de arquitetura. Não é acadêmico: leu a RFC do UUID quando precisou escolher entre v4 e v7 para uma tabela de alta escrita.
Ver perfil