NFS 服务器默认不允许 root 访问文件 - root 通常映射到“nobody”。
见“根南瓜”:
root squash[2][3] 是在使用身份验证时减少远程超级用户 (root) 的访问权限(本地用户与远程用户相同)。它主要是 NFS 的一项功能,但也可能在其他系统上可用。
当多个用户共享远程文件系统时会出现此问题。这些用户属于一个或多个组。在 Unix 中,每个文件和文件夹通常对所有者(通常是文件的创建者)、所有者所属的组和“世界”(所有其他用户)具有单独的权限(读、写、执行) . 这允许仅对授权用户进行读写访问限制,而 NFS 服务器通常也必须受到防火墙的保护。
超级用户拥有比普通用户更多的权限,能够更改文件所有权、设置任意权限以及访问所有受保护的内容。即使确实需要对单个工作站具有 root 访问权限的用户也可能无权在共享文件系统上执行类似操作。root squash 减少了远程 root 的权限,使一个不再是超级用户。在类 UNIX 系统上,可以在服务器端的 /etc/exports 文件中打开和关闭 root squash 选项。
实施 root squash 后,授权的超级用户在直接登录 NFS 服务器后执行受限操作,而不仅仅是挂载导出的 NFS 文件夹。
通常,除非您真的知道自己在做什么,否则您不希望禁用 root squash,因为如果这样做会造成严重的安全问题。因为你甚至不知道它的存在......
(并且提到的/etc/exports
是一个非常有限的陈述,在许多系统上都是错误的——比如 Solaris。)