Frage zu SUID
Hallo,
ich habe eine Frage zu SUID. System: Ubunutu 16.04 LTS 64-Bit. Es gibt einen User a und einen User root.
Es geht um ein Skript namens test.sh(Inhalt: whoami) mit folgenden Rechten:
-rwsrwxrwx 1 root root 7 Jul 9 08:06 test.sh
Das SUID-Bit ist gesetzt. Wenn ich als a dieses Skript aufrufe, dann bekomme ich a als Antwort. Warum? Es müsste doch root sein, oder nicht?
ich habe eine Frage zu SUID. System: Ubunutu 16.04 LTS 64-Bit. Es gibt einen User a und einen User root.
Es geht um ein Skript namens test.sh(Inhalt: whoami) mit folgenden Rechten:
-rwsrwxrwx 1 root root 7 Jul 9 08:06 test.sh
Das SUID-Bit ist gesetzt. Wenn ich als a dieses Skript aufrufe, dann bekomme ich a als Antwort. Warum? Es müsste doch root sein, oder nicht?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 309390
Url: https://administrator.de/forum/frage-zu-suid-309390.html
Ausgedruckt am: 27.12.2024 um 02:12 Uhr
1 Kommentar
Hi qwertz1,
das SUID-Bit wird unter Linux aus Sicherheitsgründen bei Shell-Skripts ignoriert.
Weitere Infos: Link
Falls du es aber unbedingt umgehen willst oder musst:
Ein C Programm welches dein script startet anlegen und dieses Ausführen:
Bsp:
Oder lass es von sudo abwickeln.
In /etc/sudoers mit visudo einfügen:
Mach dir aber bitte bei allen varianten, grundlegende Gedanken über Sicherheitsrelevante fragen.
Grüße
das SUID-Bit wird unter Linux aus Sicherheitsgründen bei Shell-Skripts ignoriert.
Weitere Infos: Link
Falls du es aber unbedingt umgehen willst oder musst:
Ein C Programm welches dein script startet anlegen und dieses Ausführen:
Bsp:
int main(void) {
setuid(0);
clearenv();
system("/pfad/zu/deinem/script/test.sh");
}
Oder lass es von sudo abwickeln.
In /etc/sudoers mit visudo einfügen:
ALL ALL = (root) NOPASSWD: /pfad/zu/deinem/script/test.sh
Mach dir aber bitte bei allen varianten, grundlegende Gedanken über Sicherheitsrelevante fragen.
Grüße