POP HOSTING

Como corrigir permissões e dono dos arquivos de uma conta cPanel imprimir

  • permissões, chmod, chown, public_html, fixperms, erro 500, cpanel
  • 0

Como corrigir as permissões e o dono dos arquivos de uma conta cPanel pelo SSH: 755 para pastas, 644 para arquivos, public_html em 750 e nada de 777.

  • Tempo: 10 min
  • Nível: Intermediário
  • Vale para: servidores cPanel e WHM com PHP-FPM, CGI ou LSAPI (AlmaLinux, CloudLinux, Ubuntu)
  • Atualizado: outubro de 2026

Permissão ou dono errado nos arquivos é causa clássica de erro 500, erro 403 e de WordPress que não consegue enviar imagens. Acontece muito depois de restaurar um backup como root, de enviar arquivos por SFTP com o usuário root ou de alguém aplicar 777 "para funcionar". Em servidores cPanel atuais o PHP roda com o usuário da conta (PHP-FPM, CGI com suEXEC ou LSAPI), e o padrão correto é simples.

O padrão correto de permissões no cPanel

ItemPermissãoDono
Pastas dentro do site755usuario:usuario
Arquivos dentro do site644usuario:usuario
Scripts CGI e Perl (.cgi, .pl)755usuario:usuario
A própria pasta public_html750usuario:nobody
Arquivos com senhas (ex.: wp-config.php)640 ou 600 (opcional, mais restrito)usuario:usuario
Atenção: nunca use 777. Com PHP rodando como o usuário da conta ele não é necessário, deixa qualquer processo do servidor escrever nos seus arquivos e muitos servidores recusam executar PHP em arquivo ou pasta gravável por todos, devolvendo erro 500. Entenda o motivo em permissões de pasta: por que não usar 777.

Antes de começar

  • Acesso SSH como root. Se você é cliente de hospedagem compartilhada, sem root, corrija pelo Gerenciador de Arquivos do cPanel (botão Permissões) ou peça ao suporte.
  • O nome de usuário da conta cPanel (no exemplo, usuario).
  • Um backup recente da conta. Comando em massa errado também se espalha em massa.

Como corrigir as permissões de uma conta cPanel pelo SSH

  1. Defina o usuário em uma variável para não errar a digitação nos comandos seguintes:
    U=usuario
  2. Corrija o dono dos arquivos do site.
    chown -R $U:$U /home/$U/public_html
    chown $U:nobody /home/$U/public_html
    A segunda linha devolve a pasta public_html ao grupo nobody, que é o que permite ao servidor web entrar nela.
  3. Corrija as permissões de pastas e arquivos.
    find /home/$U/public_html -type d -exec chmod 755 {} +
    find /home/$U/public_html -type f -exec chmod 644 {} +
    find /home/$U/public_html -type f \( -name '*.cgi' -o -name '*.pl' \) -exec chmod 755 {} +
    chmod 750 /home/$U/public_html
    A última linha vem por último de propósito: o primeiro find também passa pela própria public_html e a deixaria em 755.
  4. Repita para domínios com pasta fora do public_html. Domínios adicionais podem ter a raiz em outro lugar. Liste as raízes da conta:
    grep ": $U==" /etc/userdatadomains | awk -F'==' '{print $5}' | sort -u
    Para cada pasta que não estiver dentro de public_html, rode o chown -R e os dois find trocando o caminho (essas pastas ficam em 755, dono usuario:usuario).
  5. Teste o site. Abra as páginas principais e tente enviar uma imagem pelo painel do CMS.
Dica: problemas de permissão nas caixas de e-mail têm ferramenta própria no WHM: WHM » Email » Repair Mailbox Permissions.

E o script fixperms?

O fixperms é um script de terceiros, publicado no GitHub, que aplica exatamente esse padrão (public_html 750 com grupo nobody, pastas 755, arquivos 644, CGI 755) para uma conta (-a usuario) ou para todas (-all). Ele não faz parte do cPanel. Se for usar, leia o código antes, rode primeiro em uma conta de teste e tenha backup, porque ele altera milhares de arquivos de uma vez.

Problemas comuns

Erro 500 logo depois de enviar arquivos

Arquivos ou pastas com 777 ou 775, ou arquivos que ficaram com dono root depois de um upload como root. Aplique os passos acima. Mais causas em erro 500: causas e como resolver.

Erro 403 Forbidden no site inteiro

A pasta public_html perdeu o grupo nobody ou ficou sem permissão de execução. Rode de novo o passo 2 e o chmod 750. Veja também erro 403 Forbidden.

O WordPress não consegue enviar imagens nem atualizar plugins

Arquivos com dono diferente do usuário da conta. Corrija o dono com o chown -R do passo 2.

Prefere que o servidor já venha bem configurado? Conheça os servidores dedicados da POP Hosting, com suporte em português.

Esta resposta lhe foi útil?
« Retornar