Tempo de leitura: 3 minutos
“Permissão negada” é um dos erros mais comuns de quem administra uma VPS. A solução que aparece em muito tutorial é liberar tudo com chmod 777, e isso abre uma brecha de segurança séria. Entender chmod e chown leva uns minutos e evita tanto o erro quanto o perigo.
Num servidor seu, você tem controle total das permissões, e isso começa com uma VPS Linux própria. Se você ainda não tem onde rodar isso, a Cloud VPS Brasil já entrega o servidor pronto.
Como ler as permissões
Rode ls -l numa pasta e veja uma linha como:
-rw-r--r-- 1 www-data www-data 4096 Out 15 10:00 index.php
O primeiro bloco de letras mostra o tipo e as permissões:
- O primeiro caractere:
-é arquivo edé pasta. - Os três seguintes (
rw-): permissões do dono. - Os três do meio (
r--): permissões do grupo. - Os três finais (
r--): permissões dos outros.
As letras são r (ler), w (escrever) e x (executar, ou entrar na pasta). Depois vêm o dono (www-data) e o grupo (www-data).
Os números do chmod
Cada permissão vale um número: r = 4, w = 2, x = 1. Some para cada grupo:
7= 4+2+1 = ler, escrever e executar.6= 4+2 = ler e escrever.5= 4+1 = ler e executar.4= só ler.0= nada.
Então 755 significa: dono com tudo (7), grupo e outros podem ler e executar (5). E 644 significa: dono lê e escreve (6), grupo e outros só leem (4).
Os valores certos para um site
Para sites (WordPress, por exemplo), o padrão seguro é:
- Pastas:
755 - Arquivos:
644 - wp-config.php:
640ou600
Para aplicar em todo o site de uma vez:
sudo find /var/www/meusite -type d -exec chmod 755 {} \;
sudo find /var/www/meusite -type f -exec chmod 644 {} \;
sudo chmod 640 /var/www/meusite/wp-config.php
Por que nunca usar 777
Com 777, qualquer usuário do servidor pode alterar o arquivo. Se uma vulnerabilidade deixar um invasor executar algo como usuário comum, ele consegue gravar e modificar o seu site. Quando um tutorial pedir 777, quase sempre o problema real é o dono errado, e não a permissão.
O chown: trocar o dono
O chown define quem é dono do arquivo e de qual grupo:
sudo chown www-data:www-data arquivo.php
sudo chown -R www-data:www-data /var/www/meusite
O -R aplica em tudo dentro da pasta. Em Ubuntu e Debian, o Nginx e o Apache rodam como www-data. Em outras distribuições o usuário pode ser nginx ou apache. Descubra olhando a configuração do servidor web.
Exemplo real: erro ao fazer upload no WordPress
O WordPress diz que não consegue gravar em wp-content/uploads. Provavelmente a pasta pertence ao usuário errado. Em vez de usar 777, ajuste o dono:
sudo chown -R www-data:www-data /var/www/meusite/wp-content/uploads
sudo find /var/www/meusite/wp-content/uploads -type d -exec chmod 755 {} \;
Dicas finais
- Depois de restaurar um backup ou copiar arquivos como root, quase sempre é preciso refazer o
chown. - Use
ls -ld pastapara ver as permissões da própria pasta, e não do conteúdo. - Em dúvida, comece com o menos permissivo e libere só o necessário.
- Para reforçar a segurança do acesso ao servidor, veja Chave SSH na VPS Linux.
Controle total do seu servidor
Com permissões certas e uma VPS própria, o seu site fica mais seguro. Na Cloud VPS Brasil você conta com Intel Xeon Gold, SSD NVMe, baixa latência, tráfego ilimitado, preço fixo em reais e suporte humano via WhatsApp e ticket. Fale com a equipe pelo WhatsApp e escolha o plano ideal para o seu projeto.