我已经在 Ubuntu 服务器 14.04 上导出了 2 个文件系统,并从另一台 Ubuntu 服务器 14.04 上挂载了它们。
在服务器上的 /etc/exports 文件中,我停用了其中一个挂载点的 no_root_squash 选项。我在该挂载点创建了一个测试文件,它显示该文件的所有者是 root,但应该是组“anybody”和用户“nobody”。我想知道为什么会发生这种情况。这是我正在使用的 /etc/exports 代码的副本。
/home 192.168.0.101(rw,sync,no_root_squash,no_subtree_check)
/var/nfs 192.168.0.101(rw,sync,no_subtree_check)
答案1
如果你的意思是:我已经从 NFS 客户端挂载了 NFS 导出的目录并在该客户端上创建了一个文件,那么我会说这正在按预期工作。
您挂载了一个已启用 no_root_squash 选项的导出 FS,并且客户端上创建的文件归“root”所有。这实际上是 no_root_squash 选项的作用。
root_squash
Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids or gids that might be equally sensitive, such as user bin or group staff.
no_root_squash
Turn off root squashing. This option is mainly useful for diskless clients.
我想说,如果您想要将根映射到无人,那么您需要删除 no_root_squash。