不求甚解

此博客为个人学习之用,如与其他作品雷同,纯属巧合。
随笔 - 156, 文章 - 1, 评论 - 2, 阅读 - 10万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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

Posted on   三年三班王小朋  阅读(2238)  评论(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

 

相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示