[quote=pug,08.03.2006, 16:14]Ja, aber das Problem ist doch, wenn ich dieses Skript Web-Seitig aus aufrufe, dann mit einer anderen User-ID als der von /root (also bei Debian wäre das z.B. www-data). Es nützt ja nichts, wenn das Skript alle möglichen Rechte hat, es muß die richtige uid haben!
Gruss Christian[/quote]Hm, setuid-Programme haben normalerweise nur die euid auf 0 gesetzt. Die reale UID ist immer noch die des aufrufenden Prozesses. (Ich weiss nicht, ob das bei suidperl ebenso ist.) Hilft Dir das?
Ich wuerde das vielleicht so machen, dass das eigentliche Programm, wie von irgendwem oben vorgeschlagen wurde, kein CGI-Skript ist sondern nur von einem solchen aufgerufen wird. Das Programm bekommt dann den Benutzer root, die Gruppe www-data und den Mode 4454 (set-uid und nur group-executable)
Uebrigens hat auch Apache ein Setuid-Modul. Es ist aber sehr restriktiv und fordert z. B., dass die Skripte in einem Unterverzeichnis des Home-Verzeichnisses liegen (in diesem Fall also /root)\n\n
<!--EDIT|betterworld|1141837846-->