Guten Tag Bernd Obermayr, Am Donnerstag, 4. Juli 2002 um 07:08 schrieb Bernd Obermayr:
On Wed, 3 Jul 2002 23:22:27 +0200 Stefan Schilling
wrote:
Guten Tag Bernd Obermayr,
Am Mittwoch, 3. Juli 2002 um 17:40 schrieb Bernd Obermayr:
On Wed, 26 Jun 2002 20:31:56 +0200 Stefan Schilling
wrote: [...]
[Wed Jun 26 20:25:04 2002] [warn] [client 192.168.100.2] No URL defined for LDAP authentication
Hi, sorry, ich klink mich jetzt mal ein, obwohl ich den Thread nur teilweise verfolgt habe. Die obige Meldung kenne ich noch von SuSE 7.0 bzw. 7.1, damals wars glaube ich ein fehlerhaftes mod_auth das bei der Distri mit dabei war. Wenn ich mich recht entsinne sollte der Fehler weg sein, wenn apache ohne das Modul gestartet wird.
Das Einzige mod_auth ist (überraschender Weise noch drin) AddModule auth_ldap.c bzw. LoadModule auth_ldap_module /usr/lib/apache/auth_ldap.so
soll ich das mal rausschmeissen?
Antowrt?
[Wed Jun 26 20:25:04 2002] [error] [client 192.168.100.2] Premature end of script headers: /home/vbox/public_html/cgi-bin/vbox.pl
Diese Meldung kriege ich immer wenn ich ein kaputtes Script ueber CGI starten will. Dabei sagt die Zeile (aus irgendeiner Mail vorher: 45-55 oder so) nur, stimmt. --- [Fri Jun 28 17:28:05 2002] [error] syntax error at /home/vbox/public_html/cgi-bin/vbox.pl line 50, near "vbox
ein "perl -c .../vbox.pl" sagt jedoch, dass das Skript ok ist .
Ok, das deutet schon sehr auf fehlende Pfade/Environment hin. Wenn Du z.B als User Stefan "perl -c .../vbox.pl" ausfuehrst hast Du das ja alles schoen in Dein Environment geladen (via login -->> /etc/profile /etc/profile/local bash --> ~/.bashrc ~/.profile) Aber der User vbox oder wwwrun hat keine Loginshell und daher nicht von alledem geladen.
der Nutzer vbox existiert als ganz normaler Bentzer (damit konnte man sich mal via Putty in vbox einloggen; alles mit einem Wort...)
dass der Fehler _vor_ der Zeile im Script ist, kann also auch die erste Zeile sein ;) Meistens ist es aber ein vergessenes/falsches Quoting. Bei CGI kommt halt auch noch dazu, dass der User (wwwrun?) User wwwrun existiert, jedoch soll das Skript unter Nutzer "vbox" laufen. Falls das nicht geht, bitte sagen, wie ich´s änder; jedoch muessen Name vbox und sein Pass bestehen bzw. funktionstüchtig bleiben (meine Eltern sollen ja auch damit umgehen können...)
Wie stellst Du das an, dass es mit dem User vbox laeuft? Alles, was Du ueber Deinen Browser aufrufst geht ueber apache und damit als User wwwrun.
Ich nenne als Loginnamen den Namen "vbox", wenn die Abfrage im Browser kommt. Ich dachte, dass wär´s. Wenn das nicht so ist; folgendes: ich muss in der Lage sein, mich als Nutzer "vbox" am Browser anzumelden. Mit welchem Namen das im Hintergrund läuft, ist mir eigentlich ziemlich schnurz. Wichtig ist nur; beim Aufbau des CGI bracht er einen Namen, um herauszufinden, auf welche Daten er vom Vbox zugreifen soll. Das scheint nicht zu funktionieren bzw. baut er mir zwar das Bild auf, jedoch ohne die Daten der Anrufe bzw. ohne überhaupt irgendwelche Anrufe.
sehr wahrscheinlich kein Environment hat, also kein Pfad etc. Von der Kommandozeile funktionieren diese Scripte wunderbar als CGI eben nicht. Oft hilft dann schon ein PATH=/bin/:/usr/bin:/usr/local/bin am Anfang des Scriptes. Mach mal ein su wwwrun (oder wie halt Dein http-user heisst) Und fuehr das Script dann mal aus. Such in Deinem Script nach falschen Quotes und schau nach ob alle Pfade Shellaufrufe, Variablenabfragen auch im Moment des Ausfuehrens vorhanden sein koennen.
ich kann dir ja mal das Skript zuschicken (sind 2 Skripte samt
Naja, perl ist nun nicht gerade meine Staerke ;) tja, da sind wir schon zwei
Install-Anleitung ~11KB). Ich hab mich grade mal als Nutzer "vbox" eingeloggt, dann "su vbox" vbox Passwort (root - Pass wollte er nicht) "lynx /home/vbox/public_html/cgi-bin/vbox.pl"
Hihi, reingefallen ;) Ich meinte, das Script direkt als User vbox ausfuehren. So, wie Du das gemacht hast, laeuft das ja wieder ueber den apache. Also:
su wwwrun
env | less /home/vbox/public_html/cgi-bin/vbox.pl
Was zeigt env, was macht vbox.pl.
den Quelltext; den kann ich auch einfacher haben; mc -> Datei suchen -> F3 od. F4...
daraufhin wollte er das Skript downloaden, jedoch nicht ausführen, wahrscheinlich weils er nicht wusste, was damit tun. Ein Aufruf ueber die Adresse http://vbox.linuxserver (funzt unter Win) klappt jedoch nicht: er findet den Rechner nicht.
---/home/vbox/public_html/log/error_log---
---/var/log/httpd/suexec.log--- [2002-06-26 20:25:04]: info: (target/actual) uid: (vbox/vbox) gid: (users/users) cmd: vbox.pl [2002-06-26 20:25:04]: error: target uid/gid (504/100) mismatch with directory (504/101) or program (504/101)
hmmm, weiss ich jetzt aus dem Stegreif auch nicht, ich vermute mal... - Der aufrufende User ist uid/gid 504.100 das Script gehoert aber uid/gid 504.101 - Oder das Directory in dem das Script liegt hat uid.gid 504.101
Vielleicht ist suexec da empfindlich...
wie bekomme ich das raus, bzw. wie korrigier ich das?
Vermutlich irgendwie so: chown user.group /home/vbox/public_html/cgi-bin/vbox.pl wobei User in dem Fall vermutlich wwwrun ist group kannst Du aus /etc/group holen
Es gibt bestimmt eine Doku zu suexec, wo das drinsteht.
also ich hab das jetzt schon von Nutzer root zu (irgendwen, weiss ich nicht mehr) zu vbox verändert. also jetzt zu wwwrun, welche Gruppe (soll ich Schilling nehmen; da sind alle von uns drin)?
Mir scheint es so, als ob Du da eine Reihe von Fehlern, auf verschiedenen Ebenen hast. aha. hmh. ein paar habe ich ja schon ausmerzen können. Dafür habe ich aber auch (mit Hilfe) ca. 6 Monate gebraucht.
Falls das alles schon besprochen wurde... vergiss diese Mail ;)
ne, is ok. Danke. weiter so.
Bitte. Danke. -- Mit freundlichen Grüssen Stefan Schilling mailto:mail.suse@gmx.de