Qu'est-ce que le bit collant dans les systèmes de fichiers UNIX? Quand est-il utilisé?

21

Qu'est-ce que le bit collant dans un système de fichiers UNIX?

En tant qu'administrateur, quand et comment l'utiliseriez-vous?

Aaron K
la source

Réponses:

29

Son utilisation initiale était de fournir une indication au système d'exploitation que l'exécutable devrait être mis en cache en mémoire afin qu'il se charge plus rapidement. Cette utilisation a été principalement déconseillée car les systèmes d'exploitation sont assez intelligents à propos de ce genre de chose maintenant. En fait, je pense que maintenant certains systèmes d'exploitation l'utilisent comme un indice que l'exécutable ne devrait pas être mis en cache.

Aujourd'hui, l'utilisation la plus courante consiste à créer un répertoire dans lequel n'importe qui peut créer un fichier, mais seul le propriétaire d'un fichier dans ce répertoire peut le supprimer. Traditionnellement, si vous avez un répertoire dans lequel n'importe qui peut écrire, n'importe qui peut également en supprimer un fichier. en définissant le bit collant sur un répertoire, seul le propriétaire d'un fichier peut supprimer le fichier d'un répertoire accessible en écriture.

L'utilisation classique de ceci est le /tmprépertoire:

$ ls -ld /tmp
drwxrwxrwt   29 root     root         5120 May 20 09:15 /tmp/

Dans tle mode, il y a le bit collant. Si cela n'était pas défini, il serait assez facile pour un utilisateur régulier de causer des ravages en supprimant tout /tmp. Comme beaucoup de démons mettent des sockets /tmpdedans, ce serait essentiellement un DOS local.

jj33
la source
"indice que l'exécutable ne doit pas être mis en cache" ????
Pacerier
7

http://en.wikipedia.org/wiki/Sticky_bit

Vincent De Baere
la source
1
Normalement, je ne suis pas fan des réponses à URL unique. Mais cette page wikipedia est exceptionnellement complète; il contient une belle table de comportements sur les systèmes * nix.
Chris Wesseling