Externes Programm ausf=?ISO-8859-1?B?/A==?=hren mit Apache und PHP
Hallo Liste Ich habe eine Webserver SuSE 9.0 Apache 2.0.50 PHP 4.x. Ich habe ein Programm geschrieben mit dem ich über die Befehlszeiele einzelne Portpins des Paralell Ports ansteuern kann. Das Programm funktioniert auch einwandfrei. Will ich das Programm jetzt aber von PHP aus mit dem Befehl exec() ausführen passiert sichtbar gar nichts,das PHP-Script wird ausgeführt, und in der error.log des Apache steht ' ioperm: Operation not permitted'. Hat jemand ne Ahnung woran das liegt und wie ich es weg bekomm ? Mit freundlichen Grüßen Marc Donner
Hallo Marc, hallo Leute, Am Dienstag, 5. Oktober 2004 13:30 schrieb Marc Donner:
Ich habe eine Webserver SuSE 9.0 Apache 2.0.50 PHP 4.x.
Ich habe ein Programm geschrieben mit dem ich über die Befehlszeiele einzelne Portpins des Paralell Ports ansteuern kann. Das Programm funktioniert auch einwandfrei. Will ich das Programm jetzt aber von PHP aus mit dem Befehl exec() ausführen passiert sichtbar gar nichts,das PHP-Script wird ausgeführt, und in der error.log des Apache steht ' ioperm: Operation not permitted'. Hat jemand ne Ahnung woran das liegt und wie ich es weg bekomm ?
Schuss ins Blaue: Apache (sprich: User wwwrun) hat keine Berechtigung, auf den Parallelport zuzugreifen. Im Zweifelsfall im PHP-Script strace -o/tmp/strace.log deinprogramm aufrufen ;-) Gruß Christian Boltz -- http://www1.giga.de/gigahelp/index_gigahelp/0,3597,,00.html | Leider scheint Euer Browser den Aufbau von Frames zu unterstützen ... *Leider?* :) Tut Lynx doch gar nicht. :) [Andreas Kneib in suse-linux]
Hall Christian, hallo Liste,
Am Dienstag, 5. Oktober 2004 13:30 schrieb Marc Donner:
Ich habe eine Webserver SuSE 9.0 Apache 2.0.50 PHP 4.x.
Ich habe ein Programm geschrieben mit dem ich über die Befehlszeiele einzelne Portpins des Paralell Ports ansteuern kann. Das Programm funktioniert auch einwandfrei. Will ich das Programm jetzt aber von PHP aus mit dem Befehl exec() ausführen passiert sichtbar gar nichts,das PHP-Script wird ausgeführt, und in der error.log des Apache steht ' ioperm: Operation not permitted'. Hat jemand ne Ahnung woran das liegt und wie ich es weg bekomm ?
Schuss ins Blaue: Apache (sprich: User wwwrun) hat keine Berechtigung, auf den Parallelport zuzugreifen.
Im Zweifelsfall im PHP-Script strace -o/tmp/strace.log deinprogramm aufrufen ;-)
Die Datei strace.log wird nicht erzeugt, und der aufrauf gibt nichts zurück. Mit freundlichen Grüßen Marc Donner
Am 05.10.2004 22:09 Uhr schrieb "Christian Boltz" unter
Am Dienstag, 5. Oktober 2004 13:30 schrieb Marc Donner:
Ich habe eine Webserver SuSE 9.0 Apache 2.0.50 PHP 4.x.
Ich habe ein Programm geschrieben mit dem ich über die Befehlszeiele einzelne Portpins des Paralell Ports ansteuern kann. Das Programm funktioniert auch einwandfrei. Will ich das Programm jetzt aber von PHP aus mit dem Befehl exec() ausführen passiert sichtbar gar nichts,das PHP-Script wird ausgeführt, und in der error.log des Apache steht ' ioperm: Operation not permitted'. Hat jemand ne Ahnung woran das liegt und wie ich es weg bekomm ?
Schuss ins Blaue: Apache (sprich: User wwwrun) hat keine Berechtigung, auf den Parallelport zuzugreifen.
Das ist das Problem, nur wie bekomme ich hin, dass wwwrun auf den LPT zugreifen darf ? Mit freundlichen Grüßen Marc Donner
On Wed, Oct 06, 2004 at 08:45:14AM +0200, Marc Donner wrote:
Am 05.10.2004 22:09 Uhr schrieb "Christian Boltz" unter
: Hallo Christian, hallo Leute,
Am Dienstag, 5. Oktober 2004 13:30 schrieb Marc Donner:
Ich habe eine Webserver SuSE 9.0 Apache 2.0.50 PHP 4.x.
Ich habe ein Programm geschrieben mit dem ich über die Befehlszeiele einzelne Portpins des Paralell Ports ansteuern kann. Das Programm funktioniert auch einwandfrei. Will ich das Programm jetzt aber von PHP aus mit dem Befehl exec() ausführen passiert sichtbar gar nichts,das PHP-Script wird ausgeführt, und in der error.log des Apache steht ' ioperm: Operation not permitted'. Hat jemand ne Ahnung woran das liegt und wie ich es weg bekomm ?
Schuss ins Blaue: Apache (sprich: User wwwrun) hat keine Berechtigung, auf den Parallelport zuzugreifen.
Das ist das Problem, nur wie bekomme ich hin, dass wwwrun auf den LPT zugreifen darf ?
# l /dev/lp0 crw-rw---- 1 root lp 6, 0 Jan 21 2004 /dev/lp0 wwwrun in die Gruppe lp aufnehmen ('vigr' Befehl oder YaST Userverwaltung) Oder ganz brutal (zum Testen ;) mit chmod o+rw /dev/lp0 Peter
Am 06.10.2004 13:10 Uhr schrieb "poeml@cmdline.net" unter
On Wed, Oct 06, 2004 at 08:45:14AM +0200, Marc Donner wrote:
Am 05.10.2004 22:09 Uhr schrieb "Christian Boltz" unter
: Hallo Christian, hallo Leute,
Am Dienstag, 5. Oktober 2004 13:30 schrieb Marc Donner:
Ich habe eine Webserver SuSE 9.0 Apache 2.0.50 PHP 4.x.
Ich habe ein Programm geschrieben mit dem ich über die Befehlszeiele einzelne Portpins des Paralell Ports ansteuern kann. Das Programm funktioniert auch einwandfrei. Will ich das Programm jetzt aber von PHP aus mit dem Befehl exec() ausführen passiert sichtbar gar nichts,das PHP-Script wird ausgeführt, und in der error.log des Apache steht ' ioperm: Operation not permitted'. Hat jemand ne Ahnung woran das liegt und wie ich es weg bekomm ?
Schuss ins Blaue: Apache (sprich: User wwwrun) hat keine Berechtigung, auf den Parallelport zuzugreifen.
Das ist das Problem, nur wie bekomme ich hin, dass wwwrun auf den LPT zugreifen darf ?
# l /dev/lp0 crw-rw---- 1 root lp 6, 0 Jan 21 2004 /dev/lp0
wwwrun in die Gruppe lp aufnehmen ('vigr' Befehl oder YaST Userverwaltung)
Oder ganz brutal (zum Testen ;) mit chmod o+rw /dev/lp0
Geht trotzdem nicht ! ioperm: Operation not permitted Marc
On Wed, Oct 06, 2004 at 01:29:57PM +0200, Marc Donner wrote:
Oder ganz brutal (zum Testen ;) mit chmod o+rw /dev/lp0
Geht trotzdem nicht ! ioperm: Operation not permitted
Probier es doch mal ausserhalb des Apache: strace /usr/bin/php <script name> Und dann mal das gleiche nach su - -s /bin/bash wwwrun Peter
Hallo Marc, On Tue, Oct 05, 2004 at 01:30:03PM +0200, Marc Donner wrote:
Ich habe eine Webserver SuSE 9.0 Apache 2.0.50 PHP 4.x.
Ich habe ein Programm geschrieben mit dem ich über die Befehlszeiele einzelne Portpins des Paralell Ports ansteuern kann. Das Programm funktioniert auch einwandfrei. Will ich das Programm jetzt aber von PHP aus mit dem Befehl exec() ausführen passiert sichtbar gar nichts,das PHP-Script wird ausgeführt, und in der error.log des Apache steht ' ioperm: Operation not permitted'. Hat jemand ne Ahnung woran das liegt und wie ich es weg bekomm ?
man ioperm <snip> The use of ioperm requires root privileges. <snap> Folgendes ist unsicher und nicht ratsam, sollte aber funktionieren. chown root:root <deinprogramm> chmod 4755 <deinprogramm> alternativ sudo installieren und eine Zeile für wwwrun zum ausführen des Programmes ohne Passworteingabe in /etc/sudoers schreiben. Greetings Daniel -- Wie entsteht bei Ebbe und Flut der 2. Flutberg auf der Mond abgewandten Seite?
participants (4)
-
Christian Boltz
-
Daniel Lord
-
Marc Donner
-
poeml@cmdline.net