Wie kann verhindert werden, dass eine ACL von NFS eingebunden wird?

Wie kann verhindert werden, dass eine ACL von NFS eingebunden wird?

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_ACLOption kompilieren.

verwandte Informationen