Cela dépend en fait des plugins que vous prévoyez d'utiliser car certains plugins changent le document racine de wordpress. mais généralement je recommande quelque chose comme ça pour le répertoire wordpress.
Cela affectera la "racine" (ou quel que soit l'utilisateur que vous utilisez) en tant qu'utilisateur dans chaque fichier / dossier, R signifie récursif, donc cela ne s'arrête pas au dossier "html". si vous n'avez pas utilisé R, il ne s'applique qu'au répertoire "html".
sudo chown -R root:www-data /var/www/html
Cela définira le propriétaire / groupe de "wp-content" sur "www-data" et permettra ainsi au serveur Web d'installer les plugins via le panneau d'administration.
chown -R www-data:www-data /var/www/html/wp-content
Cela définira l'autorisation de chaque fichier du dossier "html" (y compris les fichiers dans les sous-répertoires) sur 644, de sorte que les personnes extérieures ne peuvent exécuter aucun fichier, modifier aucun fichier, le groupe ne peut exécuter aucun fichier, modifier n'importe quel fichier et seulement l'utilisateur est autorisé à modifier / lire des fichiers, mais même l'utilisateur ne peut exécuter aucun fichier. Ceci est important car il empêche tout type d'exécution dans le dossier "html", car le propriétaire du dossier html et de tous les autres dossiers, à l'exception du dossier wp-content, est "root" (ou votre utilisateur), le www-data peut ' t modifier tout fichier en dehors du dossier wp-content, donc même s'il y a une vulnérabilité dans le serveur web, et si quelqu'un accède au site sans autorisation, il ne peut pas supprimer le site principal à l'exception des plugins.
sudo find /var/www/html -type f -exec chmod 644 {} +
Cela restreindra la permission d'accéder à "wp-config.php" à l'utilisateur / groupe avec rw-r ----- ces autorisations.
chmod 640 /var/www/html/wp-config.php
Et si un plugin ou une mise à jour se plaignait qu'il ne pouvait pas se mettre à jour, alors accédez à SSH et utilisez cette commande, et accordez l'autorisation temporaire à "www-data" (serveur Web) pour mettre à jour / installer via le panneau d'administration, puis revenir retour à la "racine" ou à votre utilisateur une fois qu'il est terminé.
chown -R www-data /var/www/html
Et dans Nginx (même procédure pour l'apache) pour protéger le dossier wp-admin contre les accès non autorisés et les sondages. apache2-utils est requis pour crypter le mot de passe même si vous avez installé nginx, omettez c si vous prévoyez d'ajouter plus d'utilisateurs au même fichier.
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd userName
Maintenant, visitez cet endroit
/etc/nginx/sites-available/
Utilisez ces codes pour protéger le dossier "wp-admin" avec un mot de passe, maintenant il vous demandera le mot de passe / nom d'utilisateur si vous avez essayé d'accéder au "wp-admin". remarquez, ici vous utilisez le fichier ".htpasswd" qui contient le mot de passe crypté.
location ^~ /wp-admin {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
index index.php index.html index.htm;
}
Redémarrez maintenant le nginx.
sudo /etc/init.d/nginx restart