Code source wiki de Sticky Bit
Modifié par john le 2026/09/20 20:18
Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{toc/}} | ||
| 2 | |||
| 3 | == Présentation == | ||
| 4 | |||
| 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. | ||
| 7 | |||
| 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. | ||
| 9 | |||
| 10 | Il est **souvent utilisé sur ##/tmp##**, un répertoire partagé entre tous les utilisateurs. | ||
| 11 | |||
| 12 | ---- | ||
| 13 | |||
| 14 | == Exemple concret == | ||
| 15 | |||
| 16 | {{code language="bash"}} | ||
| 17 | ls -ld /tmp | ||
| 18 | {{/code}} | ||
| 19 | |||
| 20 | Sortie : | ||
| 21 | |||
| 22 | {{code language="text"}} | ||
| 23 | drwxrwxrwt 10 root root 4096 mai 24 12:34 /tmp | ||
| 24 | {{/code}} | ||
| 25 | |||
| 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 | |||
| 28 | ---- | ||
| 29 | |||
| 30 | == Ajouter le Sticky Bit == | ||
| 31 | |||
| 32 | {{code language="bash"}} | ||
| 33 | chmod +t mon_dossier | ||
| 34 | # ou en notation octale, le 1 en tête | ||
| 35 | chmod 1777 mon_dossier | ||
| 36 | {{/code}} | ||
| 37 | |||
| 38 | Pour le retirer : | ||
| 39 | |||
| 40 | {{code language="bash"}} | ||
| 41 | chmod -t mon_dossier | ||
| 42 | {{/code}} | ||
| 43 | |||
| 44 | ---- | ||
| 45 | |||
| 46 | == Cas d'usage == | ||
| 47 | |||
| 48 | * Empêcher un utilisateur de supprimer les fichiers d’un autre dans un dossier partagé | ||
| 49 | * ##/tmp##, ##/var/tmp##, ou tout répertoire multi-utilisateurs en écriture | ||
| 50 | |||
| 51 | Seuls le propriétaire du fichier, le propriétaire du dossier et root peuvent alors supprimer un fichier. | ||
| 52 | |||
| 53 | ---- | ||
| 54 | |||
| 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 | |||
| 64 | == Vérification == | ||
| 65 | |||
| 66 | Répertoires avec le Sticky Bit : | ||
| 67 | |||
| 68 | {{code language="bash"}} | ||
| 69 | find / -type d -perm -1000 2>/dev/null | ||
| 70 | {{/code}} | ||
| 71 | |||
| 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 | |||
| 78 | ---- | ||
| 79 | |||
| 80 | == Liens internes == | ||
| 81 | |||
| 82 | * [[Retour à la section Tutos Linux>>doc:Wiki Batcave John.TutosLinux.WebHome]] | ||
| 83 | * [[Durcissement Linux>>doc:Wiki Batcave John.TutosLinux.Durcissement.WebHome]] | ||
| 84 | * [[Retour à l’accueil>>doc:Wiki Batcave John.WebHome]] |