在Linux上的nfs挂载没有acl?

我有几台RHEL6机器。 一个是导出一个nfs挂载到其余的。 我在服务器上设置了ACL(使用setfacl -m设置),但没有一个客户setfacl -m在查看它们中的任何一个。

这是我在server1上的导出:

 /myexport server2.example.com(rw,async,no_root_squash) 

这是我在server2上的fstab:

 server1.example.com:/myexport /mnt nfs4 noatime,async,lock 0 0 

我已经尝试添加acl到我的fstab安装选项没有运气。 任何人都知道为什么我不能在客户端看到ACL?

ACL通过NFS使用并激活。 使用命令nfs4_getfacl在NFSv4装载上显示ACL:

 $ nfs4_getfacl /tmp/test A::OWNER@:rwatTnNcCy A::[email protected]:rxtncy A::[email protected]:rwadtTnNcCy A:g:GROUP@:rtncy D:g:GROUP@:waxTC A::EVERYONE@:rtncy D::EVERYONE@:waxTC 

与Linux ACL相比,ACL看起来如此不同? 由于NFSv4 ACL和Linux ACL acl(5)是完全不同的标准! Linux NFS服务器将来回转换ACL。

非常不幸的是,linux ls在客户端上不显示带有NFSv ACL的文件。这是误导。

要通过NFS使用POSIX ACL,您必须使用NFSv3。

NFSv4 ACL与POSIX ACL不同。 第一个是使用非常特定的nfs4_getacl和nfs4_setacl设置的,而后者是使用标准的getfacl / setfacl二进制文件configuration的。 简而言之,NFSv4 ACL与POSIX ACL无关(顺便提一句,NFSv4 acls更接近于Windows环境中使用的CIFS ACL)。

我想请“重新接触”这个问题,因为我坦率地说还是完全不了解它,特别是关于NFSv4

我已经阅读了各种文章,暗示POSIX ACL将在V4连接上得到支持……即使有一个“更新,更好”的 V4,也会有一些“后向兼容层”可以识别POSIX ACL 现在存在特定的技术。

那么,请告诉我:如果我使用setfacl命令在共享文件夹的某个目录上设置POSIX ACL,在NFSv4环境中,该ACL是否被识别?

然后,如果我使用nfs4_...命令设置特定于NFSv4的ACL,会发生什么情况?

(而且,整个事情与(Linux)'ext4?'正常工作吗?)