首页 > 解决方案 > 关于 `showmount -e` 需要的解释 - “@”是什么意思?

问题描述

如标题所述:@...下面输出中的 是什么意思?我不认为它们是主机名,因为我认为@-sign 是为邮件保留的。通常有一个 IP 子网或只是一个 IP 地址 - 但这里没有任何情况。我也知道我可以把主机名放在那里,但我不认为我可以把它@...放到主机文件中来限制对某些 IP 的访问...... Sooo,这是什么?

glaforge@enterprise: showmount -e [REMOVED]
Export list for [REMOVED]:
[REMOVED]   *
[REMOVED]   @somenamea,@somenameb

标签: linuxnetworkingnfs

解决方案


showmount -e任何名称显示的导出列表中,@都是网络组,而不是单个主机。

网络组是主机列表。它们通常在/etc/netgroupNFS 服务器上定义(但也可能在 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读写但不能访问webdns. 主机almond对所有内容都具有读写访问权限,但网络组中的其余机器nuts仅对dns.

如果我要运行showmount -e,它看起来像这样:

% showmount -e
Export list for example.com:
/vol/home @nuts,@flowers
/vol/web  @nuts
/vol/dns  @nuts,almond

推荐阅读