不求甚解

此博客为个人学习之用,如与其他作品雷同,纯属巧合。

导航

Q:su命令切换用户无法使用,被拒绝

Posted on 2023-02-11 11:27  三年三班王小朋  阅读(1628)  评论(0编辑  收藏  举报

su命令切换用户无法使用,被拒绝

问题描述

su 命令报错 su: Permission denied

如下图:

 

su 命令 报错 su: Permission denied,不管是su普通用户还是root,都会报这个错误,可以确定的是密码是正确的,因为ssh可以正常登录,root用户 su 其他用户正常。

 

问题排查

1、首先确定su命令是否有s权限,路径/usr/bin/su

如下图可知,su命令的权限都是正常的有s权限。

2、其次要排除密码错误、密码过期、用户锁定等问题,

3、最后可能就是PAM模块限制的原因了

PAM(Pluggable Authentication Modules)负责系统中很多应用程序的登录认证,包括sshd、vsftpd、su等。例如ssh登录认证配置文件是/etc/pam.d/sshd用户可根据需要配置相应的认证规则。你也可以为自己的其他应用配置PAM认证。

查看su的PAM认证配置

cat /etc/pam.d/su

解决方法

su 的PAM配置文件中有auth required pam_wheel.so use_uid根据上一句的说明可以知道要使用su命令则该用户必须在wheel用户组中,而普通用户没有在wheel用户组中。

有两种方法可以解决这个问题。

一是注释该行,如下图所示。

二是将普通用户加入wheel组。

查看sudo权限 cat /etc/sudoers

usermod -a -G 用户名 用户组

将用户user 加入wheel组

usermod -a -G user wheel