是否有与 /etc/hosts 等效的特定用户?

是否有与 /etc/hosts 等效的特定用户?

有没有办法定义用户特定的主机 - 比如在 /etc/hosts 中?也许像 ~/.hosts 之类的?

答案1

对于任何基于 ssh 的内容(包括通过 ssh 进行 rsync),您都可以将条目添加到 ~/.ssh/config 文件

例如

Host myhost
    Hostname myhost.example.com

然后 ssh myhost 将连接您到 myhost.example.com

答案2

特定的应用程序可能有一些您可以使用的东西,就像 Nick 建议的那样,但没有与 /etc/hosts 文件等效的用户主目录。

当应用程序尝试解析主机名时,它会由 NSS 处理。您可以通过查看 /etc/nsswitch.conf 来检查 NSS 如何处理系统上的主机名

$ grep host /etc/nsswitch.conf 
hosts:          files dns

这意味着将首先根据文件数据库 (/etc/hosts) 解析主机名,如果解析失败,则根据 /etc/resolv.conf 中指定的 DNS 详细信息进行解析

答案3

我想知道同样的事情,一位同事找到了这个解决方案:http://blog.tremily.us/posts/HOSTALIASES/

它基本上涉及设置一个环境变量(HOSTALIASES),该变量指向用于主机别名的文件(例如,您可以使用~/.hosts)。

答案4

我发现https://github.com/bAndie91/libnss_homehosts引用自https://bbs.archlinux.org/viewtopic.php?id=266445

我们可以拥有 ~/.hosts 文件,其语法与 /etc/hosts 相同。

相关内容