如何在 Linux 上的 NFSv4 挂载上使用 POSIX ACL?

如何在 Linux 上的 NFSv4 挂载上使用 POSIX ACL?

我最近将 Linux 文件服务器从仅提供 NFS v3 转换为同时提供 NFS v4。我们所有的客户端都很高兴地开始自动使用 NFS v4。不幸的是,这实际上破坏了使用它们的少数用户的 ACL 管理,因为他们习惯的 POSIX 工具不再起作用。(更糟糕的是,ls不再指示具有 ACL 的文件,因此它们比以前更隐蔽。)

我受到了用户的反对,他们不想学习新的工具,只是因为我们的存储系统更换了软件(再加上文件服务器实际上将 ACL 作为 POSIX ACL 存储在磁盘上,因此过渡到 NFSv4 ACL 感觉有点愚蠢,因为每个系统都运行某种 Linux 变体)。

对于不想学习 NFSv4 ACL 的用户,我只能强制客户端使用 NFS v3,但是有没有办法运行 NFS v4 客户端,但让 POSIX ACL 程序正常工作?最好不要偏离发行版的标准存储库太远。

客户端运行的是 Fedora。(目前使用的是 Fedora 23,但升级频率很高,因为 Fedora 每六个月左右就会发布一次新版本。)服务器运行的是 Scientific Linux 7 和 Linux 上的 ZFS。

答案1

有一些 libacl 补丁可以在 nfs4 和 Posix ACL 之间进行某种映射。它们似乎无人维护。我从未尝试过。

http://www.citi.umich.edu/projects/nfsv4/linux/acl-patches/

http://www.citi.umich.edu/projects/nfsv4/linux/using-acls.html

https://datatracker.ietf.org/doc/html/draft-ietf-nfsv4-acl-mapping-05

相关内容