Sommaire
Comprendre et modifier les permissions des fichiers et répertoires sous Linux avec chmod, chown, chgrp et umask.
🎯 Objectifs de la fiche
- Notions de base (propriétaire, groupe, autres) — Identifier les trois niveaux de droits
- Lire les permissions avec ls -l — Décoder l’affichage des droits (rwx)
- Modifier les permissions avec chmod — Utiliser les modes numérique et symbolique
- Changer le propriétaire et le groupe avec chown/chgrp — Transférer la propriété d’un fichier
- Masque de création par défaut – umask — Définir les permissions par défaut pour les nouveaux fichiers
Prérequis
Un système Linux (Debian/Ubuntu) avec accès à un interpréteur de commandes. Avoir un utilisateur standard et connaître la commande ls.
1. Les trois niveaux de droits
Sous Linux, chaque fichier ou répertoire possède trois catégories d’utilisateurs :
| Catégorie | Signification |
|---|---|
| Propriétaire (user) | L’utilisateur qui a créé le fichier (ou qui s’est vu attribuer la propriété) |
| Groupe (group) | Tous les utilisateurs appartenant à ce groupe |
| Autres (others) | Tous les autres utilisateurs du système |
Pour chaque catégorie, trois droits peuvent être accordés :
| Droit | Fichier | Répertoire |
|---|---|---|
| r (read) | Lire le contenu du fichier | Lister le contenu du répertoire (ls) |
| w (write) | Modifier ou supprimer le fichier | Créer, renommer ou supprimer des fichiers dans le répertoire |
| x (execute) | Exécuter le fichier (script, programme) | Traverser le répertoire (cd, accès) |
2. Afficher les permissions avec ls -l
touch monfichier ls -l monfichier
Exemple d’affichage : -rw-r--r-- 1 alice users 0 juin 10 12:00 monfichier
| Champ | Exemple | Explication |
|---|---|---|
| 1er caractère | - | Type (- fichier, d répertoire, l lien symbolique) |
| Caractères 2 à 4 | rw- | Droits du propriétaire (rwx) |
| Caractères 5 à 7 | r-- | Droits du groupe |
| Caractères 8 à 10 | r-- | Droits des autres |
| Nom d’utilisateur | alice | Propriétaire |
| Nom du groupe | users | Groupe propriétaire |
3. Modifier les droits avec chmod
Méthode numérique (octale)
On attribue un chiffre (0 à 7) pour chaque catégorie, calculé par la somme des droits :
| Droit | Valeur |
|---|---|
| r (read) | 4 |
| w (write) | 2 |
| x (execute) | 1 |
Exemple : chmod 755 monfichier → propriétaire = 7 (4+2+1 = rwx), groupe = 5 (4+0+1 = r-x), autres = 5 (r-x).
chmod 644 monfichier # rw-r--r-- chmod 755 monfichier # rwxr-xr-x chmod 600 secret # rw-------
Méthode symbolique
On utilise les lettres u (user), g (group), o (others), a (all) et les opérateurs +, -, =.
chmod u+x monfichier # ajoute exécution pour le propriétaire chmod go-w monfichier # enlève l’écriture pour groupe et autres chmod a=r monfichier # tous en lecture seule (r--r--r--)
4. Changer propriétaire et groupe avec chown / chgrp
chown modifie le propriétaire (et éventuellement le groupe). Nécessite les droits sudo (sauf pour ses propres fichiers).
sudo chown bob monfichier # propriétaire devient bob sudo chown :staff monfichier # groupe devient staff sudo chown bob:staff monfichier # propriétaire bob et groupe staff
chgrp users monfichier # changer uniquement le groupe (si l’utilisateur en est membre)
5. Masque de création par défaut (umask)
umask définit les permissions par défaut des nouveaux fichiers et répertoires. Il s’agit d’un masque soustrait des permissions maximales (666 pour un fichier, 777 pour un répertoire).
umask # affiche la valeur courante (ex: 0022) umask 0027 # change le masque (propriétaire rwx, groupe rx, autres ---) touch nouveau_fichier # aura les droits 640 (rw-r-----)
6. Cas particuliers : droits SUID, SGID, sticky bit
Ces bits spéciaux modifient le comportement des exécutables ou des répertoires :
| Bit | Notation | Effet |
|---|---|---|
| SUID (setuid) | rws à la place de rwx pour le propriétaire | Le programme s’exécute avec les droits du propriétaire (ex: passwd) |
| SGID (setgid) | rws à la place de rwx pour le groupe | Sur un fichier : s’exécute avec le groupe du fichier. Sur un répertoire : nouveaux fichiers héritent du groupe. |
| Sticky bit | rwt à la place de rwx pour les autres | Sur un répertoire (ex: /tmp), seuls le propriétaire et root peuvent supprimer leurs fichiers. |
chmod u+s monprogramme # ajoute SUID chmod g+s monrep # ajoute SGID sur un répertoire chmod +t mondossier # ajoute le sticky bit
Quel est le droit minimal pour entrer dans un répertoire (cd) ?
✅ Réponse : x (exécution)
Quelle commande donnerait les droits rwxr-xr-- à un fichier ?
✅ Réponse : chmod 754
La commande chmod go-w fichier enlève le droit d'écriture à :
✅ Réponse : groupe et autres
Avec un umask de 0022, quel sera le droit par défaut d'un nouveau fichier ?
✅ Réponse : rw-r--r-- (644)
Le bit SUID (setuid) sur un exécutable permet de :
✅ Réponse : l'exécuter avec les droits du propriétaire
- Guide complet sur les permissions Linux
- Introduction à umask — man umask
- Comprendre le SUID/SGID sur des exemples pratiques
- Exercices interactifs en ligne pour maîtriser chmod