As permissões de arquivo determinam quem pode ler, escrever ou executar um arquivo ou diretório. No Linux, são representadas por um número octal de três dígitos: o primeiro dígito vale para o proprietário, o segundo para o grupo, o terceiro para todos os demais. Cada dígito é composto por leitura (4), escrita (2) e execução (1). Permissões mal definidas – acima de tudo o difundido, mas perigoso 777 – permitem que usuários quaisquer ou contas vizinhas comprometidas em um servidor compartilhado alterem seus arquivos e injetem código malicioso. A recomendação do WordPress é: 755 para diretórios, 644 para arquivos e um valor mais restrito de 600 ou 640 para wp-config.php. Este guia mostra como definir esses valores via SSH ou SFTP e quais casos especiais observar.
O que significam 755 e 644?
| Valor | Significado | Uso |
|---|---|---|
| 755 | Proprietário: ler+escrever+executar; grupo/outros: ler+executar | Todos os diretórios (executar = entrar) |
| 644 | Proprietário: ler+escrever; grupo/outros: apenas ler | Todos os arquivos normais |
| 600 | somente proprietário: ler+escrever | wp-config.php (restrito) |
| 640 | Proprietário: ler+escrever; grupo: ler | wp-config.php (se o grupo precisar ler) |
| 777 | qualquer um: ler+escrever+executar | Nunca usar |
Passo 1: definir os diretórios em 755
Conecte-se via SSH ao diretório raiz do WordPress e defina todas as pastas recursivamente:
cd /pfad/zu/wordpress
find . -type d -exec chmod 755 {} \;Passo 2: definir os arquivos em 644
find . -type f -exec chmod 644 {} \;Esses dois comandos colocam toda a instalação em valores padrão seguros. Execute-os nesta ordem (primeiro os diretórios, depois os arquivos).
Passo 3: tratar os casos especiais
wp-config.php
O arquivo mais sensível recebe uma permissão mais restrita:
chmod 600 wp-config.php
# oder, falls der Webserver-Prozess über die Gruppe lesen muss:
chmod 640 wp-config.php.htaccess
O .htaccess permanece em 644. Não o torne gravável por outros, senão atacantes poderiam manipular as regras de reescrita.
wp-content/uploads
A pasta de uploads precisa ser gravável pelo servidor web para que os envios de mídia funcionem. 755 para as pastas costuma bastar – o decisivo é que o proprietário esteja correto (veja o passo 4). Aqui não atribua 777. Importante: em uploads nenhum arquivo PHP pode ser executável. Para reforçar, acrescente:
# .htaccess in wp-content/uploads/ (Apache)
<Files *.php>
Require all denied
</Files>Passo 4: definir o proprietário correto
Quase mais importante que os números é o proprietário dos arquivos. Todos os arquivos do WordPress devem pertencer ao usuário com o qual o servidor web ou o processo PHP roda (muitas vezes www-data, apache, nginx ou seu usuário SFTP). Verificar e definir:
# Aktuellen Eigentümer anzeigen
ls -l
# Eigentümer und Gruppe rekursiv setzen (Beispiel www-data)
sudo chown -R www-data:www-data /pfad/zu/wordpressSe o proprietário estiver correto, o WordPress pode realizar atualizações e uploads sem que você precise enfraquecer as permissões. Um erro frequente é recorrer precipitadamente ao 777 diante de problemas de atualização, quando na verdade só o proprietário está errado.
Tudo de uma vez (script)
#!/bin/bash
# Im WordPress-Stammverzeichnis ausführen
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 600 wp-config.php
echo "Dateiberechtigungen gesetzt: 755 Ordner, 644 Dateien, 600 wp-config.php"Como verifico as permissões?
- Verificar um único arquivo:
ls -l wp-config.php index.php # Erwartet: -rw------- für wp-config.php, -rw-r--r-- für index.php - Procurar permissões 777 inseguras:
find . -type d -perm 0777 find . -type f -perm 0777 # Erwartet: keine Ausgabe - Verifique que o PHP não é executado na pasta de uploads solicitando um arquivo de teste (deve retornar 403).
Erros frequentes
- 777 como solução rápida: Aparenta resolver os problemas de atualização, mas escancara a porta. Quase sempre o proprietário é o problema real.
- Scripts executáveis em uploads: Sem bloqueio de PHP na pasta de uploads, um arquivo malicioso enviado pode ser executado.
- Permissões esquecidas após uma migração: Após uma troca de servidor ou de hospedagem, o proprietário e as permissões muitas vezes não coincidem mais – defina-os novamente.
- Hospedagem compartilhada sem SSH: Ali você define as permissões no cliente SFTP (clique com o botão direito » permissões) ou no gerenciador de arquivos do painel de hospedagem.
Perguntas frequentes (FAQ)
Quais permissões de arquivo são recomendadas para o WordPress?
A recomendação do WordPress é 755 para todos os diretórios, 644 para todos os arquivos normais e um valor mais restrito de 600 ou 640 para o wp-config.php. Os diretórios precisam do direito de execução para poder entrar neles, por isso 755 em vez de 644.
Por que a permissão 777 é perigosa no WordPress?
777 permite que qualquer usuário no servidor leia, altere e execute o arquivo ou a pasta. Em hospedagem compartilhada, uma conta vizinha comprometida pode assim injetar código malicioso na sua instalação. Em quase todos os casos a verdadeira causa dos problemas de atualização não é a permissão, mas o proprietário de arquivo errado.
Por que o proprietário do arquivo é mais importante que os números?
Todos os arquivos do WordPress devem pertencer ao usuário com o qual o servidor web ou o processo PHP roda (muitas vezes www-data, apache ou nginx). Se o proprietário estiver correto, o WordPress pode realizar atualizações e uploads sem que você precise enfraquecer as permissões para valores inseguros como 777.
Como impeço que arquivos PHP sejam executados na pasta de uploads?
Crie um .htaccess em wp-content/uploads que negue o acesso aos arquivos PHP (no Apache com um bloco <Files> e Require all denied). Assim um arquivo malicioso enviado não pode ser executado como PHP mesmo que chegue à pasta de uploads.
Como o InspectWP ajuda com permissões de arquivo?
O InspectWP não pode ler as permissões do sistema de arquivos de fora, mas verifica consequências sintomáticas de configurações inseguras: por exemplo, se arquivos sensíveis estão acessíveis publicamente, se o PHP é executado no diretório de uploads ou se uma listagem de diretório está exposta. Tais achados no relatório são um forte sinal para revisar as permissões de arquivos e pastas.