Linux, Sécurité, Web, Wordpress

WordPress : attribuer les bonnes permissions aux dossiers et aux fichiers

Les permissions de fichiers et dossiers, ce n’est pas toujours simple, et cela peut vite devenir compliqué, surtout quand on ne s’y connaît pas vraiment en systèmes Linux !

Dans le cas de WordPress, il est primordial que les différents fichiers aient les bonnes permissions, ni trop larges, ni trop restrictives, et les bons propriétaires, sous peine de voir votre site ne plus fonctionner, ou partiellement. Cela peut notamment empêcher le site de se mettre à jour, ou tout simplement amener de grosses failles de sécurité.

Regardons ensemble comment régler cela.

Dans un premier temps, il faudra vous connecter en SSH à votre serveur, à l’aide de Putty, de votre terminal, ou tout autre outil de votre préférence.

1. Définir le bon propriétaire avec chown

Les fichiers et dossiers du site doivent appartenir au bon utilisateur qui permet de tourner sur le serveur Web, à savoir www-data dans la plupart cas, http dans d’autres (notamment pour Synology).

Dans un premier temps, rendez-vous dans le dossier www de votre serveur Web, et vérifiez que le dossier de votre site est bien présent, en listant les dossiers à l’aide de la commande

ls -l

Changez le propriétaire des dossiers et fichiers grâce à la commande chown, de l’anglais change owner, et de manière récursive dans tout le dossier /mon-site avec le paramètre -R

chown -R www-data:www-data /mon-site

2. Définir les permissions avec chmod

De même, chmod vient de l’anglais change mode et permet d’attribuer soit le droit de lire, d’écrire ou d’exécuter les fichiers.

Dans notre cas, les dossiers de WordPress doivent avoir un chmod de 750, et les fichiers un chmod de 640.

Toujours depuis le même endroit en SSH, réglons les permissions des dossiers :

find /mon-site -type d -not -perm 750 -exec chmod 750 {} +

Puis les permissions des fichiers :

find /mon-site -type f -not -perm 640 -exec chmod 640 {} +

Une sécurité supplémentaire sera d’appliquer un chmod de 440 au fichier wp-config.php, afin qu’il ne puisse être lu que par l’utilisateur et le groupe web précédemment appliqué :

find /mon-site/wp-config.php -not -perm 440 -exec chmod 440 {} +

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *