为什么 sudo 需要环回接口?

为什么 sudo 需要环回接口?

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

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

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

答案1

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

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

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

相关内容