为什么 sudo 需要环回接口?

Sri*_*ram 9 sudo hostname

我们试图在 Ubuntu 机器上安装我们的软件。为此,我们需要root特权。基本上,所有我们需要做的是运行一个可运行的jar,如:sudo java -jar runnableJar.jar
所有这些命令都会返回:Unable to resolve host xxxxx.

/etc/hosts文件hostname针对导致此错误的环回接口列出了不正确的列表。所有不需要的命令都sudo运行良好。

我一直在阅读环回接口,我的理解是它设置了本地主机并且是一个虚拟网络接口。但是,为什么sudo需要它呢?

ste*_*eve 12

由于 sudoers 文件允许在规则中指定主机名,因此sudo需要知道您的 Ubuntu 机器的名称是什么。

因此,sudo收集 Ubuntu 机器上所有接口的列表(环回和“真实”)。请参阅sudo以下链接中 interfaces.c 源代码的相关部分。

http://www.sudo.ws/repos/sudo/file/d8150a3fd577/interfaces.c