Solucionar erro 'Permission denied' no wp-content: causa e correção

9 min de leitura · · wordpress, wp-content, permission-denied, permissoes, avirahost · 0

Erro 'Permission denied' no wp-content ocorre quando o servidor web não possui permissões adequadas para acessar ou modificar arquivos e diretórios do WordPress. Isso geralmente acontece após migrações, mudanças de proprietário ou configurações incorretas de chmod, impedindo uploads, atualizações de plugins e temas.

Pré-requisitos

  • Acesso SSH ao servidor ou cPanel File Manager
  • Conhecimento básico de comandos Linux
  • Backup completo do site antes de alterar permissões
  • Identificação do usuário do servidor web (www-data, apache ou usuário cPanel)

Diagnosticando o erro de permissão no wp-content

Antes de corrigir as permissões, é essencial identificar a causa exata do problema. O erro 'Permission denied' no wp-content manifesta-se de diferentes formas no WordPress.

Para verificar as permissões atuais via SSH, navegue até o diretório do WordPress:

cd /var/www/html/
ls -la wp-content/

O output esperado mostra as permissões atuais:

drwxr-xr-x 5 www-data www-data 4096 Jan 15 10:30 wp-content
drwxr-xr-x 3 www-data www-data 4096 Jan 15 10:25 plugins
drwxr-xr-x 4 www-data www-data 4096 Jan 15 10:25 themes
drwxr-xr-x 2 www-data www-data 4096 Jan 15 10:25 uploads

Se você vê permissões como drwx------ (700) ou proprietário incorreto, isso confirma o problema. No cPanel File Manager, permissões incorretas aparecem destacadas em vermelho ou com valores numéricos inadequados.

Verifique também os logs de erro do Apache para confirmar o diagnóstico:

tail -f /var/log/apache2/error.log

Corrigindo permissões de diretórios no wp-content

As permissões corretas para diretórios WordPress seguem o padrão 755, permitindo leitura, escrita e execução para o proprietário, e leitura/execução para grupo e outros usuários.

Para corrigir permissões de diretórios recursivamente:

find /var/www/html/wp-content -type d -exec chmod 755 {} \;

Este comando localiza todos os diretórios dentro de wp-content e aplica chmod 755. O parâmetro -type d especifica apenas diretórios, enquanto -exec executa o comando chmod para cada item encontrado.

Para verificar se as permissões foram aplicadas corretamente:

ls -la wp-content/
ls -la wp-content/plugins/
ls -la wp-content/themes/

O output deve mostrar drwxr-xr-x para todos os diretórios, indicando permissões 755 aplicadas com sucesso.

Ajustando permissões de arquivos no WordPress

Arquivos WordPress requerem permissões 644, permitindo leitura/escrita para o proprietário e apenas leitura para grupo e outros. Permissões incorretas em arquivos podem impedir atualizações e uploads.

Para corrigir permissões de arquivos recursivamente:

find /var/www/html/wp-content -type f -exec chmod 644 {} \;

O parâmetro -type f especifica apenas arquivos regulares. Este comando é seguro e não afeta diretórios ou links simbólicos.

Para arquivos específicos que requerem execução, como scripts de backup personalizados:

chmod 755 /var/www/html/wp-content/backup-script.sh

Verifique as permissões aplicadas:

ls -la wp-content/themes/*/style.css
ls -la wp-content/plugins/*/plugin-file.php

O output deve exibir -rw-r--r-- para arquivos, confirmando permissões 644.

Corrigindo proprietário dos arquivos WordPress

O proprietário incorreto é uma causa comum do erro 'Permission denied'. O usuário do servidor web deve ter propriedade dos arquivos wp-content para permitir operações de escrita.

Identifique o usuário do servidor web:

ps aux | grep -E '(apache|httpd|nginx)'

No Ubuntu/Debian, geralmente é www-data. No CentOS/RHEL, pode ser apache ou nginx.

Para alterar o proprietário recursivamente:

chown -R www-data:www-data /var/www/html/wp-content

O parâmetro -R aplica a mudança recursivamente. Substitua www-data pelo usuário correto do seu sistema.

Em ambientes cPanel, use o usuário da conta:

chown -R usuario:usuario /home/usuario/public_html/wp-content

Verifique a propriedade alterada:

ls -la wp-content/

Todos os arquivos e diretórios devem mostrar o proprietário correto na terceira e quarta colunas do output.

