1 Anatol Schirmer schrieb:
Hallo,
hello,
ich hoffe, dass das Thema hier halbwegs richtig ist.
Mittels Webinterface möchte ich ein Programm starten/stoppen. Wie geht das am sinnvollsten?
Zusätzlich wäre es ganz geistreich, wenn das Prog unter einem speziellen User ausgeführt wird und nicht unbedingt unter apache|nobody|wwwrun , etc ...
Meine Ansätze sind:
Mittels PHP über system() oder Backticks Mittels cgi / perl
Das ganze in Kombination mit "startproc"
`/sbin/startproc -u myuser /usr/local/bin/myprog -c /path/to/conf.conf > /dev/null`
Wenn ich das Kommando in der Shell eingebe läuft auch alles ganz wunderbar, aber vom Web aus geht es nicht :-( Ich habe auch ein eigenes Script geschrieben, das diese Zeile enthält und dieses dann versucht vom Web aus aufzurufen, aber nix geht.
Die Ordner & Files sind ausführbar und lesbar für alle, daran dürfte es eigentlich nicht scheitern.
Ein dussliges `cat dat1 dat2 > dat3` geht übrigens!
Gibt es einen Schalter, der das Ausführen von Programmen mittels Apache verbietet / einschränkt?
1. das problem mit apache soll als user ausgeführt werden, der user muss existieren! du musst nur in der httpd.conf einschrieben wo steht User nobody User apache Group apache und neu starten. 2. diese dineste bzw. scripte muss der apache user ebenfalls ausführen können. alternative gibt es mittels sudo man sudo ;-) und anschliessend über php mittels system() aufrufen. gruss,elmar