在showmount -e 显示的导出列表中,任何带有@ 的名称都是网络组,而不是单个主机。
网络组是主机列表。它们通常在 NFS 服务器上的 /etc/netgroup 中定义(但也可能在 NIS、LDAP 等中,具体取决于 /etc/nsswitch.conf 的配置方式)。
与单独导出到每个主机相比,使用网络组定义导出可以节省大量输入。 (我发现它减少了打错字的机会。或者如果我在我的一个出口中打错字,我会发现它更快,因为它会影响网络组中的所有机器,而不仅仅是一台机器。)
示例
在我的 NFS 服务器上,我可以在 /net/netgroup 中定义以下网络组:
nuts (walnut,,) (almond,,) (pistachio,,) (hazelnut,,)
flowers (rose,,) (tulip,,) (iris,,)
网络组中的每个条目都定义为 (hostname, user, NIS domain) 的元组,但 NFS 只关心主机名,因此只需将其他部分留空。 NIS 域与 DNS 域不同。如果您需要指定完整的 DNS 名称,例如 foo.example.com,请将其全部放在主机部分:(foo.example.com,,)
然后我的exports 文件可能如下所示:
/vol/home @nuts(rw) @flowers(rw)
/vol/web @nuts(rw)
/vol/dns @nuts(ro) almond(rw)
现在flowers 网络组中的主机可以以读写方式挂载home,但无法访问web 或dns。主机almond 对所有内容具有读写权限,但nuts 网络组中的其余机器仅对dns 具有只读权限。
如果我要运行 showmount -e,它看起来像这样:
% showmount -e
Export list for example.com:
/vol/home @nuts,@flowers
/vol/web @nuts
/vol/dns @nuts,almond