Calculateur Chmod : Comprendre les permissions de fichiers Unix
Dans les systèmes basés sur Unix et Linux, les permissions de fichiers sont un aspect critique de la sécurité et de l'administration système. La commande chmod (change mode) est l'outil utilisé pour gérer qui peut lire, écrire ou exécuter un fichier ou un répertoire. Bien que le système soit logique, les représentations numériques et symboliques peuvent être déroutantes pour les débutants et même pour certains développeurs chevronnés.
Dans ce guide, nous expliquerons comment fonctionnent les permissions Unix, la différence entre les modes octal et symbolique, et fournirons un tableau de référence complet.
Les bases des permissions Unix
Chaque fichier et répertoire dans un système Linux possède trois types de permissions pour trois classes différentes d'utilisateurs.
Les trois classes
- Utilisateur (u) : Le propriétaire du fichier.
- Groupe (g) : Membres du groupe auquel appartient le fichier.
- Autres (o) : Tous les autres utilisateurs du système.
Les trois permissions
- Lecture (r) : Permission de voir le contenu d'un fichier ou de lister le contenu d'un répertoire.
- Écriture (w) : Permission de modifier un fichier ou d'ajouter/supprimer des fichiers dans un répertoire.
- Exécution (x) : Permission d'exécuter un fichier en tant que programme/script ou d'entrer dans un répertoire.
Le mode octal (numérique) expliqué
Le mode octal utilise trois chiffres pour représenter les permissions. Chaque chiffre est la somme des valeurs des permissions pour cette classe.
- Lecture (r) = 4
- Écriture (w) = 2
- Exécution (x) = 1
- Aucune permission = 0
Comment calculer un chiffre :
Lecture (4) + Écriture (2) + Exécution (1) = 7(Permissions complètes)Lecture (4) + Écriture (2) = 6(Lecture et Écriture)Lecture (4) + Exécution (1) = 5(Lecture et Exécution)Lecture (4) = 4(Lecture seule)
Exemple : chmod 755
- Utilisateur : 7 (4+2+1) -> rwx
- Groupe : 5 (4+1) -> r-x
- Autres : 5 (4+1) -> r-x
Le mode symbolique expliqué
Le mode symbolique utilise des lettres pour représenter les classes et les permissions.
- Classes :
u(utilisateur),g(groupe),o(autres),a(tous) - Opérations :
+(ajouter),-(supprimer),=(définir exactement) - Permissions :
r,w,x
Exemple : chmod u+x script.sh
Cela ajoute la permission d'exécution au propriétaire du fichier.
Tableau de référence Chmod
| Octal | Symbolique | Description | Cas d'utilisation courant |
|---|---|---|---|
| 777 | a+rwx |
Tout le monde peut tout faire | Dossiers publics (À utiliser avec prudence !) |
| 755 | u=rwx,go=rx |
Le propriétaire peut tout faire, les autres lisent/exécutent | Répertoires de serveurs web, Scripts |
| 644 | u=rw,go=r |
Le propriétaire lit/écrit, les autres lisent seulement | Fichiers texte normaux, fichiers HTML |
| 600 | u=rw,go= |
Seul le propriétaire lit/écrit | Clés privées, clés SSH |
| 400 | u=r,go= |
Seul le propriétaire lit | Fichiers de config sensibles |
| 700 | u=rwx,go= |
Seul le propriétaire peut tout faire | Scripts ou répertoires privés |
Cas d'utilisation courants et exemples
Rendre un script exécutable
chmod +x mon-script.sh
# ou
chmod 755 mon-script.sh
Sécuriser une clé privée SSH
Les clés SSH ne fonctionneront pas si elles sont trop accessibles. Elles doivent être restreintes au seul propriétaire.
chmod 600 ~/.ssh/id_rsa
Modifier les permissions de manière récursive
Pour changer les permissions d'un répertoire et de tout son contenu :
chmod -R 755 /chemin/vers/repertoire
Permissions spéciales : SUID, SGID et Sticky Bit
Les systèmes Linux avancés utilisent un quatrième chiffre de tête pour les permissions spéciales :
- SUID (4) : Lorsque le fichier est exécuté, le processus s'exécute avec les privilèges du propriétaire.
- SGID (2) : Le processus s'exécute avec les privilèges du groupe, ou les fichiers créés dans le répertoire héritent du groupe.
- Sticky Bit (1) : Seul le propriétaire d'un fichier dans un répertoire peut le supprimer ou le renommer (souvent utilisé pour
/tmp).
Exemple : chmod 1777 /tmp (Accès complet pour tous, mais seuls les propriétaires peuvent supprimer leurs fichiers).
Foire aux questions (FAQ)
Que signifie exactement "755" ?
Cela signifie que le propriétaire a les droits de Lecture, Écriture et Exécution (4+2+1=7). Le groupe et les autres ont les droits de Lecture et d'Exécution (4+1=5).
Pourquoi le 777 est-il considéré comme dangereux ?
777 permet à n'importe quel utilisateur du système de modifier ou de supprimer vos fichiers. Dans un environnement web, cela pourrait permettre à un attaquant de télécharger des scripts malveillants et de les exécuter.
Comment vérifier les permissions actuelles d'un fichier ?
Utilisez la commande ls -l dans votre terminal. Vous verrez une chaîne comme -rwxr-xr-x, où le premier caractère est le type de fichier et les 9 caractères suivants représentent les permissions.
Conclusion
Comprendre les permissions de fichiers est vital pour maintenir un environnement Linux sûr et fonctionnel. Bien que les codes numériques comme 644 ou 755 soient la norme, l'utilisation d'un calculateur en ligne peut vous aider à visualiser exactement ce que chaque code représente.
Besoin de trouver rapidement le bon code de permission ? Utilisez notre Calculateur Chmod (prochainement) pour générer la commande parfaite pour vos besoins !