在 Linux 中的 nfs 挂载上没有 acl?

Mar*_*rty 2 linux nfs access-control-list

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

这是我在 server1 上的导出:

/myexport    server2.example.com(rw,async,no_root_squash)
Run Code Online (Sandbox Code Playgroud)

这是我在 server2 上的 fstab:

server1.example.com:/myexport  /mnt  nfs4  noatime,async,lock 0 0
Run Code Online (Sandbox Code Playgroud)

我尝试将 acl 添加到我的 fstab 挂载选项中,但没有成功。有谁知道为什么我在客户端上看不到 ACL?

Fra*_*iat 5

ACL 在 NFS 上使用并处于活动状态。使用以下命令nfs4_getfacl在 NFSv4 挂载上显示 ACL:

$ nfs4_getfacl /tmp/test

A::OWNER@:rwatTnNcCy
A::alice@nfsdomain.org:rxtncy
A::bob@nfsdomain.org:rwadtTnNcCy
A:g:GROUP@:rtncy
D:g:GROUP@:waxTC
A::EVERYONE@:rtncy
D::EVERYONE@:waxTC
Run Code Online (Sandbox Code Playgroud)

ACL 与 Linux ACL 相比看起来如此不同的原因是什么?因为NFSv4 ACLLinux ACL acl(5) 是完全不同的标准!Linux NFS 服务器将来回转换 ACL。

非常不幸的是,linuxls没有+在客户端上显示带有 NFSv ACL 的文件。这是一种误导。

  • 仅供参考:在 ubuntu 上,可能需要安装“nfs4-acl-tools”包才能查看“nfs4_getfacl”和“nfs4_setfacl”命令。 (2认同)
  • @MikeRobinson,FWIW 该页面已移至 [这个地方](http://www.eecs.utk.edu/resources/it/eecs-it-knowledge-base/nfsv4-acls/)。谢谢你的链接。 (2认同)