Configurações especiais para uploads e cache

O diretório uploads requer atenção especial por receber arquivos constantemente via interface WordPress. Configurações inadequadas impedem upload de mídia e podem gerar erros de permissão.

Para o diretório uploads, aplique permissões mais permissivas quando necessário:

chmod 775 /var/www/html/wp-content/uploads
find /var/www/html/wp-content/uploads -type d -exec chmod 775 {} \;
find /var/www/html/wp-content/uploads -type f -exec chmod 664 {} \;

Essas permissões (775 para diretórios, 664 para arquivos) permitem escrita pelo grupo, necessária em alguns ambientes compartilhados.

Para diretórios de cache de plugins como W3 Total Cache ou WP Rocket:

mkdir -p /var/www/html/wp-content/cache
chmod 755 /var/www/html/wp-content/cache
chown www-data:www-data /var/www/html/wp-content/cache

Verifique se o WordPress consegue criar arquivos no uploads:

sudo -u www-data touch /var/www/html/wp-content/uploads/test-file.txt

Se o comando executar sem erro, as permissões estão corretas.

Problemas comuns e como resolver

Erro persiste após corrigir permissões

Causa: SELinux ativo ou configuração de servidor web restritiva.
Solução: Verifique o status do SELinux com sestatus e configure contextos apropriados com setsebool -P httpd_can_network_connect 1 ou desative temporariamente para teste.

Plugin não consegue criar diretórios

Causa: Permissões insuficientes no wp-content ou proprietário incorreto.
Solução: Aplique chmod 755 no wp-content e verifique se o usuário do servidor web tem propriedade. Use chown -R www-data:www-data wp-content para corrigir.

Uploads falham com 'Permission denied'

Causa: Diretório uploads com permissões restritivas ou inexistente.
Solução: Crie o diretório com mkdir -p wp-content/uploads e aplique chmod 775. Verifique se o PHP tem permissão de escrita verificando is_writable().

Erro após migração de servidor

Causa: Diferenças no usuário do servidor web entre origem e destino.
Solução: Identifique o novo usuário do servidor web e execute chown -R novo-usuario:novo-usuario wp-content. Reaplique permissões 755/644 após a mudança de proprietário.

Perguntas frequentes sobre erro Permission denied wp-content

Por que aparece erro 'Permission denied' no wp-content?

O erro ocorre quando o servidor web não tem permissões adequadas para escrever no diretório wp-content. Isso geralmente acontece após migrações, mudanças de proprietário ou configurações incorretas de chmod. As permissões corretas são 755 para diretórios e 644 para arquivos.

Como verificar as permissões atuais do wp-content?

Use o comando 'ls -la' no terminal SSH ou verifique via cPanel File Manager. As permissões aparecem como rwxr-xr-x (755) para diretórios e rw-r--r-- (644) para arquivos. Se estiverem diferentes, precisam ser corrigidas.

Qual é o proprietário correto dos arquivos WordPress?

O proprietário deve ser o usuário do servidor web (www-data no Ubuntu/Debian ou apache no CentOS) ou o usuário da conta cPanel. O grupo também deve corresponder ao servidor web para permitir leitura e escrita adequadas.

É seguro usar chmod 777 no wp-content?

Não, chmod 777 é extremamente inseguro pois permite leitura, escrita e execução para todos os usuários. Isso pode comprometer a segurança do site. Use sempre 755 para diretórios e 644 para arquivos, ou 775/664 quando necessário para grupos específicos.

Como corrigir permissões recursivamente no WordPress?

Use 'find /caminho/wp-content -type d -exec chmod 755 {} \;' para diretórios e 'find /caminho/wp-content -type f -exec chmod 644 {} \;' para arquivos. Isso aplica as permissões corretas recursivamente em toda a estrutura do wp-content.

Conclusão

  • Sempre faça backup antes de alterar permissões e verifique o proprietário correto dos arquivos
  • Use permissões 755 para diretórios e 644 para arquivos como padrão de segurança
  • Monitore logs de erro para identificar rapidamente problemas de permissão futuros

Leia também

Precisa de ajuda com hospedagem WordPress?

Nossa equipe especializada pode configurar seu ambiente WordPress com permissões otimizadas e segurança avançada. Oferecemos suporte completo para resolução de erros e otimização de performance.

Conheça nossos planos de hospedagem WordPress


Esta resposta foi útil?