Wofür ist chmod 6050 gut?

8

Kürzlich bin ich auf Befehl gestoßen:

chmod -R 6050 /usr/lib/hadoop-yarn/bin/container-executor

Ich weiß nicht was das bedeutet? Ich kenne Dateiberechtigungen wie 777 usw. in einem Modus rwx für Eigentümergruppen anderer. Dies führt jedoch zu

---Sr-s---. 1 root hadoop 36024 Oct 17 20:40 container-executor

Kann mir bitte jemand etwas erklären?

Jaksky
quelle
Diese Berechtigungen sind seltsam. 6550 wäre sinnvoller - es ist kaum sinnvoll, Berechtigungen vom Eigentümer zu entfernen, sondern sie anderen Benutzern zu erteilen. Hier ist der Eigentümer root, was effektiv bedeutet, dass die Benutzerberechtigungen nicht verwendet werden. Es sieht nur seltsam aus.
Gilles 'SO - hör auf böse zu sein'

Antworten:

8

Es 050sollte klar sein, dass Lese- und Ausführungsbits für die Gruppe gesetzt werden. Die ersten 6setzen die Bits set-user-ID und set-group-ID (siehe man 2 chmod). Effektiv bedeutet dies, dass die Ausführung container-extractornur von rootoder Mitgliedern der Gruppe durchgeführt werden kann hadoopund dass die ausführbare Datei mit effektivem uidSein rootund effektivem gidSein ausgeführt wird hadoop.

Anthon
quelle
Es sollte beachtet werden, dass die rootAusführungsberechtigung nicht aufgrund der Berechtigungen des Dateieigentümers abgerufen wird, sondern weil es sich um einen Superuser handelt und mindestens eine der Berechtigungskomponenten (hier Gruppe) über die Ausführungsberechtigung verfügt. 6110 Berechtigungen wären meiner Meinung nach sinnvoller gewesen. Es ist gängige Praxis, den Lesezugriff auf setuid / setgid-Befehle zu verweigern (obwohl der Sicherheitsvorteil sehr gering ist)
Stéphane Chazelas
@StephaneChazelas Danke für die Kommentare. Warum hast du deine Antwort gelöscht? Ich bemerkte, dass es dort war, als ich meins rettete.
Anthon