Wie konfiguriere ich Apache
Janni
- cgi
Hallo !
Ich habe folgendes Problem:
Ich möchte mit einem CGI-Programm auf die serielle Schnittstelle (/dev/ttySx) zugreifen. Der Webserver erlaubt dies aber nicht.
Wie bringe ich nun den Webserver dazu den Zugriff auf die Schnittstelle freizugeben.
Ich freue mich über jede Idee.
Mit sonnigen Grüßen
Janni
Hi,
Der Webserver erlaubt dies aber nicht.
ich glaube nicht, dass der Server um Erlaubnis gefragt wird. Dieser startet ein externes Programm, wenn auch mit seinem Usernamen.
Überprüfe also, ob der User, unter dem der Server läuft, Zugriff auf die Schnittstelle hat. Eventuell fehlen auch einfach nur Umgebungsvariablen; so tief gehen meine Unix-Kenntnisse leider nicht. Diese könntest Du ggf. in der httpd.conf setzen.
Cheatah
tach,
ich glaube nicht, dass der Server um Erlaubnis gefragt wird. Dieser startet ein externes Programm, wenn auch mit seinem Usernamen.
Überprüfe also, ob der User, unter dem der Server läuft, Zugriff auf die Schnittstelle hat. Eventuell fehlen auch einfach nur Umgebungsvariablen
Richtig, dem Server selber wird da weder etwas erlaubt noch verboten. Zu einem Teil gilt das auch für Umgebungsvariablen, die du ihm ja auch übermitteln kannst/mußt, damit er sie an das zuständige Programm weiterreichen kann
Die Frage ist, was an der seriellen Schnittstelle geschehen soll. Wenn da bloß das Modem dranhängt und konfiguriert werden muß, ist das ein gänzlich anderes Thema ...
Grüße
Christoph S.
Hoi,
Der Webserver erlaubt dies aber nicht.
Überprüfe also, ob der User, unter dem der Server läuft, Zugriff auf die
Schnittstelle hat. Eventuell fehlen auch einfach nur Umgebungsvariablen; so
tief gehen meine Unix-Kenntnisse leider nicht. Diese könntest Du ggf. in der
httpd.conf setzen.
Soweit ich weiss, braucht man 'root'-Rechte, um auf Devices direkt zuzugreifen.
Du kannst ja mal ein 'chmod g+rw /dev/device' versuchen und den Web-User mit
in die entsprechende Gruppe nehmen. Allerdings wuerde ich mir drei mal ueberlegen,
den Web-User in die Gruppe 'wheel' (oder 'root' unter Linux, AFAIK) zu packen.
Alternativ kannst du natuerlich auch das SUID-Bit fuer das Script setzen. Der
ausfuehrende Interpreter muss allerdings dann auch das SUID-Bit besitzen. Bei
Perl waere das z. B. '/usr/bin/suidperl'. Du musst nur sicherstellen, dass das
Script auch wirklich weitestgehend sicher ist.
Gruesse aus dem schoenen LH,
c.j.k