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 »

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 »

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: 2636
Joined: 2004-01-21 17:44

Re: Apache 2.2 FastCGI - Rechte

Post by daemotron »

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 »

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 »

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 »

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 »

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