Permissões de ficheiros incorretas são uma das vulnerabilidades de segurança mais comuns em instalações WordPress — e uma das mais fáceis de corrigir. Permissões demasiado abertas permitem que malware seja escrito em ficheiros do servidor. Permissões demasiado restritivas impedem o WordPress de funcionar. Este guia cobre os valores corretos e como aplicá-los.
Como funcionam as permissões em Linux
Em sistemas Linux/Unix (onde corre a maioria dos servidores web), cada ficheiro e pasta tem três tipos de permissão: leitura (r=4), escrita (w=2) e execução (x=1). Estas são definidas para três grupos: proprietário (user), grupo e outros.
Os valores mais comuns em notação octal:
- 755: proprietário tem leitura+escrita+execução; grupo e outros têm leitura+execução. Correto para pastas.
- 644: proprietário tem leitura+escrita; grupo e outros têm apenas leitura. Correto para ficheiros.
- 600: apenas o proprietário tem leitura+escrita. Para ficheiros muito sensíveis (wp-config.php).
- 777: todos têm leitura+escrita+execução. Nunca use em produção — qualquer utilizador ou processo no servidor pode modificar o ficheiro.
Permissões recomendadas para WordPress
| Ficheiro/Pasta | Permissão | Porquê |
|---|---|---|
| Raiz WordPress (/) | 755 | Servidor web precisa de executar; não deve escrever |
| wp-admin/ | 755 | Acesso de leitura/execução pelo servidor web |
| wp-includes/ | 755 | Idem |
| wp-content/ | 755 | WordPress precisa de escrever (uploads) |
| wp-content/uploads/ | 755 | WordPress escreve ficheiros de media aqui |
| wp-content/themes/ | 755 | Leitura pelo servidor |
| wp-content/plugins/ | 755 | Leitura pelo servidor |
| Todos os ficheiros .php | 644 | Leitura pelo servidor, escrita apenas pelo proprietário |
| wp-config.php | 600 | Credenciais — apenas proprietário deve ler |
| .htaccess | 644 | WordPress escreve via WP-Admin em algumas operações |
Como verificar e corrigir permissões
Via SSH (método mais eficiente)
# Verificar permissões da instalação WordPress
ls -la /var/www/wordpress/
# Corrigir todas as pastas recursivamente
find /var/www/wordpress -type d -exec chmod 755 {} \;
# Corrigir todos os ficheiros recursivamente
find /var/www/wordpress -type f -exec chmod 644 {} \;
# Proteger wp-config.php especificamente
chmod 600 /var/www/wordpress/wp-config.php
# Verificar uploads (WordPress precisa de escrever)
chmod 755 /var/www/wordpress/wp-content/uploads/
Via cPanel File Manager
Selecione a pasta WordPress → Click direito → Change Permissions. Permite alterar permissões graficamente, com opção de aplicar recursivamente a subpastas e ficheiros.
Via FTP (FileZilla)
Click direito em ficheiro/pasta → File Permissions → altere o valor numérico. Para aplicar recursivamente: marque "Apply to subdirectories" e "Apply to files".
Erros comuns de permissão
777 em pastas de upload
Frequentemente definido para "resolver" um problema de upload de imagens. É desnecessário — 755 é suficiente para o servidor web escrever em uploads (se o servidor web correr como o proprietário dos ficheiros, o que é standard). 777 permite que qualquer utilizador do servidor escreva nessa pasta — um vetor de ataque claro.
wp-config.php com permissão 644
Em hosting partilhado, outros utilizadores no mesmo servidor podem potencialmente ler ficheiros 644 de outras contas. O wp-config.php contém credenciais da base de dados — deve ser 600 ou 640. Em ambientes onde o servidor web é o proprietário do ficheiro, 640 permite leitura pelo servidor sem exposição a outros utilizadores.
Pastas executáveis em wp-content/uploads
PHP não deve ser executável na pasta de uploads. Em Apache, adicione ao .htaccess dentro de wp-content/uploads/:
php_flag engine off
<FilesMatch "\.php$">
Deny from all
</FilesMatch>
Isto impede que ficheiros PHP maliciosos enviados para a pasta de uploads sejam executados — uma proteção simples e eficaz.
Permissões e o processo de hardening
A verificação de permissões deve ser parte do processo de hardening de segurança WordPress. Juntamente com a desativação de XML-RPC, proteção do wp-admin e 2FA, as permissões corretas formam a base de uma instalação WordPress segura.
Em hosting partilhado onde não tem controlo total, verifique o que o hosting define por defeito e corrija apenas o que está errado — nomeadamente wp-config.php e quaisquer pastas com permissões 777.
Quer que auditemos a segurança dos sites WordPress dos seus clientes?
O nosso serviço de manutenção WordPress inclui auditoria de segurança e hardening de todos os sites sob gestão.
Falar connosco