Dans cet article
Qu'est-ce que chmod ?
chmod (change mode) est une commande Unix et Linux qui definit les permissions des fichiers et repertoires. Chaque fichier sur un systeme Unix possede trois categories de permissions : proprietaire (l'utilisateur qui a cree le fichier), groupe (les utilisateurs du meme groupe) et autres (tous les autres). Chaque categorie peut independamment recevoir les permissions de lecture, ecriture et execution.
Comprendre chmod est essentiel pour l'administration systeme, la configuration de serveurs web et la gestion securisee des fichiers. Des permissions incorrectes sont l'une des causes les plus courantes de vulnerabilites de securite et d'erreurs d'application sur les serveurs Linux.
Comment fonctionnent les permissions chmod
Les permissions peuvent etre exprimees en deux notations : numerique (octale) et symbolique. La notation numerique utilise trois chiffres (par ex. 755), ou chaque chiffre represente les permissions pour le proprietaire, le groupe et les autres respectivement.
- Lecture (r = 4) — voir le contenu du fichier ou lister les entrees d'un repertoire
- Ecriture (w = 2) — modifier le contenu du fichier ou ajouter/supprimer des fichiers dans un repertoire
- Execution (x = 1) — executer un fichier comme programme ou entrer dans un repertoire avec cd
Chaque chiffre est la somme de ses permissions : 7 = lecture + ecriture + execution (4+2+1), 6 = lecture + ecriture (4+2), 5 = lecture + execution (4+1), 4 = lecture seule. La notation symbolique utilise des lettres : u (utilisateur/proprietaire), g (groupe), o (autres), avec +/- pour ajouter ou retirer des permissions.
Essayez gratuitement — sans inscription
Calculer les permissions chmod →Valeurs de permissions courantes
Voici les valeurs chmod les plus frequemment utilisees et leurs applications typiques.
- 755 (rwxr-xr-x) — standard pour les fichiers executables et repertoires ; le proprietaire a un acces complet, tous les autres peuvent lire et executer
- 644 (rw-r--r--) — standard pour les fichiers reguliers ; le proprietaire peut lire et ecrire, tous les autres peuvent seulement lire
- 700 (rwx------) — repertoire ou script prive ; seul le proprietaire a acces
- 600 (rw-------) — fichier prive comme les cles SSH ou fichiers de configuration avec des secrets ; seul le proprietaire peut lire et ecrire
- 777 (rwxrwxrwx) — acces complet pour tous ; presque jamais approprie et constitue un risque de securite en production
Implications de securite
Le principe du moindre privilege s'applique directement aux permissions de fichiers : n'accordez que les permissions minimales necessaires au bon fonctionnement d'un fichier ou repertoire. Les fichiers accessibles en ecriture a tous sont un vecteur d'attaque courant.
Les bits de permissions speciaux ajoutent une couche supplementaire : SUID fait qu'un programme s'execute en tant que proprietaire du fichier, SGID le fait s'executer en tant que groupe du fichier, et le sticky bit sur les repertoires empeche les utilisateurs de supprimer des fichiers qu'ils ne possedent pas.
Conseils et bonnes pratiques
Suivez ces directives pour maintenir des permissions securisees et fonctionnelles sur vos systemes.
- Les repertoires ont besoin de la permission d'execution — sans elle, les utilisateurs ne peuvent pas entrer dans le repertoire ou acceder aux fichiers a l'interieur
- Utilisez chmod recursif avec precaution — chmod -R 755 rend tous les fichiers executables, ce qui est rarement correct ; utilisez find avec -type f et -type d separement
- Definissez les valeurs par defaut umask — la commande umask controle les permissions par defaut des fichiers nouvellement crees ; un umask de 022 cree les fichiers en 644 et les repertoires en 755
Questions frequemment posees
Quelle est la difference entre 755 et 777 ?
Avec 755, le proprietaire a le controle total tandis que le groupe et les autres peuvent seulement lire et executer. Avec 777, tout le monde a le controle total y compris la possibilite de modifier ou supprimer le fichier. Utiliser 777 n'est presque jamais necessaire et cree un risque de securite important.
Pourquoi les repertoires ont-ils besoin de la permission d'execution ?
Le bit d'execution sur un repertoire controle la capacite a le traverser. Sans permission d'execution, un utilisateur ne peut pas entrer dans le repertoire ni acceder aux fichiers a l'interieur. C'est pourquoi les repertoires ont typiquement 755 tandis que les fichiers ont 644.
Quelles sont les permissions par defaut pour les nouveaux fichiers ?
Les permissions par defaut dependent du reglage umask. Avec le umask courant de 022, les nouveaux fichiers sont crees avec 644 (rw-r--r--) et les nouveaux repertoires avec 755 (rwxr-xr-x).