De hecho, depende de los complementos que planea usar, ya que algunos complementos cambian el documento raíz de WordPress. pero generalmente recomiendo algo como esto para el directorio de wordpress.
Esto asignará la "raíz" (o el usuario que esté usando) como usuario en cada archivo / carpeta, R significa recursivo, por lo que simplemente no se detiene en la carpeta "html". si no usó R, entonces solo se aplica al directorio "html".
sudo chown -R root:www-data /var/www/html
Esto establecerá el propietario / grupo de "wp-content" en "www-data" y así permitirá que el servidor web instale los complementos a través del panel de administración.
chown -R www-data:www-data /var/www/html/wp-content
Esto establecerá el permiso de cada archivo en la carpeta "html" (incluidos los archivos en subdirectorios) en 644, por lo que las personas externas no pueden ejecutar ningún archivo, modificar ningún archivo, el grupo no puede ejecutar ningún archivo, modificar cualquier archivo y solo el usuario puede modificar / leer archivos, pero aun así el usuario no puede ejecutar ningún archivo. Esto es importante porque evita cualquier tipo de ejecución en la carpeta "html", ya que el propietario de la carpeta html y todas las demás carpetas excepto la carpeta wp-content son "root" (o su usuario), el www-data can ' t modifique cualquier archivo fuera de la carpeta wp-content, por lo que incluso si hay alguna vulnerabilidad en el servidor web, y si alguien accedió al sitio sin autorización, no puede eliminar el sitio principal excepto los complementos.
sudo find /var/www/html -type f -exec chmod 644 {} +
Esto restringirá el permiso de acceso a "wp-config.php" al usuario / grupo con rw-r ----- estos permisos.
chmod 640 /var/www/html/wp-config.php
Y si un complemento o actualización se quejó de que no puede actualizarse, acceda al SSH y use este comando, y otorgue el permiso temporal a "www-data" (servidor web) para actualizar / instalar a través del panel de administración, y luego revertir volver a la "raíz" o su usuario una vez que se haya completado.
chown -R www-data /var/www/html
Y en Nginx (el mismo procedimiento para el apache) para proteger la carpeta wp-admin del acceso no autorizado y el sondeo. Apache2-utils es necesario para cifrar la contraseña incluso si tiene instalado nginx, omita c si planea agregar más usuarios al mismo archivo.
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd userName
Ahora visita esta ubicación
/etc/nginx/sites-available/
Use estos códigos para proteger la carpeta "wp-admin" con una contraseña, ahora le pedirá la contraseña / nombre de usuario si intentó acceder a "wp-admin". observe, aquí usa el archivo ".htpasswd" que contiene la contraseña cifrada.
location ^~ /wp-admin {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
index index.php index.html index.htm;
}
Ahora reinicie el nginx.
sudo /etc/init.d/nginx restart