RHEL 6.0 执行 sudo 时提示输入密码后长时间无响应(十秒至数分钟),原因是 sudo 解析主机名进行权限检查时,/etc/hosts 缺少本机主机名映射,导致 DNS 反向查询超时。添加映射即可秒级响应。
[user@test ~]$ sudo -i
[sudo] password for user:
# 此处卡顿 10-30 秒...
# 才进入 root Shell
sudo 需要解析当前主机名(hostname 命令输出)对应的 IP。/etc/hosts 无该主机名记录 → 发起 DNS PTR 查询 → 无 DNS 服务器或超时 → 阻塞。# 1. 切换 root
su -
# 2. 查看主机名
hostname
# 假设输出:test
# 3. 写入 /etc/hosts 映射
echo '127.0.0.1 test.localdomain test' >> /etc/hosts
# 或完整格式
# 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
# ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# 127.0.0.1 test.localdomain test
exit
sudo -i
# 即时响应,无卡顿

确保 /etc/hosts 包含 127.0.0.1 主机名 映射,可彻底解决 RHEL 6/CentOS 6 系列 sudo 卡顿问题。现代 systemd 系统建议使用 hostnamectl set-hostname 同步更新 hosts。