有一个用户特定的等同于/ etc / hosts吗?

有什么办法来定义用户特定的主机 – 就像在/ etc / hosts? 也许像〜/ .hosts?

对于任何基于SSH(包括通过SSH的rsync),你可以添加条目到你的〜/ .ssh / config文件

例如

Host myhost Hostname myhost.example.com 

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

具体的应用程序可能有你可以使用的东西,比如Nickbuild议的,但是没有用户homedir与/ etc / hosts文件相同。

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

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

这意味着主机名将首先针对文件数据库(/ etc / hosts)进行parsing,然后根据/etc/resolv.conf中指定的dns详细信息

我想知道同样的事情,一个同事发现这个解决scheme: http : //blog.tremily.us/posts/HOSTALIASES/

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