Mehrere Apache-Instanzen – Berechtigungsprobleme

Mehrere Apache-Instanzen – Berechtigungsprobleme

Ich habe hier eine seltsame Situation ... Ich habe mehrere Apache-Instanzen unter Debian eingerichtet:

  1. Die Standardinstallation bleibt wie sie ist -- wird aber deaktiviert und gestoppt
  2. Eine benutzerdefinierte Instanz (apache2-apps)

Die Idee war, jede Instanz als eigener Benutzer auszuführen. Standardmäßig würde Apache Apps von Drittanbietern ausführen (WordPress, Drupal, OpenCart usw.).

Die zweite Möglichkeit wäre, unsere eigenen benutzerdefinierten Apps auszuführen, die mit streng proprietären Daten arbeiten ...

Die Idee/Hoffnung hinter diesem Setup war, die Apps von der Website-Software zu isolieren – ohne auf eine VM zurückzugreifen (da ich bereits eine verwende) und etwas einfacher einzurichten und sicherer? als Apache VirtualHost und/oder PHP CGI

Wie dem auch sei ... das Problem, auf das ich stoße, ist, dass das Verzeichnis /var/www Folgendes benötigt:

1. 755 permissions which make it readable by OTHER
 --- OR ----
2.I need to make www-data or www-apps an owner or group of this base directory.

Meine aktuelle Dateistruktur ist wie folgt:

/var
  /www (user/group: webmin => RWXRWX--X)
    /applications (user/group: www-apps)
    /websites (user/group: www-data)

Bei diesem Setup würde ich glauben, ich könnte die Standard-Apache-Installation so konfigurieren, dass sie/var/www/websitesund apache2-apps docroot die/var/www/Anwendungen

Jeder mit einem anderen Benutzer/einer anderen Gruppe (www-DatenUndwww-appsbzw.) und isoliert so alle Sicherheitsverstöße, die bei öffentlich zugänglichen Websites auftreten können.

Das Problem tritt auf, wenn ich das Docroot jeder Apache-Instanz so ändere, dass es auf Folgendes verweist:

/var/www/applications
/var/www/websites

Wenn ich „andere“ Lese-/Ausführungsberechtigungen für /var/www entferne, also 770, gibt Apache mir einen „Forbidden 403“-Fehler aus, wenn ich auf die URI zugreife, die jedem der oben aufgeführten Docroots zugeordnet ist. Ich bin mir nicht sicher, warum … die Docroots der oben aufgeführten haben jeweils die Berechtigung 775.

Kann mir jemand erklären, warum ich auf dieses Problem stoße? Was verstehe ich nicht, wenn ich daran denke, wie Berechtigungen funktionieren? Keine der Apache-Konfigurationen verweist auf /var/www, sondern jede Instanz verweist auf ihr jeweiliges Verzeichnis eine Ebene tiefer.

Alex

Antwort1

Beim Zugriff auf ein Verzeichnis benötigen alle höheren Verzeichnisse ebenfalls mindestens die Ausführungsberechtigung für diesen Benutzer (oder diese Gruppe), da die Anwendung sonst nicht in dieses oder ein darunter liegendes Verzeichnis wechseln darf.

verwandte Informationen