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.
chmod (notation symbolique et octale).chown, chgrp.setfacl, getfacl).umask et le sticky bit.Imaginez un appartement :
| 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 |
| 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 !) |
chmod – Modifier les permissionschmod u+x fichier (ajoute l'exécution au propriétaire)chmod 755 fichierchmod -R 755 dossierchown et chgrp – Changer propriétaire et groupechown 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)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.
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
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)
rw-r--r--rwxr-xr-xumask affiche la valeur actuelle, umask 027 la modifie (temporairement).
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.
chmod +t /tmp ou chmod 1777 /tmpls -ld /tmp → drwxrwxrwt (le t à la fin indique le sticky bit)/tmp et /var/tmp afin que les utilisateurs ne puissent pas supprimer les fichiers temporaires des autres.Donner les droits rwxr-x--- à un fichier :
chmod 750 fichier
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.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.Que signifie chmod 644 fichier ?
rw-r--r-- : le propriétaire lit et écrit, le groupe lit, les autres lisent.
Comment donner les droits lecture/écriture à l'utilisateur bob sur un fichier ?
setfacl -m u:bob:rw fichier
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---
Quelle commande permet d'activer le sticky bit sur /tmp ?
chmod +t /tmp ou chmod 1777 /tmp
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 à :