sudo需要很长时间

在Ubuntu 9 64位Linux机器上,sudo需要较长时间才能启动。 “sudo回声嗨”需要2-3分钟。 sudo命令告诉poll(“/ etc / pam.d / system-auth”,POLLIN)在5秒后超时,并且有多个调用(可能是循环)到相同的系统调用(这导致2-3分钟延迟)。

任何想法为什么sudo必须等待/etc/pam.d/system-auth? 任何可以使sudo超时更快?

谢谢塞缪尔

sudo速度慢的最大原因是系统无法parsing自己的主机名。 /etc/hosts是否包含本地主机名? 如果不是,我会build议添加IP 127.0.1.1 ,这是我所有的系统上做的。 我添加短主机名和完全限定域名(FQDN)的条目。 然后,这消除了sudo访问调用中延迟10次中的9次。

我不禁想到民意调查可能是一个红鲱鱼。

每当我看到sudo速度exception缓慢的时候,一直都是DNS问题。 无论是旧的,在/etc/resolv.conf中列出的死亡服务器,还是一个阻塞53端口的错误configuration的防火墙,或者完全是其他的东西,我总是发现,当sudo echo foo速度很慢时, dig google.com的速度很慢。

即使不是DNS,我怀疑缓慢是与networking相关的,可能与authentication有关(正如Kevin M所build议的),在这种情况下,poll()调用毕竟可能不是红鲱鱼。

尝试运行一个tcpdump,而试图运行sudo,看看出现了什么。

在我的情况下,重新启动systemd-logind解决(暂时)的问题。

 sudo systemctl restart systemd-logind