Início » Segurança para WordPress » Guia definitivo de permissão de arquivos e pastas do WordPress
Segurança para WordPress

Guia definitivo de permissão de arquivos e pastas do WordPress

Saiba como definir as permissões corretamente para garantir mais segurança.
Escrito Por Leandro Vieira em março de 2020 /4 min de leitura
Conteúdo escrito por humano

A correta permissão de arquivos e pastas do WordPress contribuem para uma maior segurança da aplicação, uma vez que as permissões são responsáveis por definir quem e o que poderá ser lido, escrito, modificado e acessado.

O assunto é simples e pode ser complexo considerando as variáveis que o envolvem.

De forma básica, você deve compreender três variáveis sobre permissões de arquivos e diretórios:

  1. Leitura – permite o acesso para a visualização do seu conteúdo;
  2. Escrita – permite que o arquivo seja alterado;
  3. Execução – permite a execução de programas e scripts contidos nos arquivos em questão.
Esquema de permissão de arquivos e pastas no Linux
Crédito da imagem LinuxCommands.org – http://linuxcommand.org/lc3_lts0090.php

As permissões de arquivos e pastas em números

Segurança para WordPress é possível com uma efetiva permissão dos arquivos e pastas e, para isso, precisaremos lidar com números e compreender o esquema que o representa.

A definição errada dessas permissões, leia-se números, colocará tudo a perder e isso precisa ser levado muito a sério.

Para simplificar, considere e memorize os números abaixo e siga em frente para conhecer mais sobre a combinação entre 0000 e 0777.

  • 0400 – permissão de somente leitura;
  • 0600 – permissão de leitura e escrita;
  • 0644 – permissão de leitura e escrita para o proprietário e leitura para os demais;
  • 0755 – permissão de leitura e escrita para o proprietário, leitura e execução para os demais, evitando a escrita.

400, 600, 644 e 755. As permissões corretas para o WordPress Seguro

As permissões de arquivos e pastas do WordPress para sua segurança

A correta permissão de arquivos e pastas do WordPress

Precisaremos considerar, de uma forma global, todos os arquivos e pastas do core do WordPress, seus plugins e temas e devemos dar uma atenção especial aos arquivos wp-config.php, .htaccess e debug.log.

0644 é a correta permissão para todos os arquivos, exceto wp-config.php, .htaccess e debug.log.

A permissão correta para o arquivo wp-config.php

O arquivo wp-config.php deve ter uma tratativa de segurança especial e podemos considerar o uso de duas possíveis permissões.

  1. 400: mais restritiva e permitimos apenas a leitura;
  2. 600: mais branda e além da leitura é permitido a escrita.

A correta permissão para o arquivo .htaccess

Utilizado em servidores web como Apache, .htaccess é a extensão de um arquivo sem nome e sua função é armazenar diretivas de configuração do servidor e, assim, permitir uma configuração descentralizada das configurações padrão.

644 é a permissão comumente utilizada e recomendada. No entanto, em alguns servidores é possível fazer uso de uma permissão entre 644 à 604 e assim ser mais restritivo ao arquivo.

O conselho é começar mais restritivo e aumentar a permissão até que ele funcione, caso tenha sido restritivo demais, mas nunca passe de 644.

A correta permissão para o arquivo debug.log

600. É a permissão correta para o arquivo debug.log gerado pelo mecanismo de depuração de código do WordPress.

Além dessa permissão, considere a leitura do artigo A trilogia para um debug seguro e eficaz no WordPress.

O esquema de permissão de arquivos e pastas do WordPress

PermissãoA quem se destinaConsiderações
0400Arquivo wp-config.phpUsar 0600 para permitir escrita além da leitura.
0600Arquivo debug.log 
0644Todos os arquivosCore do WordPress, plugins e temas.
0755Todas as pastasCore do WordPress, plugins e temas.

Comandos Shell para definir as permissões de arquivos e pastas do WordPress

find /path/to/wp-folder/ ­-type f ! ­-perm 644 ­-exec chmod 644 {} \;
find /path/to/wp-folder/ ­-type d ! ­-perm 755 ­-exec chmod 755 {} \;

Diga não ao chmod 0777

Como já falamos inúmeras vezes, considere a permissão 755 para os diretórios e nunca use a permissão 777 para eles, mesmo em diretórios que receberão arquivos enviados via upload.

Uma vez que o PHP está sendo processado como proprietário do arquivo, ele recebe a permissão para escrever no diretório mesmo com o uso de 755.

Com o uso da permissão 777 em arquivos ou pastas você permitirá que crackers maliciosos façam upload de arquivos ou modifiquem os existentes e assim tomarão o controle da sua aplicação e poderão até obter informações do seu banco de dados.

Leandro Vieira

Uma das grandes referências de WordPress no Brasil, entusiasta e evangelista da plataforma. Fundador e CEO da Apiki, empresa especializada no desenvolvimento web com WordPress.
Qual nota você da para este artigo?
Ruim

O que você achou disso?

Clique nas estrelas

