2008-10-06 10 views
6

Was ist die beste Vorgehensweise beim Einrichten eines LAMP-Servers in Bezug auf Linux-Benutzer und -Gruppen? Wenn mehrere Websites auf demselben Server gehostet werden, empfiehlt es sich, einen einzelnen Benutzer zu haben, der alle Websitefilterdateien (und Uploads) besitzt, die sich in der gleichen Gruppe wie Apache befinden - oder einen anderen Benutzer für jede Site zu haben Jede Seite hat ihre eigene Crontab)? Oder etwas ganz anderes?Linux-Benutzer und -Gruppen für einen LAMP-Server

Aus irgendeinem Grund scheint diese Frage nie in PHP/MySQL/Linux-Büchern angesprochen zu werden, auf die ich gestoßen bin.

Antwort

1

Auf unserer Plattform hat jeder Standort htdocs usw. einen eigenen Benutzer. Das heißt, wenn eine Website kompromittiert wird, sollten die anderen in Ordnung sein.

1

Wenn dies eine kleine Anzahl von großen Sites ist, stellen Sie möglicherweise fest, dass die Aufteilung Ihres Servers in mehrere VMs mit Xen wie eine bessere Option ist als die einfache Trennung nach Benutzer. Dies verbessert die Isolierung Ihrer Websites und erleichtert das Verschieben einer Site auf die eigene Hardware, wenn Sie in Zukunft bei der Ressourcennutzung viel mehr Ressourcen verbrauchen als die anderen.

0

Ich gehe davon aus, dass Sie nicht verrückt werden wollen und WHM für cPanel bekommen und dies vielleicht unpraktisch machen wollen.

Ich denke, es ist eine Best Practice, dass jeder Benutzer auf seinen Speicherplatz von seinem eigenen Benutzernamen und seiner eigenen Gruppe zugreifen kann - insbesondere, wenn nicht verwandte Benutzer den Webserver verwenden.

Wenn Sie mehr als 10 Domänen und Benutzer haben und Konten auf ihren eigenen Bereich getrennt halten möchten, würde ich Webmin mit VirtualMin auf dem Server installiert verwenden. Dies löst diese Art von Problemen problemlos innerhalb einer netten, kostenlosen Installation. Andernfalls müssen Sie ein kommerzielles Produkt kaufen oder alles manuell handhaben - ein echter Schmerz, aber es kann getan werden (nicht für ein kommerzielles Unternehmen empfohlen).

Auch Xen und VMS sind möglicherweise übertrieben, aber auch nicht so einfach zu verwalten wie Webmin/VirtualMin für 10-100 + Konten.

0

Die beste Wahl ist VirtualHost für jede Domäne mit Apache mit suPHP-Modul zu erstellen. Auf diese Weise gehört jeder Standort einem Benutzer und wird mit der Berechtigung des Benutzers ausgeführt. Webroot von jeder Seite sollte unter das Homedir des Benutzers gestellt werden, um lokalen Angriff zu verhindern.

Wenn Sie den gleichen Benutzer für jede Website verwenden, bedeutet das, dass Benutzer von WebsiteA auf Dateien von WebsiteB zugreifen/lesen können.

0

Ich habe eine Art von kleinen Level-Hosting über mehrere Jahre und meine Antwort ist "Es kommt darauf an".

Zunächst einmal gibt es einen Unterschied zwischen Apache Module (mod_php). CGI und FastCGI. Eine gute Liste mit allen Vor- und Nachteilen könnte es hier: Apache php modes

Wenn es um Sicherheit geht alle Modi Vor- und Nachteile haben.

Da wir nur eine relativ kleine Anzahl von Domains mit mäßigem Traffic gehostet haben, habe ich mich entschieden, bei mod_php zu bleiben und die vhost-Konfiguration zu verwenden.

Ich habe auch verschiedene FTP-Benutzer für jeden vhost root dir (natürlich).

Durch die Konfiguration von vhosts (eine pro Kunde) können Sie Domains auf einfache Weise ausschalten, ohne sich durch eine lächerlich große httpd.conf zu graben und dabei Fehler zu erzeugen.

Verwandte Themen