0 Votes

Code source wiki de Sticky Bit

Modifié par john le 2026/09/20 20:18

Masquer les derniers auteurs
john 1.1 1 {{toc/}}
2
3 == Présentation ==
john 2.1 4
john 5.1 5 Le **Sticky Bit** est un **droit spécial sur un répertoire**.
6 Il empêche les utilisateurs **de supprimer ou de renommer les fichiers des autres**, même si tout le monde a les droits d'écriture dans ce dossier.
john 1.1 7
john 5.1 8 Sans lui, le droit d'écriture sur un dossier suffit à supprimer n'importe quel fichier qu'il contient, quel qu'en soit le propriétaire.
john 1.1 9
john 5.1 10 Il est **souvent utilisé sur ##/tmp##**, un répertoire partagé entre tous les utilisateurs.
11
john 3.1 12 ----
john 1.1 13
14 == Exemple concret ==
john 2.1 15
john 1.1 16 {{code language="bash"}}
17 ls -ld /tmp
18 {{/code}}
19
20 Sortie :
21
john 5.1 22 {{code language="text"}}
23 drwxrwxrwt 10 root root 4096 mai 24 12:34 /tmp
24 {{/code}}
john 1.1 25
john 5.1 26 Le ##t## à la fin des permissions (##drwxrwxrwt##) indique que le **Sticky Bit est actif**. Un ##T## majuscule signifierait que le Sticky Bit est posé mais que le droit d'exécution manque pour les autres.
27
john 3.1 28 ----
john 1.1 29
30 == Ajouter le Sticky Bit ==
john 2.1 31
john 1.1 32 {{code language="bash"}}
33 chmod +t mon_dossier
john 5.1 34 # ou en notation octale, le 1 en tête
35 chmod 1777 mon_dossier
john 1.1 36 {{/code}}
37
38 Pour le retirer :
39
40 {{code language="bash"}}
41 chmod -t mon_dossier
42 {{/code}}
43
john 3.1 44 ----
john 1.1 45
46 == Cas d'usage ==
john 2.1 47
john 1.1 48 * Empêcher un utilisateur de supprimer les fichiers d’un autre dans un dossier partagé
john 5.1 49 * ##/tmp##, ##/var/tmp##, ou tout répertoire multi-utilisateurs en écriture
john 1.1 50
john 5.1 51 Seuls le propriétaire du fichier, le propriétaire du dossier et root peuvent alors supprimer un fichier.
52
john 3.1 53 ----
john 1.1 54
john 5.1 55 == À ne pas confondre ==
56
57 |=Droit|=Notation|=Effet
58 |Sticky Bit|##t## en fin de droits, octal ##1###|Sur un dossier : seul le propriétaire d’un fichier peut le supprimer
59 |SUID|##s## dans les droits du propriétaire, octal ##4###|Un exécutable s’exécute avec l’identité de son propriétaire
60 |SGID|##s## dans les droits du groupe, octal ##2###|Sur un exécutable : identité du groupe ; sur un dossier : les fichiers créés héritent du groupe
61
62 ----
63
john 1.1 64 == Vérification ==
john 2.1 65
john 5.1 66 Répertoires avec le Sticky Bit :
john 1.1 67
68 {{code language="bash"}}
69 find / -type d -perm -1000 2>/dev/null
70 {{/code}}
71
john 5.1 72 Fichiers SUID, à surveiller lors d’un audit de sécurité :
73
74 {{code language="bash"}}
75 find / -type f -perm -4000 2>/dev/null
76 {{/code}}
77
john 3.1 78 ----
john 1.1 79
80 == Liens internes ==
john 2.1 81
john 5.1 82 * [[Retour à la section Tutos Linux>>doc:Wiki Batcave John.TutosLinux.WebHome]]
83 * [[Durcissement Linux>>doc:Wiki Batcave John.TutosLinux.Durcissement.WebHome]]
john 2.1 84 * [[Retour à l’accueil>>doc:Wiki Batcave John.WebHome]]