Sudo挂起而未提示输入密码


9

我刚刚完成了Ubuntu的全新安装,现在当我尝试在终端仿真器中使用sudo时,它只是挂在那里,甚至没有要求我输入密码。如果我切换到终端(Ctrl + Alt + F1)并登录,则sudo会按预期工作。有人可以帮我解决这个问题吗?


只是想一想,您是否更改了终端的字符编码(打开终端,菜单终端->设置字符编码)
hytromo

不,我没有,但是我很好奇为什么这会改变任何事情。
劳伦斯

实际上,如果您更改此类内容,可能会成为许多问题的根源。但这只是一个猜测。
hytromo

我有同样的问题。从内核4.9更改为4.4可以为我解决。
汤姆·黑尔

Answers:


18

您最近更改了主机名吗?我注意到更改主机名后,sudo可能会挂起一会。但是,如果您更新主机文件以反映主机名更改,则挂起将消失。

您可以使用以下简单的单行代码执行此操作:

hostname | (echo -n "127.0.0.1        " && cat) | sudo tee -a /etc/hosts

1
它不会“挂起”,而是无限期地挂起。另外,它可以在终端上运行,而不能在终端仿真器上运行。
劳伦斯

1
给这个男人一个饼干!感谢Device Name在Ubuntu的系统详细信息实用程序中更改时,您有效地破坏了sudo。伟大的工作@Canonical。
Flatron '17

1
要解决此问题,请确保/etc/hosts还更改为您的新主机名;)
Flatron

大!我实际上没有注意到它在〜30秒后超时,然后继续要求输入sudo密码。另一点:当您要更改主机名(也许是克隆了VM)时,在更改条目之前,可能会断开与任何网络的连接以避免冲突。那也正是造成超时的原因
Hulvej

4

如果要检查它的挂起位置,建议执行以下命令:

 strace sudo 

然后查看可能挂起的系统调用。这可能为您了解系统上正在发生的事情提供了很好的线索。

根据您所见,我的猜测是主机名解析在您的系统上存在问题。检出/etc/nsswitch.conf和/etc/resolv.conf文件,以确保它们配置正确。

我假设您已经检查了Internet连接。


2
为什么sudo需要互联网连接?
grofte

有关FQDN信息...,因为您可以将主机限制放在sudoers文件中。
mdpc

我不明白。我只知道重置wifi适配器很棘手。笔记本电脑进入睡眠状态后,有时有时需要这样做。
grofte


0

我也有Ubuntu 16.04这个问题。我使用“ top”命令发现两个进程“ vnstat”和“ NetworkManager”正在消耗100%的CPU。因此,我重新启动系统,进入恢复模式并删除了软件包“ vnstat”。重新启动系统后,现在系统可以正常工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.