Bei der Ausführung des Befehls ls -ld /tmp
würde die Ausgabe folgendermaßen aussehen:
drwxrwxrwt 30 root root 20480 Mar 11 14:17 /tmp
Ich habe also zwei Hauptfragen:
- Was ist der Brief
t
nach den Berechtigungen? - Soweit ich weiß
/tmp
, werden temporäre Dateien erstellt, die sich auf verschiedene Benutzer im System beziehen. Wie kommt es, dass diese die Berechtigung habenrwxrwxrwx
(777)?
Das scheint falsch für mich. Bitte ich brauche deine Hilfe, um zu verstehen, was hier vor sich geht.
permissions
tmp
Gemeinschaft
quelle
quelle
Antworten:
Was ist das Klebrige?
Ein Sticky-Bit ist ein Berechtigungsbit für ein Verzeichnis, das nur dem Eigentümer der Datei in diesem Verzeichnis, dem Eigentümer des Verzeichnisses oder dem Root-Benutzer das Löschen oder Umbenennen der Datei ermöglicht. Kein anderer Benutzer verfügt über die erforderlichen Berechtigungen zum Löschen der von einem anderen Benutzer erstellten Datei.
Dies ist eine Sicherheitsmaßnahme, um das Löschen kritischer Ordner und ihrer Inhalte (Unterverzeichnisse und Dateien) zu vermeiden, obwohl andere Benutzer über vollständige Berechtigungen verfügen.
Warum hat
/tmp
dast
klebrige Stückchen?Das
/tmp
Verzeichnis kann von verschiedenen Linux-Benutzern verwendet werden, um temporäre Dateien zu erstellen. Was ist nun, wenn ein Benutzer eine Datei löscht / umbenennt, die von einem anderen Benutzer in diesem Verzeichnis erstellt wurde?Nun, um diese Art von Problemen zu vermeiden, wird das Konzept des klebrigen Bits verwendet. Also für diese ein
777
gegeben , aber die Sticky - Bit zu bewahren ist keine schlechte Idee.Wie kann ich das Sticky-Bit für ein Verzeichnis einrichten?
Ich werde ein Sticky-Bit für ein Verzeichnis setzen, das
test
auf meinem Desktop aufgerufen wird .Symbolischer Weg (
t
repräsentiert das Sticky Bit):oder
Numerisch / Oktal (1, Sticky-Bit als Wert 1 an der ersten Stelle)
Lassen Sie uns nun die Ergebnisse testen:
So löschen / entfernen Sie ein klebriges Bit
Lassen Sie uns nun die Ergebnisse testen:
Quelle: „Was ist ein Sticky Bit und wie wird es unter Linux eingestellt?“ Bei The Linux Juggernaut
quelle
t
verbirgt,x
was anzeigt, ob alle Benutzer die Datei / das Verzeichnis ausführen können, benötigen wir eine andere Möglichkeit, dies anzuzeigen . Das Übliche ist, dass jeder es ausführen kann. In diesem Fall erhalten Sie ein normalest
(anstatt einesx
). Wenn nicht, erhalten Sie einen GroßbuchstabenT
(anstelle von a-
). Quelle: Wikipedia.Gelegentlich benötigen Sie ein Linux-Verzeichnis, das von allen Benutzern des Linux-Systems zum Erstellen von Dateien verwendet werden kann. Benutzer können in diesem Verzeichnis nach Belieben Dateien erstellen, löschen oder umbenennen.
Zum Beispiel:
Ich habe auch zwei Dateien mit unterschiedlichen Benutzern in diesem Ordner mit der Berechtigung 777 erstellt.
Schalten Sie jetzt das klebrige Stück ein
Was passiert nun, wenn ein Benutzer (abhi) den 2. Benutzer (anshu) umbenennen möchte?
Der Ursprung des Sticky Bits
Unter Linux wird das Sticky-Bit nur für Verzeichnisse verwendet, die oben beschrieben wurden. In der Vergangenheit wurde es für etwas völlig anderes in regulären Dateien verwendet, und daher kommt der Name.
Moderne Systeme wie Linux verwalten ihren Cache mit ausführbaren Dateien und anderen Dateien automatisch und benötigen dafür kein Sticky Bit.
Quelle: "Linux Sticky Bit-Konzept mit Beispielen erklärt" bei The Geek Stuff
quelle
Ein Stickybit ist eine Umgehungsmethode, mit der freigegebene Verzeichnisse nicht versehentlich gelöscht werden. Wenn ein Verzeichnis ein Stickybit hat, kann es nur der Eigentümer oder der Stamm löschen, auch wenn jeder Benutzer die vollen anderen Berechtigungen haben kann.
/tmp
ist das gemeinsam genutzte Verzeichnis zwischen Prozessen und Benutzern und enthält daher das Stickybit, um sicherzustellen, dass kein Benutzer das Verzeichnis löschen kann, auch wenn dies die Berechtigung ist777
. Es muss so sein, dass Benutzer und Prozesse das Verzeichnis verwenden können ohne Konflikt in Berechtigungen.quelle