关于 `showmount -e` 需要的解释 - “@”是啥意思?

Posted

技术标签:

【中文标题】关于 `showmount -e` 需要的解释 - “@”是啥意思?【英文标题】:Explanation regarding `showmount -e` needed - what does "@" mean?关于 `showmount -e` 需要的解释 - “@”是什么意思? 【发布时间】:2020-07-06 15:07:01 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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,但无法访问webdns。主机almond 对所有内容具有读写权限,但nuts 网络组中的其余机器仅对dns 具有只读权限。

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

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

【讨论】:

很抱歉拒绝您的编辑更正。我把那个搞砸了。你是对的!非常感谢你的解释!!!

以上是关于关于 `showmount -e` 需要的解释 - “@”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

如何列出远程导出的 NFSv4 卷?

我需要关于来自JS的幻灯片代码的解释[关闭]

需要关于Rust的细胞和参考计数类型的整体解释

关于MarshalByRefObject的解释

nfs

关于java的关键字“public",需要大家帮忙解释下(菜鸟问题)