通过NFSv4共享文件夹共享用户组

我想通过NFSv4共享一个文件夹,可供某些用户使用,而且我有权限问题。

我使用setGID设置文件夹权限,以便使用文件夹组所有者创build新文件。 但是用户可以自由地创build没有权限的文件(事实上,默认用户UMASK是700,所以这一直发生)。

我最终试图使用ACL来应用此解决scheme来强制执行目录umask 。 我做了,但没有按预期工作。 我在NFS维基上读到,定期的ACL不能在NFSv4上运行,而且我需要使用nfs4特定的ACL工具。

但我有一些麻烦。 我尝试在服务器上安装nfs4-acl-tools,我得到这个:

# nfs4_getfacl /export/proyectos/ Operation to request attribute not supported. 

是的,该分区是安装ACL支持。

 /dev/mapper/mpath4-part1 /export/proyectos ocfs2 rw,relatime,_netdev,heartbeat=local,nointr,data=ordered,errors=remount-ro,usrquota,coherency=full,user_xattr,acl 0 0 

常规的ACL正在工作:

 # getfacl /export/proyectos/ getfacl: Eliminando «/» inicial en nombres de ruta absolutos # file: export/proyectos/ # owner: root # group: root # flags: --t user::rwx group::rwx other::rwx default:user::rwx default:group::rwx default:other::rwx 

我按照邮件列表上的build议对nfs4_getfacl进行了调整,得到了这个结果:

 # strace nfs4_getfacl /export/proyectos <stripped> getxattr("/export/proyectos", "system.nfs4_acl", 0x0, 0) = -1 EOPNOTSUPP (Operation not supported) <stripped> 

nfs4_getfacl是否要求正确的标志? 我认为nfs4_acls根本不是由任何文件系统实现的,目前nfs4依赖于某种nfs4acl-posixacl映射。 但我不确定了。

您必须在NFS服务器上使用getfacl (因为您查询本地文件系统),并且在NFS客户端上时使用nfs4_getfacl

NFSv4 ACL和Linux ACL acl(5)是完全不同的标准! Linux NFS服务器将来回转换ACL。

阅读文章没有acl在linux上的NFS挂载? 。