根本原因是root账户默认未设置密码且被锁定;执行sudo passwd root可启用并设密,需满足8位以上及大小写字母、数字等组合要求,且/bin/su必须具备rws权限。

麒麟系统普通用户执行su命令切换root时提示“Authentication failure”,根本原因是root账户默认未设置密码且被锁定,不是当前用户密码输错,也不是网络或服务异常。
确认root账户当前状态
在终端中运行:sudo passwd -S root。
若输出为 root L 01/01/1970 0 99999 7 -1 或含 【L(locked)】 字样,说明root密码已被锁定,这是麒麟V10等桌面版的默认安全策略。
此时无论输入什么密码,su都会报认证失败——因为系统根本不校验密码,直接拒绝认证流程。
启用root账户并设置密码
方法一:使用sudo passwd root(推荐)
① 输入命令:sudo passwd root;
② 系统提示输入当前用户的密码(即你登录桌面的密码),正确输入后回车;
③ 接着两次输入你为root新设的密码(需完全一致),无明文回显,输完回车即完成。
这一步操作起来很简单,直接把密码设好就行。但注意:密码强度需满足麒麟系统的PAM策略(如至少8位、含大小写字母+数字),否则会提示“BAD PASSWORD”并拒绝设置。
检查su命令权限是否损坏
运行:ls -l /bin/su。
正常输出应为:-rwsr-xr-x 1 root root ... /bin/su,其中开头的 【rws】 表示SUID位已设置——这是普通用户能调用su执行提权的关键权限。
如果显示的是 -rwxr-xr-x(缺少s),说明SUID丢失,需由root权限修复:执行 sudo chmod u+s /bin/su。
验证PAM配置是否限制wheel组
方法一:检查/etc/pam.d/su中是否启用了pam_wheel.so
运行:grep -i wheel /etc/pam.d/su。
若返回类似 auth required pam_wheel.so use_uid 的行,说明系统强制要求:只有wheel组成员才能su到root。
此时需将当前用户加入wheel组:sudo usermod -aG wheel $USER,然后退出当前终端重新登录生效。
注意:银河麒麟V10默认不启用wheel组限制,此步骤仅在定制化环境或RHEL系兼容配置下需要。











