今天客户找到我,说是他从普通用户su - root报错。这个问题挺经典记录一下处理的过程
客户的操作系统是openEuler操作系统。
报错如下:所示
[omm@Zxyyqzserver ~]$ su -
Password:
su: Permission denied
在客户尝试了几次之后,直接是把root给锁定了,还好之前己经打开过一个root连接窗口,这里直接使用命令解锁一下。
[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:
# 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(就是加#号注释掉这行)
# vim /etc/pam.d/su
auth required pam_wheel.so use_uid
修复方法2:
只针对当前omm用户,把该用户加到wheel组即可
[root@Zxyyqzserver ~]# usermod -G wheel omm
[root@Zxyyqzserver ~]# id omm
uid=1000(omm) gid=1000(dbgrp) groups=1000(dbgrp),10(wheel)