Sommaire
🐧 Module L2 – Gestion des droits Linux
Objectifs : maîtriser la gestion des permissions Unix, les ACL, l'umask et le sticky bit.
📖 Introduction
Les permissions sous Linux sont le fondement de la sécurité du système. Ce module vous présente les différents types de permissions, les commandes pour les modifier et les bonnes pratiques.
À l'issue de ce module, vous serez capable de :
- Comprendre les permissions Unix (r,w,x) et leurs valeurs octales.
- Utiliser
chmod(notation symbolique et octale). - Utiliser
chown,chgrp. - Gérer les ACL (
setfacl,getfacl). - Comprendre l'
umasket le sticky bit.
🏠 Analogie : les permissions comme un appartement
Imaginez un appartement :
- Propriétaire : peut tout faire (r/w/x) → il a la clé de toutes les pièces.
- Groupe (famille) : peut lire et utiliser les pièces communes (r-x).
- Autres (visiteurs) : peuvent seulement regarder (r–).
- Sticky bit : quand quelqu'un pose un objet dans le couloir, seul le propriétaire de l'objet peut le retirer.
📋 Permissions Unix
| Permission | Fichier | Répertoire | Valeur octale |
|---|---|---|---|
| Lecture (r) | Lire le contenu | Lister les fichiers | 4 |
| Écriture (w) | Modifier le contenu | Créer/supprimer des fichiers | 2 |
| Exécution (x) | Exécuter | Accéder au répertoire (cd) | 1 |
Chaque permission a une valeur numérique : r=4, w=2, x=1.
La somme donne la permission : 7 = rwx, 6 = rw-, 5 = r-x, 4 = r--, 0 = ---.
Exemples de combinaisons courantes
| Notation | Permissions | Signification |
|---|---|---|
755 | rwxr-xr-x | Propriétaire : tout, Groupe : rx, Autres : rx |
644 | rw-r--r-- | Propriétaire : rw, Groupe : r, Autres : r |
750 | rwxr-x--- | Propriétaire : tout, Groupe : rx, Autres : rien |
600 | rw------- | Seul le propriétaire peut lire et écrire |
777 | rwxrwxrwx | Tout le monde peut tout faire (à éviter !) |
⚙️ Commandes essentielles
chmod – Modifier les permissions
- Notation symbolique :
chmod u+x fichier(ajoute l'exécution au propriétaire) - Notation octale :
chmod 755 fichier - Récursif :
chmod -R 755 dossier
chown et chgrp – Changer propriétaire et groupe
chown user:group fichier(change les deux)chown user fichier(change seulement le propriétaire)chgrp group fichier(change seulement le groupe)chown -R user:group dossier(récursif)
🔗 ACL – Access Control Lists
Les ACL permettent de définir des permissions plus fines que les permissions Unix standard, en donnant des droits à des utilisateurs ou groupes spécifiques.
Exemple concret
Vous avez un fichier /etc/nginx/nginx.conf et vous voulez que l'utilisateur webadmin puisse le modifier, sans le rendre propriétaire :
setfacl -m u:webadmin:rw /etc/nginx/nginx.conf
📐 Umask – Masque de création de fichiers
L'umask est un masque qui définit les permissions par défaut des fichiers et répertoires créés. Il soustrait des permissions à 666 (fichiers) ou 777 (répertoires).
Exemple : umask = 022 (valeur par défaut)
- Fichier : 666 - 022 = 644 →
rw-r--r-- - Répertoire : 777 - 022 = 755 →
rwxr-xr-x
umask affiche la valeur actuelle, umask 027 la modifie (temporairement).
🔒 Sticky bit
Le sticky bit est un attribut spécial qui, lorsqu'il est positionné sur un répertoire, empêche les utilisateurs de supprimer des fichiers appartenant à d'autres utilisateurs, même s'ils ont les droits d'écriture sur le répertoire.
- Application :
chmod +t /tmpouchmod 1777 /tmp - Visualisation :
ls -ld /tmp→drwxrwxrwt(le t à la fin indique le sticky bit) - Utilité : utilisé pour
/tmpet/var/tmpafin que les utilisateurs ne puissent pas supprimer les fichiers temporaires des autres.
🧪 Mise en pratique
Modifier les permissions
Donner les droits rwxr-x--- à un fichier :
chmod 750 fichier
- 7 = rwx (propriétaire)
- 5 = r-x (groupe)
- 0 = --- (autres)
Changer propriétaire
Changer le propriétaire d'un fichier en alice et le groupe en users :
chown alice:users fichier.txt
alice: nouveau propriétaire.users: nouveau groupe.
Ajouter une ACL
Donner les droits lecture/écriture à l'utilisateur bob sur fichier.txt :
setfacl -m u:bob:rw fichier.txt
-m: modifier l'ACL.u:bob:rw: utilisateur bob, droits lecture et écriture.
📝 Exercices d'application
Exercice 1 – chmod
Que signifie chmod 644 fichier ?
rw-r--r-- : le propriétaire lit et écrit, le groupe lit, les autres lisent.
Exercice 2 – ACL
Comment donner les droits lecture/écriture à l'utilisateur bob sur un fichier ?
setfacl -m u:bob:rw fichier
Exercice 3 – Umask
Avec un umask de 027, quelles seront les permissions d'un fichier créé ?
Fichier : 666 - 027 = 640 → rw-r-----
Répertoire : 777 - 027 = 750 → rwxr-x---
Exercice 4 – Sticky bit
Quelle commande permet d'activer le sticky bit sur /tmp ?
chmod +t /tmp ou chmod 1777 /tmp
🎯 Quiz d'auto‑évaluation
1. La notation chmod 755 correspond à :
2. La commande chown user:group fichier permet de :
3. L'umask par défaut sous Linux (022) crée des fichiers avec quelles permissions ?
4. La commande setfacl -m u:alice:rw fichier :
5. Le sticky bit sur un répertoire (/tmp) permet de :
6. La valeur 6 en notation octale correspond à :