Des permissions de fichiers incorrectes sont une cause fréquente d’erreurs 500, de failles de sécurité et de téléchargements qui ne fonctionnent pas. Pour la plupart des sites web, une règle simple s’applique : les dossiers reçoivent la permission 755 et les fichiers 644, tandis que les fichiers de configuration contenant des données sensibles peuvent être plus restrictifs. Cet article explique ce que signifient exactement les permissions, quelles valeurs utiliser et où, et comment les modifier via SSH ou Plesk.
Que sont les permissions de fichiers
Sous Linux, chaque fichier et chaque dossier possède trois types de droits : lecture (r), écriture (w) et exécution (x). Ces droits s’appliquent séparément au propriétaire, au groupe et aux autres utilisateurs. La combinaison est généralement représentée par un nombre à trois chiffres, par exemple 755 ou 644. Chaque chiffre est la somme de la lecture (4), de l’écriture (2) et de l’exécution (1) pour respectivement le propriétaire, le groupe et les autres.
Ainsi, 755 signifie que le propriétaire peut tout faire (7 = 4+2+1), tandis que le groupe et les autres ne peuvent que lire et exécuter (5 = 4+1). Pour les dossiers, les droits d’exécution sont nécessaires pour pouvoir y naviguer ; pour les fichiers, cela détermine si un script peut être exécuté.
Valeurs correctes par type de fichier
Chaque fichier n’a pas besoin des mêmes droits. Une bonne répartition de base :
- Dossiers : 755 (le propriétaire peut tout faire, les autres peuvent lire et ouvrir)
- Fichiers standards comme HTML, CSS et images : 644
- Scripts PHP : généralement 644, parfois 755 si le script doit être exécutable
- Fichiers de configuration contenant des mots de passe ou des données de base de données : 600, afin que seul le propriétaire puisse lire et écrire
- Dossiers de téléchargement devant être écrits par des systèmes CMS : parfois 775, mais de préférence pas plus large que nécessaire
Évitez le 777 sur les fichiers ou dossiers. Cela donne à tout le monde sur le système des droits d’écriture et constitue un risque de sécurité majeur, même si cela semble être une solution rapide à une erreur.
Modifier les permissions avec chmod et chown
Via SSH, vous modifiez les permissions avec la commande chmod, et le propriétaire avec chown. Quelques exemples pratiques :
Connectez-vous via SSH
Connectez-vous à votre serveur via SSH et naviguez vers le dossier de votre site web, par exemple avec cd httpdocs.
Mettez les dossiers en 755
Utilisez la commande find . -type d -exec chmod 755 {} ; pour mettre récursivement tous les dossiers en 755.
Mettez les fichiers en 644
Utilisez find . -type f -exec chmod 644 {} ; pour mettre tous les fichiers en 644.
Vérifiez le propriétaire et le groupe
Avec chown nomutilisateur:groupe nomfichier, vous définissez le bon propriétaire, afin que votre compte d’hébergement et le serveur web ne se gênent pas mutuellement.
Utilisez Plesk comme alternative
Si vous préférez ne pas utiliser de commandes SSH, vous pouvez dans Plesk faire un clic droit sur un fichier ou un dossier via le gestionnaire de fichiers et choisir de modifier les permissions. Cela se trouve dans le panneau de contrôle Plesk, disponible par défaut avec l’hébergement web chez Tandata.
Erreurs courantes et sécurité
L’erreur la plus fréquente est d’appliquer partout le 777 parce qu’un plugin ou un téléchargement ne fonctionne pas. Cela résout temporairement le problème mais rend le site vulnérable aux abus, car des personnes malveillantes peuvent alors également écraser des fichiers. Vérifiez plutôt d’abord si le propriétaire du fichier est correct.
Une autre erreur fréquente consiste à appliquer accidentellement des permissions de fichiers à des dossiers ou l’inverse via une commande find incorrecte, ce qui rend les dossiers inaccessibles (bit d’exécution manquant) ou empêche l’exécution des scripts.
Faites également attention à la configuration des e-mails et aux identifiants : les fichiers contenant des mots de passe, des clés API ou des paramètres de base de données ne doivent pas être lisibles par d’autres utilisateurs du système. C’est tout aussi important qu’une configuration DNS et SPF correcte pour les e-mails professionnels, dont tient compte l’hébergement e-mail chez Tandata pour un bon score de sécurité.
Si vous êtes bloqué ou avez des doutes sur les bons réglages pour votre CMS, vous pouvez chercher davantage dans la base de connaissances ou contacter le support via WhatsApp, ticket ou e-mail, même la nuit.
Questions fréquentes
Quelle est la différence entre chmod 644 et 755 ?
644 donne au propriétaire les droits de lecture et d’écriture, et aux autres seulement les droits de lecture, sans droits d’exécution. 755 donne au propriétaire tous les droits et aux autres les droits de lecture et d’exécution, ce qui est nécessaire pour pouvoir ouvrir des dossiers.
Pourquoi ma fonction de téléchargement ne fonctionne-t-elle pas malgré des permissions correctes ?
Cela est souvent dû au propriétaire du dossier plutôt qu’à la permission elle-même. Vérifiez avec ls -la si le dossier appartient au bon compte utilisateur, et ajustez cela avec chown.
Le 777 est-il jamais une bonne solution ?
Non, le 777 donne à tout le monde sur le système des droits complets et n’est quasiment jamais nécessaire. Utilisez plutôt 755 ou 775 et vérifiez le propriétaire du fichier.
Puis-je aussi modifier les permissions sans SSH ?
Oui, via le gestionnaire de fichiers dans Plesk, vous pouvez définir les permissions par fichier ou dossier sans ligne de commande.
Dois-je ajuster les permissions après être passé à un nouvel hébergeur ?
Parfois oui, car la propriété des fichiers peut changer lors de la migration. Lors du passage chez Tandata, cela est pris en compte lors du transfert, mais il est toujours conseillé de le vérifier après la migration.
Conclusion
Des permissions de fichiers correctes sont essentielles pour un site web sûr et stable. Maintenez 755 pour les dossiers, 644 pour les fichiers et des valeurs plus strictes comme 600 pour les fichiers de configuration contenant des données sensibles. Évitez le 777 et vérifiez d’abord le propriétaire du fichier avant d’ajuster les permissions en cas de problème.