Informationen zu Linux-Berechtigungen

548
htoip

Ich habe einen Benutzer und eine Gruppe mit dem gleichen Namen erstellt (lighttpd: lighttpd)

Jetzt muss ich den lighy Server mit diesen Benutzern starten: group ... ok

Jetzt habe ich eine Website (vhost) hinzugefügt, um mit lighy zu laufen. Es funktioniert gut, aber ich habe eine Frage zu Berechtigungen. Für den vhost habe ich einen anderen Benutzer erstellt und ihn dann zur lighttpd group hinzugefügt.

meinewebsite: lighttpd

Wenn ich jetzt andere vhosts erstelle, werde ich neue Benutzer erstellen. Wenn diese Gruppe jedoch dieselbe Gruppe hat, kann jede Domäne die Dateien in den anderen vhosts anzeigen. Was kann ich also tun, um dies zu blockieren?

Denn wenn ich die Erlaubnis für jeden vhost ändere, damit nur der Eigentümer (600) die Dateien sehen kann ... Ich glaube, ich habe ein Problem mit lighttpd (die Seite kann nicht gelesen werden).

Wenn ich 640 verwende, können auch die anderen vshots-Besitzer alle Dateien anzeigen, da sie dieselbe Gruppe haben.

Könnten Sie mir sagen, wie Sie am besten Berechtigungen festlegen können?

1

1 Antwort auf die Frage

0
Code Painters

Das scheint zu funktionieren:

  • Erstellen Sie separate Benutzer / Gruppen für jede Ihrer Websites, z. B. site1: site1
  • jede Site genau diesem Benutzer und dieser Gruppe zuordnen
  • Legen Sie die Verzeichnisberechtigungen auf rwxr-x --- und rw-r ----- für Dateien fest
  • Starten Sie lighttpd unter zB www-data: www-data Benutzer / Gruppe
  • Fügen Sie Ihre Websitegruppen als ergänzende Gruppen von WWW-Data-Benutzern hinzu

Der letzte Schritt ermöglicht dem www-data-Benutzer (und damit dem lighttpd-Prozess) den Zugriff auf Dateien, die zu Ihren Sites gehören. Auf der anderen Seite kann der Benutzer, zB site1, nicht auf andere Sites zugreifen - das wollen Sie, oder?

Beachten Sie, dass Benutzer weiterhin auf Dateien zugreifen können, die zu anderen Websites gehören, z. B. mit PHP-Skripts. Da lighttpd auf alle vhost-Dateien zugreifen kann, kann auch das von lighttpd erzeugte FastCGI-PHP-Skript verwendet werden.

OK, nur zwei Fragen: 1. Wie fügen Sie Ihre Websitegruppen als ergänzende Gruppen von WWW-Data-Benutzern hinzu? Könnten Sie mir ein Beispiel geben? ... Ich würde wissen, ob ich Sie verstanden habe. 2. Wie kann ich PHP-Skripts blockieren, um andere Vhosts-Dateien zu lesen? VIELEN DANK vor 13 Jahren 0
Sie können `adduser verwenden `den Benutzer zu einer Gruppe hinzufügen (oder mit anderen Worten, die Gruppe zur Liste der ergänzenden Gruppen des Benutzers hinzufügen). Alternativ können Sie die `/ etc / group /` -Datei manuell bearbeiten (siehe `man 5 group`), aber ich empfehle dringend,` adduser` zu verwenden. Das zweite Problem ist viel schwieriger - PHP-Interpreter wird mit den gleichen Berechtigungen ausgeführt wie der Webserver. vor 13 Jahren 0
(Der vorherige Kommentar wurde versehentlich abgeschnitten.) Das zweite Problem ist sehr viel schwieriger: Der PHP-Interpreter wird mit denselben Berechtigungen ausgeführt wie der Webserver, sodass er effektiv auf alle bereitgestellten Dateien zugreifen kann. Um dies zu überwinden, müssen Sie für jede der Sites einen separaten FastCGI-Prozess manuell verwalten, aber ich habe selbst ein solches Setup nicht mit lighttpd versucht. vor 13 Jahren 0