每次我使用 sudo 时,它都会在完成之前挂起

每次我使用 sudo 时,它都会在完成之前挂起

无论我是否被提示输入密码,它都会在接受身份验证和执行我要求的操作之间挂起。换句话说,sudo ls它将挂起大约 60 秒。

我不知道是什么原因造成的。这是在 Centos 5 上,我查看过selinux并将其设置为禁用和启用,但似乎没有任何效果。

答案1

来自@TheAndruu 的回答 这个问题:

如果您在安装过程中更改主机名,则会发生这种情况。要解决此问题,请编辑文件 /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 [在此处添加您的信息]
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 [在此处添加您的信息]

我在 Fedora 11 上遇到了完全相同的问题,并且它解决了。

答案2

对我来说,这是因为安装了 krb5-user/config。我通过检查 /var/log/auth.log 并看到 pam_krb5 尝试先于 pam_unix 注意到了这一点。使用 apt-get remove 卸载这些软件包解决了这个问题。如果您的计算机需要 kerberos (pam_krb5),则不要删除这些软件包。我的 sudo 挂起时间从一致的 30 秒缩短到了 0 秒。

答案3

这在 [Halsafar][1] 的 [answer][2] 中有所暗示,我在我的工作 VPN 上启用了 Kerberos,但是当我关闭它时它就没用了,因此我将 auth 模块顺序更改为在之前/etc/pam.d/common-auth使用:pam_unixpam_krb5

前:

auth [success=4 default=ignore] pam_krb5.so ...
auth [success=3 default=ignore] pam_unix.so ...

后:

auth [success=4 default=ignore] pam_unix.so ...
auth [success=3 default=ignore] pam_krb5.so ...

请注意,我们更改了success=编号以反映新的顺序。

这就将我的 sudo 从 30 秒改为 0 秒,就像 Halsafar 的回答中那样。[1]:https://serverfault.com/users/127821/halsafar [2]:https://serverfault.com/a/495196

答案4

您可能还想检查的唯一一件事是您的 /etc/resolv.conf 文件,以确保其中有正确的 dns 条目。我过去曾见过这种情况会导致延迟。

相关内容