Was ist Setuid?

Setuid, was für Set User ID on Execution steht, ist eine spezielle Art der Dateiberechtigung in Unix und Unix-ähnlichen Betriebssystemen wie Linux und BSD. Es ist ein Sicherheitstool, das es Benutzern ermöglicht, bestimmte Programme mit erweiterten Berechtigungen auszuführen.

Wenn die setuid-Berechtigung einer ausführbaren Datei gesetzt ist, können Benutzer dieses Programm mit einer Zugriffsebene ausführen, die dem Benutzer entspricht, dem die Datei gehört. Wenn ein Benutzer beispielsweise sein Passwort ändern möchte, führt er den Befehl passwd aus. Das passwd-Programm gehört dem Root-Konto und ist als setuid gekennzeichnet, sodass dem Benutzer für diesen begrenzten Zweck vorübergehend Root-Zugriff gewährt wird.

Anzeigen der setuid-Berechtigung einer Datei

Beim Anzeigen der Berechtigungen einer Datei mit dem Befehl ls -l wird die setuid-Berechtigung als „s“ an der Bitposition „user execute“ angezeigt. Zum Beispiel:

ls -l /usr/bin/passwd
-rwsr-xr-x 1 root 54192 Nov 20 17:03 /usr/bin/passwd

Setzen der setuid-Berechtigung einer Datei

Um die setuid-Berechtigung für eine ausführbare Datei festzulegen, verwenden Sie die Berechtigungskennung u+s mit dem Befehl chmod:

chmod u+s myfile

Nicht ausführbare Dateien können als setuid markiert werden, aber das hat keine Wirkung; das Markieren mit setuid macht sie nicht automatisch ausführbar. In diesem Fall wird das Genehmigungsbit als Großbuchstabe „S“ angezeigt. Zum Beispiel:

ls -l myfile
-rw-r--r-- 1 user 0 Mar 6 10:45 myfile
chmod u+s myfile
ls -l myfile
-rwSr--r-- 1 user 0 Mar 6 10:45 myfile

Wenn Sie die Datei dann jedoch mit der Berechtigung u+x auf vom Benutzer ausführbar setzen, tritt die setuid-Berechtigung in Kraft. Es wird dann in der Auflistung mit einem kleinen “s” dargestellt:

chmod u+x myfile
ls -l myfile
-rwsr--r-- 1 user 0 Mar 6 10:45 myfile

Setgid

Setgid ist das Äquivalent von setuid für Gruppen. Wenn das Bit gesetzt ist, erteilt es der Gruppe, der die Datei gehört, die Erlaubnis. In einer Dateiliste wird das Zeichen „s“ (Kleinbuchstabe s) an der Position „Gruppenausführung“ der Dateiberechtigungszeichenfolge aufgeführt. Wenn das Setgid-Bit gesetzt ist, die Gruppe aber keine Ausführungsberechtigungen hat, wird stattdessen ein großes „S“ angezeigt. Dieser Großbuchstabe zeigt an, dass das Bit gesetzt ist, hat aber keine Wirkung.

In der hier gezeigten Ausgabe von ls -l zeigt das kleine „s“ an, dass das setgid-Bit für die aufgelistete Datei gesetzt ist. Jeder Benutzer, der auf diese Datei zugreift, tut dies so, als wäre er Mitglied der Eigentümergruppe.

chmod g+s myfile2
ls -l myfile2
-rw-r-sr-- 1 user mygroup 0 Mar 6 10:46 myfile2

Wenn das setgid-Bit für ein Verzeichnis gesetzt ist, gehören alle neu erstellten Dateien der Eigentümergruppe des Verzeichnisses und nicht der Gruppe des Benutzers. Bei Dateien, die von einem anderen Speicherort verschoben oder kopiert wurden, wird die Gruppen-ID nicht geändert.

Computerakronyme, ausführbare Datei, Linux, Berechtigungen, Sicherheitsbegriffe

Neueste Artikel
Vielleicht möchten Sie lesen

LEAVE A REPLY

Please enter your comment!
Please enter your name here