我有几台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?'正常工作吗?)