只有 root 才能解析 Debian 上的 DNS 主机名

只有 root 才能解析 Debian 上的 DNS 主机名

几天前,我在 ODROID U2 上设置了一个 Debian 7 映像,显然我只能从 root 登录 ( su, sudo) 解析 DNS 主机名。从普通用户那里,我可以/etc/hosts很好地 ping 定义的 IP 地址和名称。当我 ping 域名、wget 文件或克隆 git 存储库时,它会立即显示消息“未知主机”或“无法解析主机”。

/etc/nsswitch.conf只是 Debian 默认文件,正如标题所说,我可以从 root 帐户 ping/安装包/下载文件。

我该如何解决这个问题?

答案1

/etc/resolv.conf我会首先检查和 的权限/etc/nsswitch.conf。这两个文件都应该具有全部的读取权限。测试您是否可以使用cat或读取这些文件less。如果不能,则解析器不太可能可以读取。

您可以使用命令 单独运行解析器getent hosts google.comgoogle.com用您想要查找的任何域替换。

答案2

对于 Android 系统,还有另一种情况也会导致此问题:内核中启用了 CONFIG_ANDROID_PARANOID_NETWORK。参考这个话题

相关内容