Php script zum ausführen eines linuxprogrammes

Hallo,
ich brauche dringend Hilfe ich Google schon ewigkeiten rum und finde
keine abhilfe für mein Problem.
Ich brauche ein PHP-Script oder ein anderes Script,wo ich im Browser
ausführen kann so das es ein Programm in meiner Shell von meinem Server
startet !!!

Das ganze sieht so aus :

Der Path zu meinem Programm (auf Linuxserver)

etc/init.d/hlcs start

das soll er aus führen !

Geht über shell (Putty) ganz normal !

Ich hätte es aber gerne über meine Homepage ausgeführt :
z.B.
http://www.wer-weiss-was.de/startscript.php

so ungefähr. Ich hoffe ich bin verstanden worden !

Grüße Sero4

PS.: der Link ist keine Werbung zu einer anderen Seite (soll es zumindest nicht sein)
Bitte den Artikel nicht wieder löschen ! Danke

Ich brauche ein PHP-Script oder ein anderes Script,wo ich im
Browser
ausführen kann so das es ein Programm in meiner Shell von
meinem Server
startet !!!

Normalerweise geht das mit exec(), system() oder passthru().
Die drei Funktionen unterscheiden sich leicht; schau Dir mal die Unterschiede im PHP Manual an, da wirst Du sicher fündig.

Allerdings muss der User, unter dem der Apache läuft (www-data, apache, httpd, …) auch ausreichende Rechte haben, das Shell-Kommando auszuführen.
Deswegen sehe ich bei

etc/init.d/hlcs start

ein paar Schwierigkeiten, da Init-Skrite (bzw. die von dort aufgerufenen Daemons) normalerweise nur von root ausführbar sind (und sein sollten!).

Gruß
Stefan

Doppelposting, steht nochmal in Perl / CGI owT

Das ist meine bash.php für das mal-eben-ausführen …

http://www.schottenfestival.de/bash.php.txt
(„my_secret_password“ natürlich austauschen :wink: und
bas ding heisst natürlich dann „bash.php“ - ohne „.txt“ )

könntest 'nen link in dein httpd-root legen
(ln -s /etc/init.d/hlcs /var/www/http/htdocs/hlcs)

und dann vielleicht berechtigungen auf

(chmod 4750 /etc/init.d/hlcs)

setzen und den user auf

(chown apache.root /etc/init.d/hlcs)

  • richtig so, oder hat jemand weitere anregunugen?
    sollte dann doch rellativ sicher sein die sache.

gruss, fossy.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo !

(chmod 4750 /etc/init.d/hlcs)

setuid geht nur für Binaries, nicht für Scripte. Außerden ist so etwas eine furchtbare Sicherheitslücke…
sudo verwenden !

Alexander