Hallo, ich hab folgendes Problem. Im Moment habe ich mit Apache einen Virtuellen Server eingerichtet, der dazu dienen soll den Rechner übers Netz herunterzufahren. Soweit fkt. auch alles. Allerdings bekomme ich einen Internal Server Error wenn ich versuche mittels Perl-system() oder exec() befehl in einem CGI zB "shutdown" auszuführen. Das liegt wohl daran das der Benutzer wwwrun (den Apache benutzt) keine Berechtigung besitzt. Nun möchte ich gern das suExec-Feature benutzen um das CGI (besser den virtuellen Server) als einen anderen Benutzer laufen zu lassen. Dazu sollte es reichen in der <virtualserver> anweisung in httpd.conf einen "User" und "Group" zu vergeben. Wenn ich dies aber tue meldet httpd beim Starten immer einen syntaxerror in httpd.conf! Was kann ich da tuen? Tschü
* Danilo Reinhardt -- Sunday 28 January 2001 10:58:
ich hab folgendes Problem. Im Moment habe ich mit Apache einen Virtuellen Server eingerichtet, der dazu dienen soll den Rechner übers Netz herunterzufahren. Soweit fkt. auch alles. Allerdings bekomme ich einen Internal Server Error wenn ich versuche mittels Perl-system() oder exec() befehl in einem CGI zB "shutdown" auszuführen. Das liegt wohl daran das der Benutzer wwwrun (den Apache benutzt) keine Berechtigung besitzt.
Dann sollte es wohl genuegen, das CGI in htdocs/cgi-bin unterzubringen, einen sudo-Eintrag fuer wwwrun zu machen und im Script "sudo /sbin/halt" aufzurufen. # visudo ... wwwrun ALL = (root) NOPASSWD:/sbin/halt (Statt "ALL" genuegt auch der Rechnername.)
Nun möchte ich gern das suExec-Feature benutzen um das CGI (besser den virtuellen Server) als einen anderen Benutzer laufen zu lassen. Dazu sollte es reichen in der <virtualserver> anweisung in httpd.conf einen "User" und "Group" zu vergeben.
Fuer suExec genuegt ein "ExecCGI"-Eintrag in der entsprechenden Sektion. Das jeweilige Script wird automatisch mit den Rechten des Besitzers aufgerufen. Brauchst also nur den Besitzer richtig setzen. (chown). m.
participants (2)
-
Danilo Reinhardt
-
Melchior FRANZ