Ich habe ein Shell-Skript, das ich UID Bit setzen möchte. Ich setze den Besitzer auf root und setze uid Bit. Ich habe 'whoami'in der Shell hinzugefügt, um zu überprüfen, ob es richtig funktioniert aber wenn ich das Skript ausführte, gab whoami den Benutzernamen zurück, nicht root. Dann ist das falsch, oder? Ich hätte root bekommen sollen, wenn uid richtig eingestellt wurde, oder?setuid bit Ergebnis
2
A
Antwort
3
Sie können das Bit setuid nicht mit Shell-Skripten verwenden. Die Shell analysiert die Zeile shebang, um das auszuführende Programm zu bestimmen, und startet dann das Programm, ohne sich um das setuid-Bit zu kümmern, das im Skript festgelegt wurde.
Siehe https://serverfault.com/questions/8449/cannot-set-uid-on-shell-scripts.
4
Nein, das Setuid-Bit ändert den angemeldeten Benutzer NICHT, es ändert den effektiven Benutzer (euid), mit dem das Skript ausgeführt wird.
Darüber hinaus funktionieren Setuid-Bits nicht in Skripts.
Wenn ein Skript von weniger privilegierten Benutzern als root ausgeführt werden soll, empfehle ich, in "su" oder "sudo" zu schauen.
WARUM muss ich diese Antwort zu knwo sehen, dass * setuid Bits nicht auf Skripten arbeiten * Ich habe 1 Stunde verschwendet! Danke @Martin –