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 {} +
Déployer Xpenology sur Proxmox (et ajouter les disques en passthrough)
Installer Nextcloud sur son NAS Synology en une poignée de minutes ! (Sur DSM 6)
Installer Vaultwarden sur Synology (DSM7) via Docker
Héberger plusieurs Yunohost sur la même IP
Déployer Xpenology sur Proxmox (et ajouter les disques en passthrough)
Activer le copier / coller sur la console d’une machine virtuelle VMware ESXI
Installer Vaultwarden sur Synology (DSM7) via Docker
WordPress : attribuer les bonnes permissions aux dossiers et aux fichiers