suphp / .htaccess / Verzeichnisrechte

Apache, Lighttpd, nginx, Cherokee
codepoet
Posts: 10
Joined: 2009-02-05 13:36

suphp / .htaccess / Verzeichnisrechte

Post by codepoet » 2009-02-05 13:53

Moin zusammen!

Irgendwie stehe ich auf dem Schlauch und benötige mal 'n Stoß in die
richtige Richtung ...

Folgendes Szenario ...

Webserver:
- FreeBSD
- Apache 2.2
- PHP 5.2.5_1
- suPHP 0.6.3
- ... (nicht weiter von Belang)

(Updates stehen aus; also keine Kommentare zu den Versionen ;) )

Das Problem ergibt sich hier durch die Verwendung von suPHP. Ansich eine
feine Sache, aber sobald man die Verzeichnisrechte zu stark
reglementiert, streikt (logischerweise) der Apache.

Genauer:

Code: Select all

[Thu Feb 05 12:52:03 2009] [crit] [client XXX.XXX.XXX.XXX] (13)Permission denied: /usr/local/www/virtual/<vhost>/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: <xxx>


Nach einigen Recherchen ist mir klar, dass das Problem darin besteht,
dass der Apache versucht (mit den Rechten des Benutzers "www") das
Verzeichnis auf eine evtl. existierende .htaccess-Datei zu überprüfen,
was ja durchaus korrekt ist.

Nun stellt es sich aber so da, dass das Verzeichnis und der entspr.
Inhalt dem FTP-Benutzer gehört, welcher für den Inhalt des VHosts
zuständig ist. Das ist soweit auch korrekt und gewollt, schliesslich
sollen die PHP-Skripte ja auch mit den Rechten dieses Benutzers
interpretiert werden (suPHP).

Und jetzt beisst sich die Katze in den Schwanz: Zum einen setze ich
suPHP ein um Skripte "nur" mit beschränkten Rechten interpretieren zu
lassen, zum anderen muss ich das Verzeichnis aber wenigstens für die
Gruppe oder gar für alle anderen lesbar machen, damit der Apache nach
der .htaccess-Datei suchen kann; irgendwie kontra-produktiv, ODER?!

Hat jemand eine Idee wie ich diesem Szenario begegenen kann (Anpassung
von ausführenden Benutzern, Datei- / Verzeichnisrechten)?!


Würd' mich freuen! Dank euch! ... Stefan

freddy36
RSAC
Posts: 277
Joined: 2008-03-20 17:31

Re: suphp / .htaccess / Verzeichnisrechte

Post by freddy36 » 2009-02-05 15:05

Für jeden Benutzer eine eigene Gruppe, Mitglied einer jeden Gruppe ist der jeweilige Benutzer + www.
Dann halt nen chmod -R g+rX ...
Das funktioniert sehr gut.
Alternativ kannst du auch www mittels ACLs Zugriff erlauben (man acl).

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: suphp / .htaccess / Verzeichnisrechte

Post by daemotron » 2009-02-05 15:52

Freddy36 wrote:Alternativ kannst du auch www mittels ACLs Zugriff erlauben (man acl).

codepoet wrote:Folgendes Szenario ...

Webserver:
- FreeBSD


Ich glaube, mit man acl wird Admin bei FreeBSD nicht so richtig glücklich (zu "acl" gibt's bei FreeBSD nur in Section 3 und 9 eine Manpage, und ehrlich gesagt eignet sich die libc bzw Kernel API nicht so sehr für Alltagsaufgaben 8) ). Besser geeignet wären Kapitel 14.12 im Handbuch oder man getfacl bzw. man setfacl.

codepoet
Posts: 10
Joined: 2009-02-05 13:36

Re: suphp / .htaccess / Verzeichnisrechte

Post by codepoet » 2009-02-05 17:19

Hey Freddy!

Freddy36 wrote:Für jeden Benutzer eine eigene Gruppe, Mitglied einer jeden Gruppe ist der jeweilige Benutzer + www.
Dann halt nen chmod -R g+rX ...
Das funktioniert sehr gut.
Alternativ kannst du auch www mittels ACLs Zugriff erlauben (man acl).


Soweit war ich auch schon. Das Problem ist, dass dann aber andere Skripte (diejenigen, die weder als
CGI ausgeführt, noch durch suPHP abgedeckt werden; bspw. Rails-Applikationen) trotzdem wieder
Zugriff hätten. - Aber nun denn, ich denke mit diesen Einschränkungen muss ich leben.
Mache ich's also erstmal so ...

btw. Ich habe im Wiki gerade den Artikel http://wiki.rootforum.de/scripting/php/mod_php_vs_php-cgi
gelesen. Vielleicht steht dann doch der Schwenk auf die FCGI-Variante aus.