Il est primordial d’accorder les bonnes permissions aux fichiers et dossiers d’un site sur un serveur web. Si ces permissions sont trop permissives, l’administrateur du site s’expose à la compromission du site, voire du serveur.
Sous WordPress, c’est la même chose : les fichiers et dossiers du site doivent avoir les bonnes permissions.
Le problème : des permissions trop larges
Sur le site, j’ai eu pendant trop longtemps un problème avec les fichiers et répertoires de thèmes ou de plugins.
Je m’explique : à chaque fois qu’un plugin voulait créer des fichiers (dans un répertoire /cache
par exemple), la seule solution était de mettre les permissions de ce répertoire à 777, le mal absolu puisque cela permet au monde entier de lire, écrire et exécuter des fichiers dans ce dossier.
Pour les fichiers de thèmes éditables par WordPress, il fallait que leurs permissions soient à 666, ce qui là aussi posait un gros souci de sécurité.
Voici donc un tuto pour apprendre comment mettre les bonnes permissions à vos fichiers et dossiers pour votre site, qu’il tourne sous WordPress ou non.
Étape 1 : définir le bon propriétaire et groupe pour les fichiers
Les fichiers du site doivent appartenir au propriétaire et au groupe qui les fait tourner.
En règle générale; les serveurs de fichiers (comme Apache ou NginX) ont comme propriétaire www-data
et comme groupe groupe www-data
.
Dans mon cas, ayant installé les fichiers via SSH, les fichiers étaient détenus par l’utilisateur root
. Je crée donc un nouvel utilisateur pour mon site:
adduser caddy www-data
Je vais donc assigner à l’utilisateur caddy
et au groupe www-data
la permission d’être propriétaire de mes fichiers, avec la commande chown
.
Pensez à changer caddy
pour le nom de votre utilisateur web ou FTP.
Lire la suite