Apache 2.2 FastCGI - Rechte

Apache, Lighttpd, nginx, Cherokee
hugo
Posts: 87
Joined: 2002-06-08 21:33

Apache 2.2 FastCGI - Rechte

Post by hugo » 2008-08-13 12:08

Hallo,
lange war ich nicht mehr hier, für ein neues Projekt muss aber wieder ein Server her.
Ich habe mich nach längerem überlegen für die Kombination vom FastCGI und dem Apache 2.2 unter Debian etch entschieden.

Das Ganze läuft soweit auch, ich bin mir nur nicht ganz sicher, ob ich die Verzeichnis- / Dateirechte optimal gewählt habe.
Ich bin auf Sicherheit aus, daher hier noch mal die Rückfrage.

Aktuell sieht es bei mir so aus:
vHosts - Struktur

Code: Select all

/var/www/vHost/htdocs
/var/www/vHost/logs
/var/www/vHost/conf (php.ini)
/var/www/vHost/php-fcgi (Starter)
/var/www/vHost/tmp


VirtualHost vom Apache

Code: Select all

<VirtualHost *>
[...]
   SuexecUserGroup user1 usergroup1
   DocumentRoot /var/www/vHost/htdocs/
   
   <Directory /var/www/vHost/htdocs/>
      Options -Indexes MultiViews FollowSymLinks +ExecCGI
      AddHandler fcgid-script .php
      FCGIWrapper /var/www/vHost/php-fcgi/php-fcgi-starter .php

      AllowOverride None
      Order allow,deny
      allow from all
   </Directory>
[...]
</VirtualHost>


Damit der Apache die Seiten vom User lesen kann, habe ich ihn jeweils der Benutzergruppe zugeordnet:

Code: Select all

adduser www-data usergroup1


Die Rechte und Besitzer sind nun wie folgt:
vHost

Code: Select all

drwxr-xr-x 7 root root  vHost

Code: Select all

drwxr-x--- 2 root  usergroup1  conf
drwxr-x--- 2 user1 usergroup1  htdocs
drwxr-x--- 2 user1 usergroup1  logs
drwxr-x--- 2 user1 usergroup1  php-fcgi
drwxr-x--- 2 user1 usergroup1  tmp

conf

Code: Select all

-rw-r--r-- 1 root root  php.ini

php-fcgi

Code: Select all

-rwxr-x--- 1 user1 usergroup1  php-fcgi-starter

"Immutable bit" für php-fcgi-starter ist gesetzt.

Was meint Ihr, ist das so sinnvoll? Was wäre zu verbessern?
Vielen Dank für eure Hilfe.

dotme
Posts: 150
Joined: 2004-12-15 16:48

Re: Apache 2.2 FastCGI - Rechte

Post by dotme » 2008-08-14 10:12

Ich verwende das selbe Prinzip, wo der Dämon Mitglied in der Gruppe der Autoren ist und bin damit eigentlich ganz zufrieden.

Hugo wrote:Die Rechte und Besitzer sind nun wie folgt:
vHost

Code: Select all

drwxr-xr-x 7 root root  vHost

Code: Select all

drwxr-x--- 2 root  usergroup1  conf
drwxr-x--- 2 user1 usergroup1  htdocs
drwxr-x--- 2 user1 usergroup1  logs
drwxr-x--- 2 user1 usergroup1  php-fcgi
drwxr-x--- 2 user1 usergroup1  tmp



Allerdings habe ich bereits auf dem "vHost" - Verzeichnis folgende Rechte

Code: Select all

drwxr-x--- 7 wwwadm usergroup1  vHost

um fremde Autoren frühzeitig auszuschließen.

Ärgerlich ist halt, daß es einen Neustart des Webservers braucht nachdem man den Server-Dämon in eine neue Gruppe aufgenommen hat, da die Liste der erweiterten Gruppen wohl nur beim Prozessstart ermittelt wird.

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

Re: Apache 2.2 FastCGI - Rechte

Post by daemotron » 2008-08-14 10:32

Hugo wrote:

Code: Select all

-rwxr-x--- 1 user1 usergroup1  php-fcgi-starter

"Immutable bit" für php-fcgi-starter ist gesetzt.

Ich würde die Rechte für das fcgi-starter-Script auf 0550 setzen - Schreibrechte braucht der User dafür ja nicht.

dotme wrote:Ärgerlich ist halt, daß es einen Neustart des Webservers braucht nachdem man den Server-Dämon in eine neue Gruppe aufgenommen hat, da die Liste der erweiterten Gruppen wohl nur beim Prozessstart ermittelt wird.

Na ja, i.d.R. passiert das doch nur, wenn Du ohnehin einen neuen vHost angelegt hast - und damit der geladen wird, muss der Apache sowieso neu gestartet werden.

dotme
Posts: 150
Joined: 2004-12-15 16:48

Re: Apache 2.2 FastCGI - Rechte

Post by dotme » 2008-08-14 10:47

jfreund wrote:
dotme wrote:Ärgerlich ist halt, daß es einen Neustart des Webservers braucht nachdem man den Server-Dämon in eine neue Gruppe aufgenommen hat, da die Liste der erweiterten Gruppen wohl nur beim Prozessstart ermittelt wird.

Na ja, i.d.R. passiert das doch nur, wenn Du ohnehin einen neuen vHost angelegt hast - und damit der geladen wird, muss der Apache sowieso neu gestartet werden.

Da hast Du natürlich Recht. Ich müßte mal ausprobieren ob ein "graceful" Neustart ausreicht. Ein harter Neustart ist halt unangenehm für die Mitgehangenen.

hugo
Posts: 87
Joined: 2002-06-08 21:33

Re: Apache 2.2 FastCGI - Rechte

Post by hugo » 2008-08-14 11:04

Danke euch beiden, ich habe die Tipps direkt mal umgesetzt. :wink:

jeti-power
Posts: 23
Joined: 2003-04-06 22:02

Re: Apache 2.2 FastCGI - Rechte

Post by jeti-power » 2008-08-15 12:36

Servus,

und bedenke vielleicht bei den Rechten, dass der Account-Inhaber dumm sein kann. Ich hatte schon erlebt, dass z.B. jemand sein log-Verzeichnis aufräumen wollte und dabei das Verzeichnis komplett gelöscht hat. Das ganze ist sehr praktisch, wenn nachts ein graceful restart gemacht wird - der Apache ist dann nämlich einfach tot. Das gleiche gilt übrigens, wenn jemand sein htdocs-Verzeichnis löscht.

Nur mal so als Anregung wäre das hier denkbar (aber sicher verbesserbar, ist jetzt nur aus dem Kopf entstanden):

Code: Select all

 /srv/$username/                           www-data:$usergroup      1770 (drwxrwx--t)
 /srv/$username/$domain                        www-data:$usergroup      1770 (drwxrwx--t)
 /srv/$username/$domain/htdocs            www-data:$usergroup      1770 (drwxrwx--t)
 /srv/$username/$domain/tmp                  www-data:$usergroup      1770 (drwxrwx--t)
 /srv/$username/$domain/logs               www-data:$usergroup      1750 (drwxr-x--t)


Gruß,
jeti-power

hugo
Posts: 87
Joined: 2002-06-08 21:33

Re: Apache 2.2 FastCGI - Rechte

Post by hugo » 2008-08-18 23:38

Danke, da hast du auch wieder recht ...
Werde mir noch mal überlegen, ob ich das auch noch so in diese Richtung ändern werde.