我想通过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挂载? 。