PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache - getpwuid



EmpIRe
26.07.02, 00:56
Hi,

da der Apache <1.3.26 eine Sicherheitsluecke hat, wollte ich ganz gerne den Apache von 1.3.20 auf 1.3.26 updaten.
Ich habe auch die suexec beruecksichtigt und
"--enable-suexec --suexec-caller=wwwrun --suexec-docroot=/home/www --suexec-uidmin=96 --suexec-gidmin=96 --suexec-safepath=/usr/bin:/bin --suexec-logfile=/var/log/httpd/suexec.log"
in meinem ./configure command eingebunden.

Kompilieren ergab auch keinerlei Fehler, jedoch laesst sich der Apache nur starten wenn keine User oder Group angaben in den Virt.Hosts vorhanden sind.

In der error.log sind diese Eintraege beim starten vom neuen Apache:
[Fri Jul 26 00:38:19 2002] [notice] Apache/1.3.26 (Unix) configured -- resuming normal operations
[Fri Jul 26 00:38:19 2002] [notice] suEXEC mechanism enabled (wrapper: /usr/local/apache/1.3.26/bin/suexec)
[Fri Jul 26 00:38:19 2002] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Fri Jul 26 00:38:19 2002] [alert] Child 11800 returned a Fatal error...
Apache is exiting!
[Fri Jul 26 00:38:19 2002] [alert] (2)No such file or directory: getpwuid: couldn't determine user name from uid 4294967295, you probably need to modify the User directive

suexec -V ergiebt follgendes:
-D DOC_ROOT="/home/www"
-D GID_MID=96
-D HTTPD_USER="wwwrun"
-D LOG_EXEC="/var/log/httpd/suexec.log"
-D SAFE_PATH="/usr/bin:/bin"
-D UID_MID=96
-D USERDIR_SUFFIX="public_html"

In der suexec.log steht nichts drin.


Was ich in der error.log nicht verstehe, ist diese Zeile:
"[Fri Jul 26 00:38:19 2002] [alert] (2)No such file or directory: getpwuid: couldn't determine user name from uid 4294967295, you probably need to modify the User directive"

'getpwuid' hat etwas mit der /etc/passwd zutun, so sagt es die man page. Weiter bin ich jedoch nicht gekommen.
Kann mir jemand weiterhelfen?

Gruss,
Norman

howlcoyote
26.07.02, 04:13
Hmmm....

Es gab in Version 1.3.22 einen Bug mit derselben Fehlermeldung. Du brauchst in der httpd.conf eine User und eine Group Direktive, die die Namen enthält, unter denen der Apache läuft. Schau mal, ob die Datei schon folgende Zeilen enthält:

User wwwrun
Group nogroup

Falls nicht, dann füge diese Zeilen hinzu und stelle sicher, dass auf Deinem System ein User namens wwwrun existiert.

EmpIRe
26.07.02, 12:29
Die beiden Direktive sind in der Datei vorhanden und den User und die Gruppe gibt es.
Die Fehlermeldung kommt auch nur, wenn ich in Virtual Hosts User und Group Direktive angebe. Die User bestehen ebenfalls.