Typically, all files should be owned by your user (ftp) account on your web server, and should be writable by that account. On shared hosts, files should never be owned by the webserver process itself (sometimes this is www, or apache, or nobody user).
Referência - Wordpress Codex
Aqui está um script que eu executo no meu webroot para definir permissões. Isso está na minha instância do AWS EC. Eu tenho um pouco mais de permissões aqui .
chown -R myusername:www-data /var/www/*
# This part runs for each wordpress install individually
find /var/www/sp -type d -exec chmod 755 {} \;
find /var/www/wp -type f -exec chmod 644 {} \;
find /var/www/wp/wp-content/uploads -type f -exec chmod 664 {} \;
find /var/www/wp/wp-content/plugins -type f -exec chmod 664 {} \;
find /var/www/wp/wp-content/themes -type f -exec chmod 644 {} \;
chmod 440 /var/www/wp/wp-config.php
chmod -R g+s /var/www/wp/
Meu usuário do servidor web, nginx, é membro do grupo www-data