CGI DI/O Access
-
Hey Leutz
Folgendes: Auf meinem Montavista Linux Embedded Computer spreche ich über den Apache ein in C++ programmiertes CGI-Programm an. Es soll mir den Status der digitalen IO-Ports des Geräts ausgeben (High oder Low), wozu ich einen vom Hersteller geschriebenen Header und eine entsprechende Library verwende.
Das Problem ist, dass ich statt des erwünschten Status den Fehlercode -3 erhalte ("open or ioctl fault"). Starte ich das Programm aber 'mal von der Konsole aus, erhalte ich, wie über's CGI, die komplett generierte Webseite im Konsolenoutput plus die korrekten Werte der IOs (1 oder 0), wo über CGI alle, wie gesagt, auf -3 stehen.
Unter der Konsole bin ich als "root" angemeldet, den CGI Prozess startet der "daemon"-User. Das ist eigentlich der einzige Unterschied, den ich ausmachen konnte
Wo liegt da nur der Fehler? Hat "daemon" schlicht keinen Zugriff auf die entsprechende Gerätedatei? Wie kann ich das ändern?
Thx for ya help und greeetz
Kessi
-
Hey hey, nicht gleich alle auf einmal antworten
Naja, war eh ein blöder Thread. Hätte wohl eher in ein Linux-Forum gepasst, denn es war tatsächlich so, dass mein CGI-Prozess, welcher unter dem daemon-User gestartet wurde, keinen Zugriff auf die entsprechende Digital I/O Gerätedatei hatte ("/dev/lcm" oder so).
Nachdem diese Berechtigungen entsprechend modifiziert worden war, klappte alles tip top.
Bis zum nächsten mal also und greeetz
Kessi