实际的nfs权限=nfs设置的权限+文件夹的权限
r权限 | w权限 | 实际的nfs权限 | |
nfs设置的权限 | 有r | 有w | rw |
文件夹的权限 | 有r | 有w | |
nfs设置的权限 | 没有r | 有w | w(仅有w不能进行写操作,rw在一起时才能写入) |
文件夹的权限 | 有r | 有w | |
nfs设置的权限 | 有r | 没w | r(只读) |
文件夹的权限 | 有r | 有w |
综上,可以看到只有nfs设置的权限和文件夹的权限都存在的时候,实际的nfs权限才能拥有该权限。而仅有w权限,其实等于还是没有w权限,w能使用的前提是要有r权限(能读才能改);如果仅有r权限,那么就是只读
而文件夹权限又分属主、属组和其他人
all_squash | 所有用户映射为nfsnobody |
root_squash(默认) | 客户机root映射的是nfsnobody,除root以外映射的是other |
no_root_squash | 客户机root映射的是nfs服务器的root,除root以外映射的是other |
nfsnobody 是由NFS服务在系统中自动创建的一个程序用户账号,该账号不能用于登录系统,专门用于NFS服务的匿名用户账户
all_squash 用于防止用户身份重叠。如果客户机的某个用户A的pid和nfs服务器上的用户B的uid一样,那么该用户A就拥有了用户B的权限(假设用户B对nfs文件夹有所有权限,那么即便nfs设置的权限限制用户A, 用户A和用户B一样拥有所有权限)。在用户A的服务器上新文件的属主是用户A,而在nfs服务器上新文件的属主是用户B。
而all_squash可以让所有客户机用户都映射到nfsnobody,这样就是防止了用户身份重叠
以上总结皆出自NFS服务的用户身份映射
文章写得很好,请务必看一看