我正在配置nfs共享,我的/etc/exports看起来如下所示:
/nfs_anon 192.168.122.0/24(rw,all_squash,anonuid=1111,anongid=1111)是否有一种方法可以强迫客户端使用来自服务器的默认umask,而无需在每个客户端上设置uid 1111的用户?
其目标是让客户端在默认情况下创建具有特定权限集的文件,独立于客户端umask值。
发布于 2021-04-22 13:06:41
首先,您是使用NFS版本3还是4?如果版本3,服务器和客户端都会支持NFSACL扩展吗?
如果您使用的是NFSv3 + NFSACL或NFSv4,并且NFS服务器上的实际文件系统支持ACL,那么应该可以在NFS服务器上执行类似的操作(根据需要调整权限):
setfacl -m d:u::rwx,d:g::rwx,d:o::rwx /nfs_anon如果共享中已经有子目录,那么您可能希望将默认的ACL应用于共享的顶部目录和所有现有子目录:
find /nfs_anon -type d -exec setfacl -m d:u::rwx,d:g::rwx,d:o::rwx {} \+在将默认掩码ACL应用到共享的顶部目录之后,在该目录中创建的任何新子目录都应该自动获得相同的默认掩码ACL。
其次,请注意,即使使用ACL,这也只是应用了一个新的默认掩码。生成的权限仍然将基于创建文件请求的程序(通常是普通文件的权限0666,可执行文件/目录的权限0777 )。
据我所知,如果程序最初没有请求x权限位,即使是ACL也无法设置它们--它只能从程序的原始请求中减去(掩码)位。
https://unix.stackexchange.com/questions/646224
复制相似问题