Warum funktionieren die Befehle chmod 1777
und chmod 3777
beide, um das Sticky-Bit in einem Verzeichnis zu setzen ?
permissions
chmod
Liao Zhuodi
quelle
quelle
passwd
Binärdatei von der Welt beschreibbar wäre, könnten Sie, wie Sie sagen, keinen Root-Zugriff erhalten, indem Sie sie ändern. Sie könnten sie jedoch durch eine andere Binärdatei ersetzen, die anschließend von allen ausgeführt wirdpasswd
.Antworten:
Jede Zahl (auch als Oktal bezeichnet, weil sie base8 ist) in dieser Gruppierung repräsentiert 3 Bits. Wenn Sie es in eine Binärdatei umwandeln, wird es viel einfacher.
1 = 0 0 1
3 = 0 1 1
5 = 1 0 1
7 = 1 1 1
Wenn Sie also 1777, 3777, 5777 oder 7777 hätten, würden Sie das Sticky - Bit setzen, da die dritte Spalte eine 1 wäre. Bei 3777, 5777 und 7777 setzen Sie jedoch zusätzlich andere Bits (SUID für die erste Spalte und SGID für die zweite Spalte).
Umgekehrt würde keine andere Zahl an dieser Stelle (bis zu maximal 7) das Sticky-Bit setzen, da die letzte Spalte nicht 1 oder "on" wäre.
2 = 0 1 0
4 = 1 0 0
6 = 1 1 0
quelle
clear
die Spalten "Eigentümergruppe" und "Andere".Die als Argument an chmod übergebenen Berechtigungen werden als Oktalwert angegeben. Jede Ziffer im Wert steht für drei Bits. Wenn drei Ziffern angegeben sind, legen Sie die Lese-, Schreib- und Ausführungsbits für den Eigentümer, die Gruppe und andere (alle anderen) der Datei fest. Wenn vier Ziffern angegeben werden, setzt die am weitesten links stehende Zahl die Bits setuid, setgid und sticky. Oktal 1 setzt das Sticky Bit. Oktal 2 setzt das Setgid-Bit. Oktal 2 + Oktal 1 ist Oktal 3, das sowohl das Setgid-Bit als auch das Sticky-Bit setzt.
quelle
binary or
Operator wenden . Sie weisen jedoch darauf hin, dass dies in diesem Fall zum gleichen Ergebnis führt und dass viel mehr Menschen mit Addition vertraut sind.