Das Festlegen von Berechtigungen für / var / www funktioniert für Unterverzeichnisse und Dateien nicht ordnungsgemäß

1

Ich habe diese Anweisungen (in der akzeptierten Antwort) befolgt , um Berechtigungen für meinen Ordner / var / www / einzurichten.

Ich benutze die WWW-Datengruppe, wie es heißt, zu verwenden. jdownes und testuer1 sind beide Mitglieder der Gruppe.

Wenn jdownes (oder ein anderes www-data-Mitglied) eine Datei in / var / www erstellt, können sie diese problemlos bearbeiten. Wenn ein anderer Benutzer (testuser1) in der Gruppe www-data bearbeitet und speichert, kann er speichern, erhält jedoch den folgenden Fehler.

Bildbeschreibung hier eingeben

Hier sind die Berechtigungen für / var / www und die Berechtigungen für die Datei ...

Bildbeschreibung hier eingeben

Ich habe Root-Zugriff auf den Server und habe alle Berechtigungen mit Putty nicht Winscp festgelegt. Ist das Problem, dass der Besitzer keine WWW-Daten für neue Dateien hat? Wenn ja, wie kann ich alle neuen Dateien zwingen, WWW-Daten als Eigentümer zu verwenden?

flip66
quelle
Die Bilder scheinen von einem Windows-PC zu stammen? Ist das korrekt? Wenn ja, sind Ihre Tags und die Frage irreführend.
Julian Knight
Wie sind meine Bilder und Tags irreführend? Ich verwende Putty / WINSCP, um auf einen Ubuntu-Webserver zuzugreifen (als solcher habe ich ihn als Linux markiert). Außerdem ist der Ordner / var / www ein Linux-Verzeichnis, das Sie in Windows normalerweise nicht sehen würden.
Flip66

Antworten:

0

Folgendes müssen Sie tun: Angenommen, www-datader Benutzer und die Gruppe, auf denen Apache ausgeführt wird, /var/wwwsind Sie und die Gruppe sind www-data:

chmod 755 /var/www
chmod g+s /var/www

Die chmod g+s(set groupid) stellt sicher, dass neue Dateien dieselbe Gruppe haben wie der /var/wwwOrdner ( www-data). chmod 755 /var/wwwstellt sicher, dass Apache (über die WWW-Datengruppe) den Ordner lesen kann und der Benutzer Lese- / Schreibzugriff hat. Sie müssen über ausreichende Rechte verfügen, um dies zu tun.

Stellen Sie in WinSCP die Gruppe mindestens RX und den Benutzer RWX ein und legen Sie die GID für den Ordner fest /var/www.

Der Grund, warum Apache fehlschlägt, ist das fehlende X-Bit für den Benutzer und die Gruppe für diesen Ordner (0664, sollte 0755 sein). Es kann den Ordner nicht lesen (= ausführen).

Für Dateien ist 644 ausreichend: Sie müssen die GID nicht einstellen.

Bjkamp
quelle
Jetzt kann testuser1 keine Dateien unter / var / www erstellen ... wie Sie hier sehen können
flip66
Sollte es das Folgende sein? "chmod 775 / var / www"
flip66