Média da classificação 5 / 5. Número de votos: 1

Nenhum voto até agora! Seja o primeiro a avaliar este post.

Excelente
Artigos Relacionados
destaque-categorias-tags-wordpress

Categorias e Tags no WordPress

  1. Você foi único que deu informações concretas a respeito de um problema que estou passando, a minha situação é o seguinte, Eu usava hostgator e sempre que instalava o wordpress via ssh ou via script que o proprio cpanel oferece, ele rodava numa boa, sem dar erro de permissão, sem dar erro de limite de memoria de upload, se dar erro de permissões, sem pedir conta de ftp para enviar o tema, rodei a internet inteira e só tinha uns caras falavam pra mudar a permissão dos diretorios para 777, mas sempre achei isso uma gambiarra perigosa. Agora, a pergunta que não quer calar, porque isso não acontece em hospedagem da hostgator e acontece principalmente nas hospedagens independentes? por exemplo, eu larguei a hostgator, levantei um servidor dedicado na amazon, instalei ubuntu, levantei o lamp e tudo mais, mas sempre que chega na hora do wordpress acontece isso... VOCÊ TEM ESSA RESPOSTA PRA ME DAR? e outra coisa, como faço para dar permissão ao wordpress e fazer o upload rodar de boa mesmo com os diretorios em 755? no meu servidor, eu só consigo upar arquivos quando estou com permissão 777.
    1. Leandro Vieira
      Que bom que o artigo foi útil. Primeiro. Nunca utilize a permissão 777, é muito perigoso e deve ser evitado a todo custo. Segundo. Cada servidor/infra costuma ter algumas configurações específicas que as diferenciam nessas situações. Além das permissões das pastas e arquivos, analise também os usuários e o grupo, isso também interfere. Um "ls -la" te mostrará essas informações no terminal. Grande abraço.
  2. Olá, esse comando para setar as permissões em massa não deu certo aqui, oque funcionou aqui no centOS foram esses: find /path/to/wp-folder/ ­-type f ­exec chmod 644 {} + find /path/to/wp-folder/ -type d -exec chmod 755 {} + Obrigado! =)
    1. Leandro Vieira
      Legal Hugo, obrigado por contribuir :D
    2. Ubuntu... find . -type f -exec chmod 644 {} ; find . -type d -exec chmod 755 {} ;
  3. Adriano Lima
    Olá, tenho um tema que possui aquela área específica de "Opções do Tema", porém ele não permite alteração para o usuário com perfil de "Editor", como faço para dar permissão para salvar ao usuário Editor?
  4. Jônatas Luiz de Oliveira
    Olá, qual seria o risco de deixar os arquivos no servidor no formato 740 por exemplo? No caso em que o wordpress foi criado pelo root no servidor? Pensando em execução do site não vejo problema, talvez uma segurança a mais no caso de algum plugin/tema com código fazendo o que não devia fazer, como rm -rf /.
  5. […] citar dois exemplos clássicos: permissão de arquivos e pastas e a tratativas relacionadas ao banco de […]
  6. […] O primeiro define a permissão 644 para os arquivos, enquanto o segundo a permissão 755 para os diretórios. Existem particularidades para alguns arquivos, portanto considere conhecer as permissões corretas para os arquivos e pastas do WordPress. […]
  7. Carlos
    Olá, apenas duas dúvidas. Foi citado que o arquivo wp-config.php deve ter permissão 400 ou 600. Mas qual a diferença entre as duas? E qual delas seria a mais recomendada? E eu usei o comando direto no Shell do meu servidor para colocar a permissão 755 em todas as pastas dentro do /var/www/meu-site.com.br. Além dessas pastas, eu devo colocar também 755 para as pastas /var/www/meu-site.com.br, para a pasta /var/www e para a pasta /var ? No artigo do https://codex.wordpress.org/pt-br:Blindando_o_WordPress mostra como definir as permissões de algumas pastas, mas não fica claro quais são as permissões. Então queria saber o seguinte... todas as pastas devem ter 755, mas para as pastas abaixo, quais permissões devem ter? E os arquivos dentro dessas pastas, devem permanecerem com 644? /wp-admin/ ---arquivos /wp-includes/ --arquivos /wp-content/ ---arquivos /wp-content/themes/ ---arquivos /wp-content/plugins/ ---arquivos Agradeço.
    1. Leandro Vieira Pinho
      Observe a seção do artigo "O esquema de permissão de arquivos e pastas do WordPress".
  8. […] Outra forma obrigatória, é usar corretamente as permissões de arquivos e pastas no WP. […]
  9. Ubirajara
    É possível ao usuário alterar as permissões de escrita do diretório ascendente? Como resolvo essa questão: "Não foi possível criar o diretório wp-content/uploads/2021/09. O diretório pai possui permissão de escrita?" Sistema Windows, navegador Firefox. Tenho acesso como adm.

Construa seu site WordPress sob medida com os maiores especialistas em WordPress da America Latina
Conheça a Apiki

Faça um comentário
Cadastre-se rápido

Fazer Login