Ich habe zwei Linux-Server:
Dateiserver
Debian 5.0.3 (2.6.26-2-686)
Samba Version 3.4.2
Apache
Ubuntu 10.04 LTS (2.6.32-23-generic)
Apache 2.2.14
Ich habe eine Reihe von Samba-Freigaben auf dem Dateiserver, damit ich von Windows-PCs aus auf Dateien zugreifen kann. Ich exportiere auch /data/www-data
auf den Apache- Server, auf dem ich es gemountet habe /var/www
.
Das Setup ist in Ordnung, außer wenn ich Dateien auf dem NFS-Mount erstellen möchte. Am Ende habe ich Dateien, die von Apache nicht gelesen oder von anderen Benutzern auf meinem System nicht geändert werden können.
Mit Samba kann ich angeben force user
, force group
, create mask
und directory mask
, und dies stellt sicher , dass alle Dateien mit geeigneten Berechtigungen für meine Apache-Webserver erstellt werden. Ich kann mit NFS keinen Weg finden, dies zu tun. Gibt es eine Möglichkeit, Berechtigungen und Eigentumsrechte mit NFS zu erzwingen - fehlt mir etwas Offensichtliches?
Obwohl ich ziemlich viel Zeit mit Linux verbracht habe und mich von Windows entwöhne, muss ich mich immer noch nicht mit Linux-Berechtigungen auseinandersetzen ... Wenn dies nicht der richtige Weg ist, bin ich offen für alternative Vorschläge.
quelle
www-data
Gruppe auf dem Dateiserver erstellt, die erforderlichen Benutzer zugewiesen und dannwww-data
auf beiden Servern dieselbe Gruppen-ID festgelegt. Ich habe auch die Gruppenbits auf dem/data/www-data
Ordner mit gesetztchmod -R g+s /var/www-data
. Es funktioniert jetzt perfekt. Danke für Ihre Hilfe.Sie können auch die
all_squash
Option verwenden, mit der alle exportierten Dateien und Ordner anonymisiert werden (Benutzer und Gruppe) und an eine bestimmte GID und UID angehängt werden.Das Problem dabei ist, dass alle Benutzer auf dem
apache
Server Ihren Mount-Punktnobody nobody
als Benutzer & Gruppe sehen und in den Mount schreiben können (aber auf dem Samba-Server werden die Dateien trotzdem als<your UID>
/ erstellt<your GID>
).quelle