Wenn ich ein Programm installiere, wird mir empfohlen, dies zu tun chmod 4555
. Okay, ich weiß über Werte Bescheid, wenn ich nur drei Zahlen benutze. Beispielsweise
chmod 555 test-file
werde geben
-r-xr-xr-x
4 zum Schreiben, 2 zum Lesen und 1 zum Ausführen. Aber wenn ich das tue:
chmod 4555 test-file
es gibt mir
-r-sr-xr-x
Also x
geändert zu s
. Was soll das heißen
command-line
chmod
Mas Bagol
quelle
quelle
Antworten:
Es gibt tatsächlich 4 Attributmengen, mit denen Sie über arbeiten können
chmod
.Special
,User/Owner
,Group
, UndOthers
in dieser Reihenfolge, wenn sie mit der Vierzahl chmods arbeitet, mit der ersten spezieller Anzahl Bits ist, die festgelegt werden können.chmod 4555
entspricht dem Folgenden:Set UID
bit - Führt die Datei als Eigentümer aus, unabhängig davon, welcher Benutzer sie ausführtRead, Execute
Read, Execute
Read, Execute
Die
s
in Ihrer "lesbaren" Zeichenfolge für Berechtigungen angegebene Zeichenfolge gibt an, dass dasSetUID
(unten erläuterte) Bit gesetzt ist.Tatsächlich können wir das
chmod
Berechtigungsargument mit vier Ziffern wie folgt in bestimmte Deskriptoren aufteilen und anhand der Mathematik ermitteln, was a4
im ersten Abschnitt, a5
im nächsten Abschnitt usw. bedeuten würde.Denken Sie daran, das
####
istSpecial
User/Owner
Group
undOthers
in dieser Reihenfolge.Für
Special
Attribute (die erste Zahl in einem vierstelligenchmod
Argument):Set UID
- Führen Sie die Datei unabhängig vom Benutzer, der sie ausführt, als Eigentümer aus (wirds
in der Zeichenfolge für lesbare Berechtigungen für denUser
Abschnitt angezeigt) = +4 (--s
unterUser/Owner
)Set GID
- Führen Sie die Datei als Gruppe aus, unabhängig davon, von welchem Benutzer / welcher Gruppe sie ausgeführt wird (wirds
in der für Menschen lesbaren Berechtigungszeichenfolge für denGroup
Abschnitt angezeigt) = +2 (--s
unterGroup
)Sticky Bit
- NUR FÜR VERZEICHNISSE EFFEKTIV - Wenn diese Option aktiviert ist, kann nur der Eigentümerroot
des Verzeichnisses und das Verzeichnis sowie nur der Dateieigentümer oderroot
die darin enthaltenen Dateien gelöscht werden. (Wird wiet
in der für Menschen lesbaren Berechtigungszeichenfolge fürOthers
Abschnitt angezeigt) = +1 (--t
unterOthers
)Für
User/Owner
,Group
undOthers
Attribute (die letzten drei Ziffern in einem Vier-Zahlchmod
Argumente):Read
= +4 (r--
)Write
= +2 (-w-
)Execute
(für Dateien) oder 'Enter Into / List Items' (für Verzeichnisse) = +1 (--x
)quelle
Es heißt das
SETUID
Bit. Wenn es vonchmod 4555 test-file
(in Ihrem Fall) festgelegt wird,test-file
kann es von jedem Benutzer ausgeführt werden, als ob der Benutzer der Eigentümer der Datei ist.Wenn das
SETUID
Bit gesetzt ist, nimmt die effektive Benutzer-ID (EUID
) des Benutzers, der nicht0744
berechtigt ist , die Datei anderweitig auszuführen (z. B. mit normalen Berechtigungen ), die EUID des Dateieigentümers und kann die Datei ausführen.quelle