Comment régler les droits de fichiers sur un serveur e-commerce
Des droits de fichiers trop restrictifs bloquent le fonctionnement normal d’une boutique ; des droits trop permissifs ouvrent une faille de sécurité exploitable. Le bon réglage est presque toujours entre les deux, jamais un simple 777 appliqué partout.
Ce que les chiffres signifient concrètement
Une permission de fichier ou de dossier se décompose en trois droits (lecture, écriture, exécution) pour trois catégories (propriétaire, groupe, autres), chacun exprimé par un chiffre de 0 à 7. Un dossier en 755 signifie que le propriétaire peut lire, écrire et exécuter, tandis que le groupe et les autres ne peuvent que lire et exécuter, sans écrire. Un dossier en 777 donne, lui, un droit d’écriture à absolument tout le monde, y compris à un script malveillant qui parviendrait à s’exécuter sur le serveur.
Sur une boutique en ligne, seuls certains dossiers ont réellement besoin d’un accès en écriture pour le serveur web : les dossiers de cache, de logs, d’upload de fichiers ou de médias. Le reste du code, en particulier les fichiers de configuration contenant les identifiants de connexion à la base de données, ne devrait jamais être modifiable directement par le serveur web une fois l’installation terminée.
Identifier les bons réglages
-
Lister les dossiers réellement écrits par l’application
Sur PrestaShop, cela concerne notamment var/cache, var/logs, img, upload et download. Le dossier config n’a besoin d’être inscriptible que pendant l’installation : une fois celle-ci terminée, il repasse en lecture seule pour le serveur web. Sur WooCommerce, principalement wp-content/uploads et les caches d’extensions actives.
-
Restreindre le reste en lecture seule
Le code source du CMS, du thème et des modules ou extensions n’a pas besoin d’être modifiable par le serveur web une fois déployé : une permission en lecture seule limite les conséquences d’une éventuelle intrusion.
-
Vérifier le propriétaire des fichiers
Sur un hébergement mutualisé, les fichiers appartiennent en général au compte d’hébergement lui-même, ce qui simplifie la gestion des droits comparé à un serveur dédié où plusieurs utilisateurs système peuvent intervenir.
-
Tester après chaque changement
Un réglage trop restrictif se manifeste en général par une erreur explicite (impossible d’écrire dans tel dossier), visible dans les logs après activation du mode debug.
Les erreurs courantes
- Appliquer 777 à l’ensemble du site pour résoudre rapidement une erreur de permission, sans revenir ensuite à un réglage plus strict.
- Laisser les fichiers de configuration contenant les identifiants de base de données accessibles en écriture après l’installation.
- Oublier de revérifier les droits après un transfert de fichiers par FTP, qui peut réinitialiser certaines permissions selon le client utilisé.
- Confondre droits de fichiers et droits utilisateurs applicatifs (comptes administrateurs du CMS) : ce sont deux systèmes de permissions totalement distincts.
Le cas particulier d’un accès SSH avec plusieurs utilisateurs
Sur un VPS ou un serveur dédié où plusieurs comptes système peuvent intervenir (un développeur, un outil de déploiement automatisé, le serveur web lui-même), la question du propriétaire des fichiers devient aussi importante que celle des permissions. Un fichier déployé par un utilisateur mais dont l’écriture est nécessaire pour un autre (le serveur web, par exemple) demande soit un groupe partagé correctement configuré, soit un ajustement précis du propriétaire selon le dossier concerné.
C’est une différence importante avec l’hébergement mutualisé, où un seul compte possède généralement l’ensemble des fichiers et où la question du partage entre plusieurs utilisateurs système ne se pose pas de la même façon.
Questions fréquentes
Pourquoi 777 est-il dangereux même temporairement ?
Comment savoir si un problème vient réellement des droits de fichiers ?
Les réglages de droits sont-ils identiques sur tous les hébergements ?
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.