You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

终端使用sudo时密码正确却遭拒并收异常回复,su root正常求助

解决sudo验证失败(密码正确却遭戏谑回复)的问题

嘿,你遇到的这个情况完全匹配CVE-2021-3156(俗称Baron Samedit)漏洞的被利用特征——这个漏洞藏了好几年,影响范围覆盖sudo 1.8.2到1.8.31p2,以及1.9.0到1.9.5p1的版本(对应Ubuntu 16.04/18.04/20.04这类主流发行版的默认sudo版本)。一旦漏洞被触发,攻击者能篡改sudo的行为,让你输对密码也过不了验证,甚至返回恶意戏谑的提示;而su root走的是另一套权限验证逻辑,所以不受影响。

下面给你一步步的排查和修复方案:

第一步:确认你的sudo版本

先搞清楚自己的sudo是不是在受影响范围内,终端执行:

# 如果sudo还能勉强执行版本查询
sudo --version
# 要是sudo完全用不了,就先切root再查
su root -c "sudo --version"

如果版本落在刚才说的区间里,那基本就是这个漏洞搞的鬼了。

第二步:紧急修复方案

方案1:通过su root升级sudo

既然su root能正常用,先切换到root权限:

su root

然后根据你的系统发行版执行升级命令:

  • Debian/Ubuntu系:
apt update && apt install --only-upgrade sudo
  • RHEL/CentOS系:
yum update sudo

升级完退出root(敲exit),再试试sudo,应该就能正常验证了。

方案2:临时限制sudo权限(如果升级暂时行不通)

要是因为网络问题没法升级,先临时修改sudoers配置降低风险:

  1. 切到root后,一定要用visudo编辑sudoers文件(避免语法错误锁死权限):
visudo
  1. 可以先注释掉其他用户/组的sudo授权,只保留root的:
# 保留这一行
root ALL=(ALL:ALL) ALL
# 注释掉其他类似 %sudo ALL=(ALL:ALL) ALL 的行,前面加#
  1. 保存退出后,测试sudo是否能正常工作。

第三步:检查系统是否被入侵

漏洞被利用后,系统很可能被植了后门,升级完sudo还得做这些检查:

  • 验证sudo二进制文件的完整性:
# Debian/Ubuntu用这个
su root -c "dpkg -V sudo"
# RHEL/CentOS用这个
su root -c "rpm -V sudo"

如果输出里有带S(大小改变)、M(权限改变)的文件,说明sudo程序被篡改了,得重新安装sudo。

  • 排查异常进程和登录日志:
# 找可疑进程,把suspicious换成你觉得不对劲的关键词
su root -c "ps aux | grep -v grep | grep suspicious"
# 查看登录和sudo操作日志
su root -c "cat /var/log/auth.log"

要是发现陌生登录记录或奇怪进程,建议彻底清理系统,必要时重装更稳妥。

最后提醒一句:这个sudo漏洞危害特别大,一旦确认受影响,优先升级到安全版本,平时也要做好防护——比如禁用root远程登录、开防火墙、定期更新系统。

内容的提问来源于stack exchange,提问作者Obiwan Kenoobi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:21:50