Ich versuche, ein NFS-Volume ohne jegliche ACL (POSIX oder NFS) zu exportieren/mounten, aber das schlägt fehl.
Technischer Kontext: letztes aktuelles Debian auf beiden Seiten, Ext4-Volume.
Ziel: Ich erzwinge strikten Zugriff mit POSIX-ACLs auf dem Server, und Benutzer können (werden) mit NFS auf das Volume auf einem anderen Rechner zugreifen. Aber jeder Benutzer, der ein Verzeichnis/eine Datei besitzt, kann die ACLs ändern, was hier nicht gut ist. Ich möchte also verhindern, dass Benutzer ACLs ändern, und das einfache Entfernen von get/setfacl-Befehlen ist kein guter Weg. Das Entfernen der ACL-Unterstützung auf dem serverseitigen Volume ist nicht gut …
Also meine Frage:ist es möglich, ACLs von einer NFS-Einbindung aus zu verhindern, ohne ACLs auf dem serverseitigen Volume zu entfernen? Wenn ja, wie kann dies durchgeführt werden?
Ich habe die Verwendung von no_acl / noacl ohne Erfolg getestet: Meine Exporte werden in der NFSv3-Version mit der Option „no_acl“ durchgeführt. In /etc/exports:
/exports ip-of-client-during-tests(rw,sync,no_acl,no_subtree_check,fsid=0)
/exports/data ip-of-client-during-tests(rw,sync,no_acl,no_subtree_check)
Alle Dienste neu geladen/neu gestartet. Dann mounte ich es auf dem Client mit der Option „noacl“ (was auch immer):
mount -t nfs -o noacl,vers=3 my-server:/exports/data/ /var/data/
was in /proc/mounts ergibt:
server-name:/exports/data/ /var/data nfs rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,noacl,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=server-ip,mountvers=3,mountport=53844,mountproto=udp,local_lock=none,addr=server-ip 0 0
Und ich kann auf dem Client ACLs mit get/setfacl für Verzeichnisse/Dateien, die mir gehören, abrufen/festlegen, und Änderungen sind im Dateisystem des Servers sichtbar. Ich habe auch versucht, NFSv4 zu verwenden, keine Änderung. Übrigens kann ich auf dem Server keine Option „no_acl“ in /proc/fs/nfs/exports sehen:
/exports/data client-ip(rw,root_squash,sync,wdelay,no_subtree_check,uuid=0bac8439:e7e2488e:817358d2:f2c94b85,sec=1)
auch wenn es mit exportfs -v sichtbar ist:
/exports/data client-ip(rw,wdelay,root_squash,no_subtree_check,no_acl,sec=sys,rw,root_squash,no_all_squash)
Antwort1
Sie können die serverseitige Unterstützung deaktivieren, indem Sie den Kernel ohne diese CONFIG_NFSD_V3_ACL
Option kompilieren.