是否有特定于/ etc / hosts的用户?


18

有什么方法可以定义用户特定的主机-例如在/ etc / hosts中?也许像〜/ .hosts之类的东西?


2
你能说出你实际上想做什么吗?

Answers:


24

对于任何基于ssh的东西(包括ssh上的rsync),您都可以将条目添加到〜/ .ssh / config文件中

例如

Host myhost
    Hostname myhost.example.com

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


添加一个“用户”选项,这对于异构系统来说是一个不错的选择。
hayalci

1
我对带有HOSTFILE环境变量的主机名使用通配符和bash完成这种方法。最后,我很好地完成了“备用”主机名的制表符补全。
ericslaw

5

特定的应用程序可能有您可以使用的东西,如Nick所建议的,但是/ etc / hosts文件没有用户homedir等效的东西。

当应用程序尝试解析主机名时,它将由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)。


1
链接
断开

目前,链接有效(再次)。
vog

0

另一个解决方案可能是针对不同用户的不同“ chroot”环境。对于同一用户,即使是不同的根监狱,也要取决于某些条件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.