今天客户找到我,说是他从普通用户su - root报错。这个问题挺经典记录一下处理的过程

客户的操作系统是openEuler操作系统。

报错如下:所示

1
2
3
[omm@Zxyyqzserver ~]$ su - 
Password:
su: Permission denied

在客户尝试了几次之后,直接是把root给锁定了,还好之前己经打开过一个root连接窗口,这里直接使用命令解锁一下。

1
2
3
4
5
6
7
[root@Zxyyqzserver ~]# faillock 
root:
When Type Source Valid
2025-01-02 08:30:19 TTY /dev/pts/0 V
2025-01-02 08:32:53 TTY /dev/pts/0 V
2025-01-02 08:34:57 TTY /dev/pts/0 V
[root@Zxyyqzserver ~]# faillock --user root --reset

既然是报权限错误,那么一定是缺少了相应的权限。

检查/etc/pam.d/su中是否配置了非wheel组用户账号禁止使用su:

1
2
# grep pam_wheel.so /etc/pam.d/su | grep required
auth required pam_wheel.so use_uid

确认了一下,是欧拉系统做了加固secure-configuration-benchmark/release/openEuler安全配置基线.md · openEuler/security-committee - Gitee.com

欧拉系统安全基线说明

su命令可以使一个普通用户拥有超级用户或其他用户的权限,它经常被用于从普通用户账号切换到系统root账号。su命令为用户变更身份提供了便捷的途径,但如果不加约束的使用su命令,会给系统带来潜在的风险。通过对用户使用su访问root账号的权限进行限制,仅对部分账号进行su使用授权,可以提高系统账号使用的安全性。

openEuler默认仅允许wheel组中的普通用户具有su的使用权限。

修复方法1:

全局修改,以后普通用户都能su - root

修改/etc/pam.d/su配置文件,配置非wheel组用户账号禁止使用su(就是加#号注释掉这行)

1
2
# vim /etc/pam.d/su
auth required pam_wheel.so use_uid

修复方法2:

只针对当前omm用户,把该用户加到wheel组即可

1
2
3
[root@Zxyyqzserver ~]# usermod -G wheel omm
[root@Zxyyqzserver ~]# id omm
uid=1000(omm) gid=1000(dbgrp) groups=1000(dbgrp),10(wheel)

欢迎联系我一起讨论。我的微信号:Eric_xu_2023

也欢迎关注我的公众号:

1.png