Linux 运维中怎么排查 su 切换用户时报错 "su: incorrect password"

风萱小哥_3535

风萱小哥_3535

2026-09-19

560人浏览

原创

密码正确却提示su: incorrect password,主因是/bin/su缺失suid权限(应为-rwsr-xr-x),修复命令为sudo chmod u+s /bin/su;其次检查pam的pam_wheel.so限制、root账户是否锁定(passwd -s root)、以及wheel组归属和输入环境干扰。

linux 运维中怎么排查 su 切换用户时报错 \

密码没错却提示 su: incorrect password,这在 Linux 运维中很常见。问题通常不在于密码本身,而是认证机制被某些配置或权限限制住了。下面从高频原因出发,给出可直接操作的排查路径。

检查 /bin/su 是否具备 SUID 权限

这是最常被忽略、也最容易修复的一点。su 命令必须以 root 身份运行才能读取 /etc/shadow,所以必须带 suid 位(rws)

  • 执行 ls -l /bin/su,正常应显示:
    -rwsr-xr-x 1 root root ... /bin/su
  • 如果看到的是 -rwxr-xr-x(即没有 s),说明 su 无法提权,所有密码验证都会失败
  • 修复命令:sudo chmod u+s /bin/su
  • 注意:不要用 a+s,避免非 root 用户也能触发 su,存在安全风险

确认 PAM 配置是否启用 wheel 限制

很多发行版(如 CentOS/RHEL)默认通过 PAM 强制要求只有 wheel 组成员才能 su 到 root:

Linux Journey
Linux Journey

当用户想学习Linux基础、命令行、文件系统等时,在LabEx查找并推荐免费的Linux Journey课程。

下载
  • 查看 /etc/pam.d/su,检查是否存在这一行:
    auth required pam_wheel.so use_uid
  • 再看 /etc/login.defs 中是否有:
    SU_WHEEL_ONLY yes(如有,建议注释掉)
  • 确认当前用户是否在 wheel 组:groupsid -nG
  • 若不在,加入即可:sudo usermod -aG wheel $USER

验证 root 账户是否被锁定或禁用

即使密码正确,root 若处于锁定状态,su 也会统一报“密码错误”:

  • 运行 sudo passwd -S root,输出中第二列应为 P(表示密码可用)
  • 若显示 LK(Locked)或 NP(No password),说明 root 不可登录
  • 解锁命令:sudo passwd -u root(仅当被锁时使用)
  • 补充:部分系统默认禁用 root 密码(如 Ubuntu),此时应改用 sudo -i,而非 su

留意键盘与输入环境干扰

看似荒谬,但真实高频——尤其在物理终端或远程串口登录场景:

  • 小键盘(Num Lock)关闭时,数字键可能输入方向键或功能字符,导致密码错位
  • 尝试按一次 Num Lock 键,观察指示灯是否亮起;或改用主键盘区数字键重试
  • 在 SSH 终端中,检查终端类型是否异常(如 $TERM 为 unknown),可临时设为 export TERM=xterm-256color
  • 中文输入法残留也可能干扰,切换到英文输入状态再输密码

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3550

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3093

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2133

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5070

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

4762

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

2873

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2365

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2599

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

CLion 远程开发实战
CLion 远程开发实战

共0课时 | 0人学习