Cug*_*uga 108 linux permissions sudo
在过去的几个月里,我一直在使用 Linux(Fedora 10,然后是 11)(并且非常享受它——就像重新发现计算机一样,有很多东西要学习)。
我已将我的用户添加到/etc/sudoers
文件的最后一行,如下所示,以便在执行sudo
命令时不会要求我输入密码:
MyUserName ALL=(ALL) NOPASSWD:ALL
Run Code Online (Sandbox Code Playgroud)
现在,每次我使用 执行命令时sudo
,它都会在实际执行任务之前暂停一段明显的时间(约 10 秒)。为什么会这样,我该如何解决这个问题?我在 Fedora 11 x86 64 上运行 Sudo 1.7.1 版。
Cug*_*uga 164
我在 SO 上问了这个问题,然后它移到了这里。也就是说,我不再能够像拥有它一样编辑问题,甚至无法接受正确答案,但事实证明这是解决问题的真正原因和方法:
在这里找到 用户“rohandhruva”给出了正确的答案:
如果您在安装过程中更改主机名,就会发生这种情况。
要解决此问题,请编辑文件 /etc/hosts
Run Code Online (Sandbox Code Playgroud)127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 <ADD_YOURS_HERE> ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 <ADD_YOURS_HERE>
小智 28
检查您的 syslog 守护进程是否正常工作;这给我造成了问题。
运行以下命令
logger 'Hello world'
Run Code Online (Sandbox Code Playgroud)
命令是否在合理的时间内返回?
'Hello world' 是否出现/var/log/syslog
?
如果不是这种情况,则 syslog 守护程序已崩溃。重新启动它应该可以解决您的问题。
yst*_*sth 12
是它需要在网络安装上读取的文件/目录之一,还是以某种方式触发从慢速 USB 设备读取?试试 strace 看看哪里慢了;如果它过得太快,做
sudo strace -r -o trace.log sudo echo hi
Run Code Online (Sandbox Code Playgroud)
每行将从进入前一个系统调用以来所用的时间开始。
(最初的 sudo 似乎是必要的;我不知道这会对结果造成多大影响。)
mdp*_*dpc 11
我最近发现我有同样的问题。没有 sudo 延迟,然后突然间延迟了大约 10-20 秒。我使用以下方法确定了具体问题:
1. chmod u+s /usr/sbin/strace (as the root user)
Run Code Online (Sandbox Code Playgroud)
作为你自己:
1. sudo -K
2. strace sudo /bin/tcsh
Run Code Online (Sandbox Code Playgroud)
然后找到系统调用挂在哪里。
在我的情况下,我发现它挂在 DNS 翻译上,显然我列表/etc/resolv.conf
中的一个 DNSen 非常繁忙或变坏了。因此,我更改了分辨率顺序,并且很快再次运行。
我遇到了同样的问题,我检查了 /var/log/auth.log 和 syslog 是否有错误。事实证明,无法访问我的 LDAP 服务器并且它减慢了一切。
我不再使用基于 LDAP 的身份验证,所以我从 /etc/nsswitch.conf 中删除了所有“ldap”引用
从那时起,一切都像魅力一样。
我不确定 Fedora,但我使用过其他系统,其中 sudo 会检查您的登录位置,如果您的 DNS 设置不正确,可能需要很长时间才能超时。这也可以在 SSH 进入机器时看到 - 需要很长时间才能提出提示。