/etc/hosts 文件被忽略

Rdb*_*ost 7 localhost

显然,我的主机文件被忽略了。

它包含了:

127.0.0.1 localhost.localdomain 本地主机
127.0.0.1 mydomain.com
127.0.0.1 无处

如果我 ping localhost 或“无处”,我会收到“未知主机”错误。如果我 ping mydomain.com,ping 会成功,但它会报告 mydomain.com 的 Internet ip 地址(来自外部名称服务器)。

服务器正在运行 ubuntu hardy。有没有办法禁用(并重新启用)/etc/hosts 文件?

Rdb*_*ost 11

我发现了问题。

/etc/hosts 文件具有过于严格的权限 -rw------(我认为是 600 八进制)。将其更改为模式 644 解决了该问题。

我的 ping 测试是用普通的 priv 完成的,主机文件不可读。我最初的问题是让 postgresql 正确启动;它以 root 特权开始,但显然在为 autovacuum 等启动其子进程之前放弃了 priv,因此当它需要解析域时,它无法读取主机文件。

感谢所有回复的人。它已经很有启发性。

  • 这救了我的命。对我来说,postgres 服务正在使用 DNS 解析“localhost”,但得到了错误的答案。没有任何地方报告任何有关“/etc/hosts”权限的信息。将权限更改为“chmod 644 /etc/hosts”,奇迹发生了! (2认同)

Jam*_*mes 8

检查 /etc/nsswitch.conf

你应该有这样一行:

hosts: files dns

如果缺少“文件”部分,则不会检查 /etc/hosts。