Permissions Linux 🔐
Cette section présente les permissions Unix classiques, les bits spéciaux, les attributs de fichiers et les ACL. 🛡️
Permissions standard 📚
Chaque fichier et répertoire possède des droits distincts pour son propriétaire (u), son groupe (g) et les autres utilisateurs (o).
Lire, écrire, exécuter 📝
r(lecture) : lit le contenu d'un fichier ou liste le contenu d'un répertoire.w(écriture) : modifie un fichier ; sur un répertoire, crée, renomme ou supprime des entrées.x(exécution) : exécute un fichier ; sur un répertoire, permet de le traverser et d'accéder à son contenu.
Par exemple, rwx donne les droits de lecture, d'écriture et d'exécution.
Notation numérique 🔢
Chaque droit correspond à une valeur : r = 4, w = 2 et x = 1. Additionnez-les pour chaque catégorie d'utilisateurs.
| Valeur | Droits |
|---|---|
7 |
rwx |
6 |
rw- |
5 |
r-x |
4 |
r-- |
0 |
--- |
La permission 750 signifie donc : rwx pour le propriétaire, r-x pour le groupe et aucun droit pour les autres utilisateurs.
Modifier les droits ⚙️
Modifie les permissions d'un fichier en notation symbolique ou numérique.
Voir les droits 👀
Affiche notamment le propriétaire, le groupe et les permissions des fichiers.
Propriétaire et groupe 👤
Cette sous-section permet de modifier l'appartenance d'un fichier ou d'un répertoire.
Changer le propriétaire ✍️
Attribue le fichier à l'utilisateur alice.
Changer le groupe 👥
Attribue le fichier au groupe projet.
Changer propriétaire et groupe 🔁
Attribue simultanément le fichier à alice et au groupe projet.
Bits spéciaux ⚠️
Les bits spéciaux ajoutent des comportements particuliers. Ils doivent être utilisés avec parcimonie, surtout sur les programmes exécutables. 🚧
Setuid 👤
Sur un exécutable, le bit setuid lance le programme avec les privilèges de son propriétaire. Un binaire appartenant à root peut donc s'exécuter avec des privilèges élevés.
Setgid 👥
Sur un exécutable, le bit setgid utilise le groupe du fichier. Sur un répertoire, les nouveaux fichiers héritent du groupe de ce répertoire.
Sticky bit 📌
Sur un répertoire partagé, le sticky bit empêche un utilisateur de supprimer ou renommer les fichiers des autres utilisateurs. Le propriétaire du fichier, le propriétaire du répertoire et root conservent ce droit.
Attributs de fichiers 🌿
lsattr affiche les attributs étendus disponibles sur certains systèmes de fichiers Linux, tandis que chattr les modifie.
Consulter les attributs 🔎
Attributs courants 🧰
a: autorise uniquement l'ajout de contenu.c: demande la compression du contenu, si le système de fichiers la prend en charge.d: exclut le fichier des sauvegardesdump.i: rend le fichier immuable.j: journalise les données avant leur écriture, selon le système de fichiers.s: demande l'écrasement des blocs lors de la suppression ; ce comportement dépend du système de fichiers.T: optimise l'organisation des répertoires enfants sur certains systèmes de fichiers.
Rendre un fichier immuable 🔒
Empêche toute modification, renommage ou suppression du fichier jusqu'au retrait de l'attribut.
ACL 📗
Les ACL (Access Control Lists) ajoutent des permissions spécifiques à des utilisateurs ou groupes, au-delà du propriétaire, du groupe et des autres utilisateurs.
Consulter les ACL 👀
Affiche les permissions standard et les ACL associées au fichier.
Ajouter ou retirer une ACL ➕
Accorde tous les droits à alice, puis retire son droit d'écriture.
Définir des ACL par défaut 🗂️
Les ACL par défaut d'un répertoire sont héritées par les nouveaux fichiers et sous-répertoires. X n'ajoute l'exécution qu'aux répertoires et aux fichiers déjà exécutables.
Tester le support des ACL 🧪
Crée un fichier temporaire, applique une ACL pour l'utilisateur courant, puis l'affiche. La commande échoue si le système de fichiers ne prend pas les ACL en charge.