Lösung 1:
Seine ursprüngliche Verwendung bestand darin, dem Betriebssystem einen Hinweis zu geben, dass die ausführbare Datei im Speicher zwischengespeichert werden sollte, damit sie schneller geladen wird. Diese Verwendung wurde größtenteils abgelehnt, da Betriebssysteme jetzt ziemlich schlau in dieser Art von Dingen sind. Tatsächlich denke ich, dass einige Betriebssysteme es jetzt als Hinweis verwenden, dass die ausführbare Datei nicht sollte zwischengespeichert werden.
Die heute am häufigsten verwendete Verwendung besteht darin, ein Verzeichnis zu erstellen, in dem jeder eine Datei erstellen kann, aber nur der Besitzer einer Datei in diesem Verzeichnis kann sie löschen. Wenn Sie ein Verzeichnis haben, in das jeder schreiben kann, kann normalerweise jeder auch eine Datei daraus löschen. Das Setzen des Sticky-Bits auf ein Verzeichnis macht es so, dass nur der Eigentümer einer Datei die Datei aus einem Verzeichnis löschen kann, in dem alle schreiben können.
Die klassische Verwendung dafür ist der /tmp
Verzeichnis:
$ ls -ld /tmp
drwxrwxrwt 29 root root 5120 May 20 09:15 /tmp/
Die t
im mode gibt es das sticky bit. Wenn das nicht gesetzt wäre, wäre es für einen normalen Benutzer ziemlich einfach, Chaos zu verursachen, indem er alles aus /tmp
löscht . Da viele Daemons Sockets in /tmp
setzen , wäre es im Wesentlichen ein lokales DOS.
Lösung 2:
http://en.wikipedia.org/wiki/Sticky_bit