Shared Hosting: So verhindern Sie, dass ein Benutzer die Dateien eines anderen sieht, aber dass seine Dateien weiterhin von Apache/PHP beschreibbar sind

Shared Hosting: So verhindern Sie, dass ein Benutzer die Dateien eines anderen sieht, aber dass seine Dateien weiterhin von Apache/PHP beschreibbar sind

ich habe gelesenWelche Berechtigungen sollten meine Website-Dateien/-Ordner auf einem Linux-Webserver haben?und hier ist eine verknüpfte Frage. Sagen wir:

  • /var/www/bobweb/gehörtbob:bob

  • /var/www/eveweb/gehörteve:eve

und dass jede Site einen Apache VirtualHost hat, der verknüpft ist mitwww.bobweb.comUndwww.eveweb.com.

Jede Website muss für Apache beschreibbar sein (auf beiden Websites gibt es einen Bild-Uploader), daher lese ich oft:

„Machen Sie einfach chgrp -R www-data /var/www/bobweb/dasselbe für Eve, und das ist alles!“

Das gibt:

drwxrwx---  3 bob    www-data 4096 Jan  9 17:45 bobweb
drwxrwx---  5 eve    www-data 4096 Feb 26  2019 eveweb

Dies verhindert tatsächlich, dass Bob von einer Shell/SSH aus auf die Dateien von Eve zugreift und umgekehrt.

Aberes scheint, dass Eve ein PHP-Skript (ausgeführt von ) schreiben könnte, www-dataum es zu lesen (oder sogar zu ändern) /var/www/bobweb/wp-config.php(und so Bobs DB-Passwort zu stehlen!).

Frage: Wie kann ich die Benutzer- und Gruppeneigentümerschaften und -berechtigungen ändern, um zu verhindern, dass Bob die Dateien von Eve liest und umgekehrt, Apache und PHP aber dennoch das Schreiben von Daten auf diese Websites gestatten?

(typische Shared-Hosting-Situation)

Antwort1

Dies kann nicht allein mit Dateiberechtigungen erreicht werden. Sie sollten sich die von Ihnen ausgeführten Anwendungen ansehen, um Jails zu erstellen. Für PHP können Sie "open_basedir" auf Basis der einzelnen virtuellen Hosts.

Sie möchten sicher auch etwas Ähnliches auf Ihrem FTP-Server (Sie haben nicht mitgeteilt, welchen Server Sie verwenden, aber viele/die meisten haben eine entsprechende Anweisung).

Wenn Sie CGIs zulassen, ändert sich natürlich der gesamte Problembereich.

verwandte Informationen