SUID-Bit in Verzeichnissen

5173
TheMAn

In Linux gibt es SUID, SGID und Sticky Bits für Verzeichnisberechtigungen.

Ich bin absolut klar über das klebrige und SGID-Bit in Dateien oder Ordnern.

Was passiert aber, wenn ich ein SUID-Bit in einem Verzeichnis anwende?

Wenn ich beispielsweise ein SGID-Bit auf eine Datei anwende, verwendet ein Prozess, der mit dieser Datei gestartet wird, die effektive Gruppen-ID der Dateigruppe und nicht die primäre Gruppe des Benutzers, der die Datei aufruft. Das Gleiche gilt, wenn Sie das SUID-Bit auf eine Datei anwenden: Es wird mit dem Eigentümer als effektivem Benutzer ausgeführt.

Dies ändert sich, sobald Sie beispielsweise das SGID-Bit in einem Verzeichnis anwenden chmod -R 2770 /var/testdir/. Jetzt /var/testdir/erben alle neuen Dateien und Ordner, die darin erstellt werden, dieselbe Gruppe, /var/testdir/selbst wenn die primäre Gruppe des Erstellers anders ist. Auch Unterverzeichnisse erben das SGID-Bit.

Was passiert aber, wenn Sie das SUID-Bit in einem Verzeichnis anwenden? Ich habe keine Informationen für diesen Fall gefunden.

Was passiert auch, wenn Sie SGID und SGID-Bit in demselben Ordner anwenden?

7

2 Antworten auf die Frage

6
Steven

GNU Coreutils: Verzeichnis Setuid und Setgid

27.5 Verzeichnisse und die Set-User-ID- und Set-Group-ID-Bits

Wenn auf einem System das Set-Group-ID-Bit eines Verzeichnisses festgelegt ist, erben neu erstellte Subdateien dieselbe Gruppe wie das Verzeichnis, und neu erstellte Unterverzeichnisse erben das Set-Group-ID-Bit des übergeordneten Verzeichnisses. Auf einigen Systemen hat das Set-User-ID-Bit eines Verzeichnisses eine ähnliche Auswirkung auf den Besitz neuer Subdateien und die Set-User-ID-Bits neuer Unterverzeichnisse. Dank dieser Mechanismen können Benutzer Dateien einfacher freigeben, indem sie die Verwendung von chmod oder chown zum Freigeben neuer Dateien verringern.

Sehr schön, das war es, wonach ich gesucht habe. In diesem Fall, denke ich, hat Ubuntu das Set-User-ID-Bit nicht mit dem erwähnten Verhalten für Verzeichnisse implementiert. Aber ich werde ein wenig testen :) Danke TheMAn vor 8 Jahren 0
1
Hasib Wasiu

SUID oder setUID (Benutzer-ID für Ausführung festlegen), hier ist das Berechtigungsbit Nr. 4

Legen Sie einfach die Benutzerberechtigung für einen bestimmten ausführbaren Befehl fest, z. B. "useradd", "userdel" oder die Berechtigung zum Kopieren einer Datei im Stammverzeichnis. Sie können eine spezielle Berechtigung für normale Benutzer festlegen.

Ein normaler Benutzer in Ihrem System ist beispielsweise "Kiosk". Hier möchte der Benutzer "root" nur diesem Benutzer die Berechtigung erteilen, einen anderen Benutzer für dieses System zu erstellen. Dieser neue Benutzer kann jedoch nicht als Superuser fungieren. "Root" Benutzer sagt hier, dass "Kiosk" nur Sie einen anderen Benutzer in diesem System hinzufügen können. Das bedeutet, dass nur Root-Benutzer die Berechtigung für einen anderen Benutzer festlegen können, diesen Befehl als „Root-Benutzer“ mit SUID auszuführen. Denken Sie daran, dass es für ausführbare Dateien implementiert wird.

Um die SUID-Syntax festzulegen, ist

[root @ localhost ~] #chmod 4555 ausführbare_datei

oder

[root @ localhost ~] #chmod u + s ausführbare Datei

Weitere Informationen zu SUID, SGID und Sticky Bit finden Sie unter dem Link

http://topicsfeedback.com/special-permission-on-linuxunix-suidsgid-and-stikybit/

oder

Sie können Android-Apps im Google Play Store ausprobieren, der als "Advance Linux" bezeichnet wird. Das sind sehr gute Apps für Linux-Benutzer

https://play.google.com/store/apps/details?id=com.topicsfeedback.advancelinux

Dies beantwortet die Frage überhaupt nicht. Stefan Paul Noack vor 6 Jahren 0