Ich verwende Apache Worker-MPM, PHP 5.3.2 und FCGID.
Apache läuft besser als zuvor, aber ich habe festgestellt, dass ein Apache-Prozess als root und ein zweiter Prozess sowohl als root als auch als wwwdata ausgeführt werden. Der Rest der Prozesse wird als wwwdata ausgeführt.
Ist jemand schon darauf gestoßen und ist es sicher?
Antworten:
Apache Httpd startet als ein Prozess, der ausgeführt wird
root
, um Ports <1024 abhören zu können (80 für HTTP und 443 für HTTPS). Normale Benutzer können das nicht.Darüber hinaus können einige Konfigurationsdateien während des Startvorgangs nur von root gelesen werden. Beispielsweise sollte Ihr Apache-Benutzer (z. B.
www-data
) Ihre private Schlüsseldatei nicht lesen können müssen, wenn Sie SSL konfiguriert haben.Es ist eine gute Sache, nicht alles als Root auszuführen: Auf diese Weise kann ein Fehler oder ein kompromittierter Dienst dem System nicht so viel Schaden zufügen wie beim Ausführen als Root.
BEARBEITEN:
(Ich habe nur angenommen,
www-data
anstattwwwdata
, aber es spielt keine Rolle, es wird als der Benutzer ausgeführt, für den Sie es festgelegt haben.)Es läuft einfach so: Es startet einen Prozess als root und gibt dann andere Benutzer als den von Ihnen ausgewählten Benutzer aus.
Wenn Sie die Root-Prozess-ID erhalten (z. B. mit
ps auwx | grep apache2
odergrep httpd
abhängig von der Verteilung) und dann ausführenpstree -p -u THE_PROCESS_ID
, sollten Sie die Hierarchie klar sehen. Der übergeordnete Prozess sollte immer permanent ausgeführt werden (andernfalls würden Sie auch die untergeordneten Prozesse beenden).Siehe die
User
Dokumentation (Apache MPM Common Directives) :quelle