问题
使用任意发行版,如Fedora、Debian等,/etc/sudoers 包含的用户执行 sudo 命令,到输入密码提示中间延迟时间过长。
解决办法
查看当前 hostname,如PS提示符有提示也可。顺便看了下 /etc/hosts
sudo
或 root
权限编辑 /etc/hosts
,将你本机的 hostname 名称追加到 localhost 后,保存退出即可。
sudo vim /etc/hosts
至此,仅 sudo 卡而 su 不卡的问题解决。
分析原因
sudo 命令执行时需要找到执行入口,默认是以hostname作为执行入口的地址。当 /etc/hosts
或 /etc/resolv.conf
中不含主机名映射时,就会等待直到超时,时间可能有15~20秒之间。
出现这种情况有两种可能:
- 安装系统时变更了主机名
- 自行修改
/etc/hosts
去除了主机名映射
对于第一种情况,是安装系统工具的bug,未将新 hostname 映射变更到 /etc/hosts
中;
对于第二种情况,多出现于重度洁癖Linux用户,比如我。