POP HOSTING

Permissão total a uma pasta no Linux: chmod 777 e o jeito certo imprimir

  • chmod 777, permissão de pasta, chmod, chown, permissões linux, acl, setfacl
  • 0

Como dar permissão total a uma pasta no Linux: o que o chmod 777 faz, por que ele é perigoso e como liberar o acesso do jeito certo com chown, grupos e ACL.

  • Tempo: 10 min
  • Nível: Iniciante
  • Vale para: qualquer Linux (Ubuntu, Debian, AlmaLinux, Rocky)
  • Atualizado: outubro de 2026

Resposta rápida

O comando que dá permissão total a uma pasta, para todos os usuários, é:

sudo chmod 777 /caminho/da/pasta

Com -R ele vale também para tudo o que está dentro. Só que quase nunca é isso que você quer: o 777 libera a pasta para qualquer usuário e qualquer programa do sistema. Na maioria dos casos, o problema real é que a pasta pertence a outro usuário, e a solução é trocar o dono:

sudo chown -R $USER:$USER /caminho/da/pasta

Pronto: a pasta passa a ser sua, com acesso total para você e sem abrir para o resto do sistema.

Como ler as permissões

ls -ld /var/www/meusite
drwxr-xr-x 5 joao www-data 4096 out  6 10:00 /var/www/meusite

Depois do d (de diretório) vêm três grupos de três letras: o que o dono (joao) pode, o que o grupo (www-data) pode e o que os outros podem. Em pastas, r é listar, w é criar e apagar arquivos e x é entrar na pasta. Cada letra vale um número (r = 4, w = 2, x = 1), e a soma forma o código:

CódigoLetrasUso típico
755rwxr-xr-xPastas em geral e pastas de sites
644rw-r--r--Arquivos em geral e arquivos de sites
775 / 664rwxrwxr-x / rw-rw-r--Pasta e arquivos em que o grupo também escreve
700 / 600rwx------ / rw-------Privado: chaves, senhas, ~/.ssh
777rwxrwxrwxTodo mundo faz tudo (evite)

Por que o chmod 777 é perigoso

  • Qualquer processo pode gravar ali. Se um site da máquina for invadido, o invasor consegue plantar ou alterar arquivos em todas as pastas 777, inclusive de outros sites e usuários.
  • Em servidor web, vira porta de entrada. Pasta pública com 777 é onde robôs tentam deixar scripts maliciosos. Em muitas hospedagens cPanel, arquivos PHP com permissão de escrita para todos são recusados e o site devolve erro 500.
  • O chmod -R 777 em pastas do sistema quebra o Linux. O sudo para de funcionar (perde o bit especial de que depende) e o SSH recusa chaves de pastas .ssh abertas demais.

O jeito certo, por situação

Uma pasta que você precisa editar

Troque o dono para o seu usuário com o chown mostrado acima. Se a pasta for de um serviço (por exemplo, do banco de dados), não mexa no dono: use sudo para editar o arquivo necessário.

Pasta de site no Apache ou no Nginx

O dono é o seu usuário e o grupo é o do servidor web (www-data no Ubuntu e no Debian; apache ou nginx no AlmaLinux e no Rocky). Pastas 755 e arquivos 644:

sudo chown -R joao:www-data /var/www/meusite
sudo find /var/www/meusite -type d -exec chmod 755 {} +
sudo find /var/www/meusite -type f -exec chmod 644 {} +

Só a pasta onde o site precisa gravar (uploads, cache) recebe escrita para o grupo:

sudo chmod -R g+w /var/www/meusite/uploads

Pasta compartilhada por vários usuários

Crie um grupo, coloque os usuários nele e dê a pasta ao grupo. O 2 no início do 2775 (setgid) faz os arquivos novos herdarem o grupo da pasta:

sudo groupadd equipe
sudo usermod -aG equipe joao
sudo usermod -aG equipe maria
sudo chgrp -R equipe /srv/compartilhado
sudo chmod 2775 /srv/compartilhado

Cada usuário precisa sair e entrar de novo para o grupo valer. Dependendo da configuração, os arquivos novos ainda podem nascer sem escrita para o grupo. Uma ACL padrão resolve isso:

sudo setfacl -R -m g:equipe:rwX /srv/compartilhado
sudo setfacl -R -d -m g:equipe:rwX /srv/compartilhado

O X maiúsculo dá permissão de entrada só às pastas, sem tornar arquivos comuns executáveis. Confira com getfacl /srv/compartilhado; no ls -l, um + no fim das permissões indica ACL. Se o comando não existir, instale o pacote acl.

Liberar uma pasta para um único usuário extra

sudo setfacl -m u:maria:rwx /srv/projeto

Pasta de troca onde todos gravam

Use 1777, como no /tmp: todos criam arquivos, mas cada um só apaga os próprios.

sudo chmod 1777 /srv/troca

Como desfazer um chmod 777

Encontre o que ficou aberto para todos e devolva o padrão (troque o caminho pelo seu):

sudo find /var/www/meusite -perm -0002 -not -type l
sudo find /var/www/meusite -type d -exec chmod 755 {} +
sudo find /var/www/meusite -type f -exec chmod 644 {} +
Atenção: se o chmod -R 777 foi aplicado em /, /etc ou /usr, não há comando simples que restaure tudo. Faça backup dos dados e planeje reinstalar o sistema, ou fale com o suporte do seu servidor.

Problemas comuns

chmod: changing permissions: Operation not permitted

Só o dono do arquivo ou o root podem mudar permissões. Use sudo.

Permission denied mesmo com o arquivo liberado

Falta permissão de entrada (x) em alguma pasta do caminho. O comando namei -l /caminho/completo/arquivo mostra as permissões de cada pasta até o arquivo.

O chmod não muda nada num pendrive ou HD externo

Discos em NTFS ou FAT não guardam permissões do Linux; elas são definidas na montagem. Remonte o disco com as opções uid e gid do seu usuário, ou copie os arquivos para uma partição Linux.

Site com erro 403 ou 500 depois de mexer nas permissões

Volte ao padrão 755 para pastas e 644 para arquivos. Veja também erro 403 Forbidden e erro 500.

Precisa de um servidor Linux com acesso root? Veja os servidores dedicados da POP Hosting, com suporte em português.

Esta resposta lhe foi útil?
« Retornar