[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

NFS4 und ACLs



Hallo allerseits,

ich habe folgendes Problem:
Ich betreibe einen PC mit einer Debian Distribution (stable), der als Fileserver (unter anderm) im LAN dient.
Das LAN ist heterogen, daher wird sowohl NFS als auch Samba genutzt.

Zusätzlich will ich in nächster Zeit Kerberos installieren und aufsetzen, damit einige andere Probleme vermieden werden.
(Es geht um einen "Bug" im NFS idmapper.)

Im Netz (alles synchron mit NIS) gibt es eine Benutzer-Gruppe file_storage, die grundsätzlich schreibend auf die Daten auf dem Server zugreifen können sollen.

Auf dem Server ist ein Linux Dateisystem verwendet (ext4 bzw xfs), so dass die Rechte und Benutzer korrekt gespeichert werden. Wenn also ein Samba-User eine Datei anlegt, wird diese unter seinem Namen angelegt. Mittels der Konfiguration von Samba ist es auch leicht möglich, die umask und dmask so einzustellen, dass andere User der file_storage Gruppe in erstellten Verzeichnissen schreiben können.

Problematisch sind die Linux-Rechner:
Diese verwenden NFSv4, um die Daten einzubinden. Da bei NFS die Benutzerrechte korrekt gemappt werden, legt der Linux-User neue Verzeichnisse mit seiner persönlichen umask an. Das Ergebnis ist, dass andere User der file_storage Gruppe nicht mehr schreibend zugreifen können, wenn der User nicht
a) seine umask Einstellung auf 775 bzw 664 ändert,
b) die Dateien manuell mit `chmod` nachbehandelt oder
c) mit ACLs einen Default-Wert für die Rechte von neuen Verzeichnissen festlegt.

Zu a) Dies ist meist nicht gewünscht, weil dann alle Dateien und Verzeichnisse (auch lokale) von der Änderung betroffen sind.
Dies ist meist nicht gewünscht.

Zu b) Ist halt mal schnell vergessen. Natürlich könnte man einen Cronjob schrieben, der die Rechte alle 5 min wieder glatt bügelt. Dabei ist aber das Problem, dass man evtl für einzelne Verzeichnisse/Dateien eben doch mal eine andere Rechtevergabe haben möchte.
Diese würden dann vom Cronjob gelöscht/überschrieben.

Zu c) So habe ich das derzeit auch implementiert.
Das funktioniert super, wenn ich mich direkt auf dem Rechner einlogge und dort Dateien/Verzeichnisse erstelle.
Die ACLs werden korrekt eingestellt und auf Kindverzeichnisse vererbt.
Leider kann der NFS Server mit den POSIX ACLs nicht wirklich viel anfangen.
Er scheint (in gewissem Maße) die Rechte anzuerkennen, aber neue Dateien werden nicht mit den korrekten Rechten versehen. [1]
Hier gilt dann wie bei b: Manuell ist es halt schnell mal vergessen.

Jetzt zu meinen Fragen:

Seht ihr noch eine Option d)?
Gibt es sonst noch etwas zu beachten, wie ich das lösen könnte?

Vielen Dank schon mal
Christian

[1] Wenn ich ein Verzeichnis anlege, stimmen zwar die Default ACLs, aber sowohl bei Verzeichnissen wie bei Dateien werden diese nicht korrekt angewandt.
Somit kann ein anderer Benutzer nicht mehr schreiben.


Reply to: