Re: Problem mit mod_php4-4.2.3 in safe_mode und apache-2.0.43_1 unter FreeBSD 4.7-RELEASE-p3

From: Jens Rehsack <rehsack(at)liwing.de>
Date: Fri, 10 Jan 2003 09:11:16 +0100

Thomas Richter wrote:
> Hallo,
>
> Ich habe ein Problem mit mod_php4-4.2.3 und apache-2.0.43_1 unter
> FreeBSD 4.7-RELEASE-p3.
>
> Die beiden Ports mod_php4 und apache2 konnte ich ohne Schwierigkeiten
> installieren und laufen soweit auch auf meinem System.
>
> Sobald ich aber in der Datei php.ini die Option 'safe_mode = On'
> aktiviere und die dazugehoerigen Optionen wie safe_mode_include_dir,
> open_basedir, doc_root etc. entsprechend konfiguriere und anschliessend
> 'apachectl restart' ausfuehre, erscheinen bei den php-Scripts die
> Filehandling Funktionen aufrufen Fehlermeldungen wie z.B.:
>
> ---
> SAFE MODE Restriction in effect. The script whose uid is -1 is not
> allowed to access /tmp/test.txt owned by uid 1001 in
> /usr/local/www/data/readfile.php on line 7
>
> Warning: Failed opening '/usr/local/www/data/readfile.php' for inclusion
> (include_path='.:/usr/local/lib/php') in Unknown on line 7
> ---

Das sieht danach aus, als ob Dein apache als nobody läuft. Und
'/usr/local/www/data/readfile.php' scheint einem bestimmten User auf
Deinem System zu gehören (wahrscheinlich Dir).

Möglichkeit 1)
SafeMode abschalten

Möglichkeit 2)
suExec verwenden und den Apache pro User mit einem eigenen, virtuellen
Host laufen lassen:
   <VirtualHost aUser.yourdomain.yourcompany.tld>
   ...
   user a_user
   group www
   ...
   </VirtualHost>

Geeigneterweise sollte man Samba (oder was immer man verwendet) so
konfigurieren, dass die Eigentümergruppe einer Datei unter
/usr/local/www/ automatisch www ist.

Möglichkeit 3)
in php.ini:
; By default, Safe Mode does a UID compare check when
; opening files. If you want to relax this to a GID compare,
; then turn on safe_mode_gid.
safe_mode_gid = On

Ergänzung siehe 2)

> Den selben oder aehnliche Fehler (UID -1) ?!? wurden auch schon als
> Bug bei www.php.net hinterlegt. Der Bugreport zeigt aber den Status als
> geschlossen.
> Anhand des Textes gehe ich aber davon aus, dass dies erst in der PHP
> Version 4.3.0 behoben worden ist.

PHP 4.2.3 + Apache 2 ist als unstable eingestuft.

> http://bugs.php.net/bug.php?id=17858
> Bug #17858 Apache 2 and PHP 4 breaks safe_mode
> Status: Closed
>
> Nun, in den FreeBSD Ports ist aber immer noch die aeltere PHP Version
> 4.2.3 vorhanden. Weiss jemand wie man diesen Port aktualisieren kann
> oder wer dafuer verantwortlich ist?

dirk(at)freebsd.org ist der Maintainer, aber soweit ich mitbekommen habe,
wollte er php 4.3.0 nicht vor 5.0-RELEASE einpflegen.

> Hat jemand einen Patch fuer v4.2.3?
>
> Fuer Tipps bin ich sehr dankbar.

Versuch's mal mit Mgl. 2 oder 3 (oder Kombi) - vielleicht klappt's

Jens

-- 
L     i  W     W     W  i                 Jens Rehsack
L        W     W     W
L     i   W   W W   W   i  nnn    gggg    LiWing IT-Services
L     i    W W   W W    i  n  n  g   g
LLLL  i     W     W     i  n  n  g   g    Friesenstraße 2
                                   gggg    06112 Halle
                                      g
                                  g   g
Tel.:  +49 - 3 45 - 5 17 05 91    ggg     e-Mail: <rehsack(at)liwing.de>
Fax:   +49 - 3 45 - 5 17 05 92            http://www.liwing.de/
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 10 Jan 2003 - 09:10:45 CET

search this site