suexec - KEIN Fehler 500

Apache, Lighttpd, nginx, Cherokee
compositiv
Posts: 193
Joined: 2003-01-22 14:58
Location: Hamburg
 

suexec - KEIN Fehler 500

Post by compositiv »

Moinmoin,

System; OpenSuSE 10.2, d.h. Apache 2.2.3

Um den Docroot zu ändern habe ich suexec neu übersetzt, eigentlich keine grosse Sache und funktioniert soweit auch. Allerdings bietet mir der Webserver, wenn eigentlich ein Fehler 500 kommen sollte, die CGI-Datei zum Download an.

Code: Select all

suexec2 -V
 -D AP_DOC_ROOT="/home/www"
 -D AP_GID_MIN=96
 -D AP_HTTPD_USER="wwwrun"
 -D AP_LOG_EXEC="/var/log/apache2/suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=96
 -D AP_USERDIR_SUFFIX="public_html"
Im error_log erscheint:

Code: Select all

[Thu Jan 04 22:13:06 2007] [error] [client 84.142.189.103] suexec policy violation: see suexec log for more details
[Thu Jan 04 22:13:06 2007] [error] [client 84.142.189.103] Premature end of script headers: test.pl
Im suexec.log erscheint:

Code: Select all

[2007-01-04 22:13:06]: uid: (777/web15) gid: (777/777) cmd: test.pl
[2007-01-04 22:13:06]: target uid/gid (777/777) mismatch with directory (777/777) or program (0/0)
Was ja auch "goldrichtig" ist, allerdings wird die Datei, wie gesagt, zum Download angeboten.

/usr/share/apache2/error/HTTP_INTERNAL_SERVER_ERROR.html.var ist lesbar, ein Fehler 404 o.ä wird richtig ausgegeben.

Hat jemand eine Idee, wo ich suchen könnte?

Danke
Matthias
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: suexec - KEIN Fehler 500

Post by Roger Wilco »

Lies dir die Fehlermeldung im suexec.log nochmal durch. Das Skript muss auch dem entsprechenden Benutzer und der entsprechenden Gruppe gehören...
compositiv
Posts: 193
Joined: 2003-01-22 14:58
Location: Hamburg
 

Re: suexec - KEIN Fehler 500

Post by compositiv »

Bitte die Frage nochmal durchlesen.

Das Rechteproblem ist hier Absicht, es kommt nur kein Fehler 500, sondern die CGI-Datei wird zum Download angeboten.
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: suexec - KEIN Fehler 500

Post by Roger Wilco »

Compositiv wrote:Bitte die Frage nochmal durchlesen.
Gutes Argument. ;)
Compositiv wrote:Das Rechteproblem ist hier Absicht, es kommt nur kein Fehler 500, sondern die CGI-Datei wird zum Download angeboten.
Wird tatsächlich das Skript selbst zum Download angeboten oder die Seite mit der Fehlermeldung? Welche HTTP-Header werden mitgeschickt? Wie ist dein ErrorDocument für den Fehler 500 in der Apache-Konfiguration definiert?
compositiv
Posts: 193
Joined: 2003-01-22 14:58
Location: Hamburg
 

Re: suexec - KEIN Fehler 500

Post by compositiv »

Roger Wilco wrote: Wird tatsächlich das Skript selbst zum Download angeboten oder die Seite mit der Fehlermeldung?
Ahh, gute Idee! Tatsächlich ist es die Seite mit den Fehlermeldungen, die der Firefox abspeichern will.
Roger Wilco wrote:Welche HTTP-Header werden mitgeschickt?

Code: Select all

GET /cgi-bin/test.pl HTTP/1.1
Host: <hostname>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

HTTP/1.x 500 Internal Server Error
Date: Fri, 05 Jan 2007 10:16:04 GMT
Server: Apache/2.2.3 (Linux/SUSE)
Content-Length: 0
Connection: close
Content-Type: application/x-perl
----------------------------------------------------------
Roger Wilco wrote:Wie ist dein ErrorDocument für den Fehler 500 in der Apache-Konfiguration definiert?
Das ist der Standard von OSS 10.2;

Code: Select all

Alias /error/ "/usr/share/apache2/error/"
ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
Wie gesagt, der 404 lädt problemlos.
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: suexec - KEIN Fehler 500

Post by Roger Wilco »

Problem ist, dass die Fehlermeldung mit dem Content-Type application/x-perl rausgeschickt wird. Das sollte zumindest text/html sein.

Wie sieht die Konfiguration des VirtualHosts aus, in dem du das Skript aufrufst?
compositiv
Posts: 193
Joined: 2003-01-22 14:58
Location: Hamburg
 

Re: suexec - KEIN Fehler 500

Post by compositiv »

Ja, nur woher. Ist ein Standard-Confixx-VHost.

Zur Sicherheit:

Code: Select all

<VirtualHost <ipadresse>:80>
  ServerName <servername>
  ServerAlias <domainname>
  DocumentRoot /home/www/web15/html
  SuexecUserGroup web15 web15
  ScriptAlias /cgi-bin/ /home/www/web15/html/cgi-bin/
  php_admin_value open_basedir /home/www/web15/html/:/home/www/web15/phptmp/:/home/www/web15/files/:/home/www/web15/atd/
  php_admin_value file_uploads 1
  php_admin_value upload_tmp_dir /home/www/web15/phptmp/
</VirtualHost>
In der Fehlerdatei wird eigentlich gesetzt:

Code: Select all

Content-language: de
Content-type: text/html; charset=ISO-8859-1
Allgemein ist natürlich schon

Code: Select all

application/x-perl pl pm al perl
gesetzt, allerdings sollte das doch durch die Angaben in /usr/share/apache2/error/HTTP_INTERNAL_SERVER_ERROR.html.var überschrieben werden?