Was ist das Wichtigste in UNIX-Dateisystemen? Wann wird es verwendet?

21

Was ist das Wichtigste in einem UNIX-Dateisystem?

Wann und wie würden Sie es als Administrator verwenden?

Aaron K
quelle

Antworten:

29

Die ursprüngliche Verwendung bestand darin, dem Betriebssystem einen Hinweis zu geben, dass die ausführbare Datei im Arbeitsspeicher zwischengespeichert werden sollte, damit sie schneller geladen wird. Diese Verwendung wurde größtenteils abgelehnt, da Betriebssysteme in Bezug auf solche Dinge derzeit ziemlich schlau sind. In der Tat denke ich, dass jetzt einige Betriebssysteme es als Hinweis verwenden, dass die ausführbare Datei nicht zwischengespeichert werden sollte.

Heutzutage wird am häufigsten ein Verzeichnis erstellt, in dem jeder eine Datei erstellen kann, aber nur der Eigentümer einer Datei in diesem Verzeichnis kann sie löschen. Wenn Sie ein Verzeichnis haben, in das jeder schreiben kann, kann traditionell jeder auch eine Datei daraus löschen. Durch das Setzen des Sticky-Bits in einem Verzeichnis kann nur der Eigentümer einer Datei die Datei aus einem Verzeichnis löschen, das von der Welt geschrieben werden kann.

Die klassische Verwendung davon ist das /tmpVerzeichnis:

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

Das tim Modus gibt es das klebrige Bit. Wenn dies nicht festgelegt ist, ist es für einen normalen Benutzer ziemlich einfach, Chaos zu verursachen, indem alles aus gelöscht wird /tmp. Da viele Daemons Sockets einsetzen /tmp, handelt es sich im Wesentlichen um ein lokales DOS.

jj33
quelle
"Hinweis, dass die ausführbare Datei nicht zwischengespeichert werden sollte" ????
Pacerier
7

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

Vincent De Baere
quelle
1
Normalerweise bin ich kein Fan von Antworten auf einzelne URLs. Aber diese Wikipedia-Seite ist außergewöhnlich vollständig. Es enthält eine schöne Tabelle mit Verhaltensweisen in * nix-Systemen.
Chris Wesseling