Na verdade, depende dos plugins que você planeja usar, pois alguns plugins alteram o documento raiz do wordpress. mas geralmente eu recomendo algo assim para o diretório wordpress.
Isso atribuirá a "raiz" (ou qualquer que seja o usuário que você esteja usando) como o usuário em cada arquivo / pasta, R significa recursivo, portanto, ele não para na pasta "html". se você não usou R, é aplicável apenas ao diretório "html".
sudo chown -R root:www-data /var/www/html
Isso definirá o proprietário / grupo de "wp-content" como "www-data" e, assim, permitirá que o servidor da Web instale os plugins através do painel de administração.
chown -R www-data:www-data /var/www/html/wp-content
Isso definirá a permissão de cada arquivo na pasta "html" (incluindo arquivos em subdiretórios) para 644, para que pessoas de fora não possam executar nenhum arquivo, modificar qualquer arquivo, grupo não pode executar nenhum arquivo, modificar qualquer arquivo e apenas o usuário tem permissão para modificar / ler arquivos, mas mesmo assim o usuário não pode executar nenhum arquivo. Isso é importante porque evita qualquer tipo de execução na pasta "html", também porque o proprietário da pasta html e de todas as outras pastas, exceto a pasta wp-content, é "root" (ou seu usuário), o www-data pode ' t modifique qualquer arquivo fora da pasta wp-content, portanto, mesmo se houver alguma vulnerabilidade no servidor da web e se alguém tiver acessado o site sem autorização, eles não poderão excluir o site principal, exceto os plug-ins.
sudo find /var/www/html -type f -exec chmod 644 {} +
Isso restringirá a permissão de acessar "wp-config.php" para o usuário / grupo com rw-r ----- essas permissões.
chmod 640 /var/www/html/wp-config.php
E se um plug-in ou atualização reclamou que não pode ser atualizado, acesse o SSH e use este comando e conceda a permissão temporária para "www-data" (servidor da web) para atualizar / instalar através do painel de administração e, em seguida, reverta volte para a "raiz" ou para o usuário assim que estiver concluído.
chown -R www-data /var/www/html
E no Nginx (o mesmo procedimento para o apache) para proteger a pasta wp-admin de acesso não autorizado e sondagem. O apache2-utils é necessário para criptografar a senha, mesmo se você tiver o nginx instalado, omita c se planeja adicionar mais usuários ao mesmo arquivo.
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd userName
Agora visite este local
/etc/nginx/sites-available/
Use esses códigos para proteger a pasta "wp-admin" com uma senha, agora ele perguntará a senha / nome de usuário se você tentou acessar o "wp-admin". observe, aqui você usa o arquivo ".htpasswd" que contém a senha criptografada.
location ^~ /wp-admin {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
index index.php index.html index.htm;
}
Agora reinicie o nginx.
sudo /etc/init.d/nginx restart