it-swarm.com.de

Was bedeutet das Attribut 's' in Dateiberechtigungen?

Bitte vergleichen Sie die folgenden zwei Zeilen:

-rws---r-x 1 root root 21872 2009-10-13 21:06 prg1 

-rwx---r-x 1 root root 21872 2009-10-13 21:06 prg2 

Tut das Setuid-Bit auf prg1 zusammen mit den Lese- und Ausführungsbits für 'other' bedeutet, dass jeder Benutzer es mit Root-Rechten ausführen kann? Das prg2 hat auch für 'other' gelesen und ausgeführt, aber das setuid-Bit ist nicht gesetzt. Bedeutet das, dass es weiterhin von jedem Benutzer ausgeführt werden kann, jedoch ohne Root-Rechte?

59
anders

Genau im Gegenteil, Sie müssen weder Sudo verwenden noch zu root wechseln, die ausführbare Datei erledigt dies für Sie.

20
orion

Dies ist das "setuid" -Bit, das das Betriebssystem anweist, dieses Programm mit der Benutzer-ID seines Besitzers auszuführen. Dies wird normalerweise bei Dateien verwendet, deren Eigentümer root ist, damit normale Benutzer sie als root ohne externe Tools ausführen können (z. B. Sudo).

Sie können das suid-Bit mit chmod setzen, z. B. chmod 4755, Das eine Datei mit den normalen Berechtigungen 755 (rwxr-xr-x) Gibt, und das suid-Bit mit rwsr-xr-x

Sie können das setuid-Bit löschen, indem Sie einen normalen chmod-Befehl mit einer vorangestellten 0 ausgeben. Um beispielsweise die Berechtigungen auf rwxr-xr-x Zurückzusetzen, verwenden Sie chmod 0755.

69
casey