Permissions de Fichiers sous Linux : chmod Expliqué
Dans le monde de l'hébergement web, la sécurité et la fonctionnalité de votre site dépendent en grande partie d'une configuration correcte. L'un des aspects les plus critiques et souvent sous-estimés est celui des permissions de fichiers et de répertoires sur les systèmes Linux. Comprendre leur fonctionnement et savoir quand appliquer les bonnes permissions est fondamental pour protéger votre site des vulnérabilités et garantir que toutes vos applications web, telles que WordPress ou Joomla, fonctionnent sans problème. Dans ce guide, nous explorerons les permissions les plus courantes —644, 755 et 777— et vous expliquerons quand et pourquoi vous devez utiliser chacune d'elles.
Comprendre les Permissions de Fichiers sous Linux
Les permissions sous Linux sont basées sur trois types d'utilisateurs et trois types d'actions :
- Utilisateurs :
- Propriétaire (User/Owner) : L'utilisateur qui a créé le fichier ou le répertoire.
- Groupe (Group) : Un groupe d'utilisateurs auquel le fichier appartient.
- Autres (Others/World) : Tout autre utilisateur sur le système qui n'est ni le propriétaire ni n'appartient au groupe.
- Actions (Permissions) :
- Lire (r / Read) : Permet de visualiser le contenu d'un fichier ou de lister le contenu d'un répertoire. Représenté par le nombre 4.
- Écrire (w / Write) : Permet de modifier ou de supprimer un fichier, ou de créer/supprimer des fichiers à l'intérieur d'un répertoire. Représenté par le nombre 2.
- Exécuter (x / Execute) : Permet d'exécuter un fichier (comme un script) ou d'accéder à un répertoire (y entrer). Représenté par le nombre 1.
Ces permissions sont combinées et représentées par un nombre octal à trois chiffres, où chaque chiffre correspond respectivement aux permissions du Propriétaire, du Groupe et des Autres. La somme des valeurs numériques (4+2+1) détermine la permission pour chaque catégorie.
Permissions Courantes en Hébergement Linux : Quand les Utiliser
Permission 644 : Le Standard pour les Fichiers
- Propriétaire : Lire et Écrire (4+2=6)
- Groupe : Lire (4)
- Autres : Lire (4)
C'est la permission la plus courante et recommandée pour la plupart des fichiers de votre site web. Elle permet au propriétaire du fichier (votre compte d'hébergement) de lire et de modifier le fichier. Le groupe et les autres utilisateurs n'ont que la permission de le lire. Cela signifie que votre serveur web (qui opère souvent sous un utilisateur différent du vôtre, mais avec accès au groupe ou aux 'autres') peut lire et servir le contenu de votre fichier, mais aucun autre utilisateur ou processus non autorisé ne peut y écrire.
Quand utiliser 644 :
- Fichiers HTML, CSS, JavaScript.
- Images (JPG, PNG, GIF).
- Fichiers texte brut (.txt).
- Fichiers de configuration qui n'ont pas besoin d'être écrits par le serveur web (par exemple,
wp-config.phpdans WordPress, bien que certains recommandent 444 ou 400 pour une sécurité maximale une fois configuré).
Permission 755 : Le Standard pour les Dossiers et Scripts Exécutables
- Propriétaire : Lire, Écrire et Exécuter (4+2+1=7)
- Groupe : Lire et Exécuter (4+1=5)
- Autres : Lire et Exécuter (4+1=5)
La permission 755 est recommandée pour tous les répertoires (dossiers) et pour tout script qui doit être exécuté par le serveur web (comme les scripts PHP, CGI ou les exécutables shell). Elle permet au propriétaire de lire, écrire et accéder au dossier ou d'exécuter le script. Le groupe et les autres utilisateurs peuvent lire le contenu du dossier (lister les fichiers) et y accéder (y entrer), ou exécuter le script, mais ils ne peuvent pas modifier son contenu.
Quand utiliser 755 :
- Tous les répertoires de votre site web (par exemple,
public_html,wp-content,includes). - Fichiers PHP qui agissent comme des scripts exécutables (la plupart des fichiers .php dans WordPress, Joomla, etc.).
- Scripts CGI ou exécutables personnalisés.
Permission 777 : Danger Extrême !
- Propriétaire : Lire, Écrire et Exécuter (4+2+1=7)
- Groupe : Lire, Écrire et Exécuter (4+2+1=7)
- Autres : Lire, Écrire et Exécuter (4+2+1=7)
Quand utiliser 777 :
Pratiquement jamais dans un environnement d'hébergement web. Dans des cas très, très spécifiques et temporaires, un script pourrait nécessiter des permissions d'écriture pour un dossier de cache ou de téléchargement de fichiers (par exemple, pour enregistrer des images téléchargées par les utilisateurs). Cependant, même dans ces cas, il est préférable de rechercher des alternatives plus sûres comme :
- Utiliser 755 et s'assurer que l'utilisateur du serveur web (par exemple,
www-dataounobody) est le propriétaire du répertoire. - Utiliser les ACLs (Listes de Contrôle d'Accès) si votre serveur le supporte, pour donner des permissions plus granulaires sans ouvrir la porte aux "autres".
- S'il est absolument nécessaire d'avoir une permission d'écriture pour "autres" dans un dossier spécifique pour un processus, envisagez d'utiliser 775 (si le groupe du serveur web est correct) ou même 705/707 pour les fichiers, mais jamais 777 de manière permanente.
Dans la mesure du possible, définissez les permissions les plus restrictives qui permettent le bon fonctionnement de votre site. Si une application vous demande 777, recherchez en profondeur pourquoi et trouvez une solution plus sûre.
Comment Changer les Permissions de Fichiers et de Répertoires
Vous pouvez modifier les permissions de vos fichiers et répertoires de plusieurs manières :
Via cPanel (Gestionnaire de Fichiers)
La manière la plus simple pour la plupart des utilisateurs de PlatiniumHost est d'utiliser le Gestionnaire de Fichiers de cPanel :
- Accédez à votre cPanel.
- Allez dans "Fichiers" > "Gestionnaire de Fichiers".
- Naviguez jusqu'au fichier ou répertoire que vous souhaitez modifier.
- Faites un clic droit sur le fichier/répertoire ou sélectionnez-le et cliquez sur "Permissions" dans la barre supérieure.
- Saisissez la valeur numérique souhaitée (par exemple, 644 ou 755) ou cochez les cases correspondantes.
- Cliquez sur "Change Permissions" (Changer les Permissions).
Via SSH (Ligne de Commande)
Si vous avez accès SSH à votre compte d'hébergement, vous pouvez utiliser la commande chmod :
- Pour un fichier :
chmod 644 nom_du_fichier.html
- Pour un répertoire :
chmod 755 nom_du_repertoire
- Pour appliquer les permissions de manière récursive (à un dossier et tout son contenu) :
chmod -R 755 nom_du_repertoire
Soyez prudent en utilisant
-R, car cela appliquera la même permission à tous les fichiers et sous-répertoires. Souvent, vous devrez appliquer 755 aux répertoires et 644 aux fichiers après une opération récursive. Cela peut être réalisé avec des commandes plus avancées ou des scripts.
Conclusion
La gestion correcte des permissions de fichiers et de répertoires est une pierre angulaire de la sécurité en hébergement web. En comprenant et en appliquant les permissions 644 et 755 de manière cohérente, vous protégerez votre site web des menaces courantes et assurerez son bon fonctionnement. N'oubliez jamais d'éviter la permission 777 à moins que ce ne soit une situation extrêmement justifiée et temporaire, en priorisant toujours la sécurité.
Si vous avez des doutes sur les permissions à appliquer à votre site hébergé sur PlatiniumHost, n'hésitez pas à contacter notre équipe de support technique. Nous sommes là pour vous aider à maintenir votre site sécurisé et fonctionnant de manière optimale.