Eastsheng's Wiki

给red hat 6加了root密码后,也给普通用户加了sudo权限后,sudo yum update 输入root密码,显示Sorry, try again

2025-09-03 17:26:48

[toc]

问题描述:

给red hat 6加了root密码后,也给普通用户加了sudo权限后,sudo yum update 输入root密码,显示Sorry, try again

解决方法:

您好,遇到这个问题很常见,请不要担心。这个错误提示“Sorry, try again”几乎总是意味着您输入的密码不正确,但它指的是您当前用户的密码,而不是root密码。

核心原因:理解 sudo 的工作原理

sudo 命令的设计理念是:让普通用户以自己的密码来临时获取root权限,而不是直接使用root密码。这样做更安全,因为:

  1. 不需要告知他人root密码。
  2. 所有通过sudo执行的操作都会被记录下来(在 /var/log/secure 等文件中),便于审计。

所以,当您运行 sudo yum update 时,系统提示您输入的是您自己(当前普通用户)的密码,而不是root密码。


解决方案:请按照以下步骤排查

1. 确认您输入的是当前用户的密码

这是最常见的原因。请再次尝试,但这次输入您自己的用户密码,而不是root密码。

2. 验证您的用户确实在sudoers组中

您为普通用户加了sudo权限,但我们需要确认加得是否正确。请使用root用户执行以下命令来检查:

1
2
3
4
# 切换到root用户,这里需要输入您刚设置的root密码
su -
# 查看您的用户是否在 wheel 组中 (Red Hat 6 的标准做法)
groups <您的普通用户名>

如果输出中包含 wheel,说明配置正确。例如,如果用户名叫 john

1
2
groups john
# 输出应为:john : john wheel

如果您的用户不在 wheel 组中,您需要将其加入:

1
usermod -aG wheel <您的普通用户名>

3. 验证sudoers文件配置正确

即使加入了 wheel 组,也需要 /etc/sudoers 文件允许 wheel 组执行sudo。请使用 visudo 命令来安全地编辑和检查该文件(切记不要直接用普通编辑器修改此文件!)。

1
2
# 切换到root后执行
visudo

在打开的文件中,找到这样一行:

1
2
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL

如果这一行前面有 # 注释符,请删除它。如果没有这一行,请添加它。

更宽松的配置(无需输入密码)是:

1
%wheel  ALL=(ALL)       NOPASSWD: ALL

但对于服务器安全来说,不建议使用 NOPASSWD

保存并退出(按 Esc,然后输入 :wq 回车)。

4. 检查认证缓存(Authentication Token)

有时,多次输入错误密码后,可能会有短暂的锁定或缓存问题。您可以:

  • 等待一两分钟再试。
  • 打开一个新的终端窗口再试。
  • 彻底退出当前用户会话(注销后再重新登录)。

5. 验证您的用户密码是否正确

如果您不确定自己的用户密码是什么,可以:

  • 用root用户直接修改您的密码:
    1
    2
    3
    4
    # 切换到root
    su -
    # 修改您的普通用户密码
    passwd <您的普通用户名>
    然后使用新设置的密码来执行 sudo

总结与正确操作流程

  1. 永远记住sudo 要的是当前普通用户自己的密码
  2. 确保普通用户已加入 wheel 组:usermod -aG wheel username
  3. 确保 /etc/sudoers 文件中的 %wheel 配置行已启用。
  4. 使用 visudo 修改sudoers配置,不要用 vivim 直接编辑。

现在,请打开一个新的终端,尝试以下命令:

1
sudo whoami

系统会提示您输入密码,这时请输入您自己的登录密码。如果配置正确,命令会返回 root。成功后,再运行 sudo yum update 就应该可以了。