Linux禁止普通用户su至root

linux系统为了限制权限,有时候需要禁止普通用户su到root用户

为禁止普通用户su至root,需要分别修改/etc/pam.d/su和/etc/login.defs两个配置文件。

一、实验环境

[root@t2 pam.d]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@t2 pam.d]# uname -a
Linux t2 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

其他的环境自行测试

二、详细配置

(1)去除/etc/pam.d/su文件中如下行的注释:

#auth            required        pam_wheel.so use_uid

(2)在/etc/login.defs文件中加入如下配置项:

SU_WHEEL_ONLY yes

经过上述配置后,普通用户将被禁止su至root,如果希望指定普通用户su至root,可以执行如下命令将该用户添加至wheel组中:

usermod -G wheel username
或者
gpasswd -a username wheel

三、示例

[root@t1 ~]# id a1
uid=1001(a1) gid=1001(a1) groups=1001(a1),10(wheel)
[root@t1 ~]# id a2
uid=1002(a2) gid=1002(a2) groups=1002(a2)

验证

复制代码
[a1@t1 ~]$ su - root
Password: 
Last login: Fri Apr 19 16:40:23 CST 2019 from 10.0.0.1 on pts/2
[root@t1 ~]# 

[a2@t1 ~]$ 
[a2@t1 ~]$ su - root
Password: 
su: Permission denied
复制代码

 

2019-07-02修改

 

以上方法可以实现我们的目的,还有一种方法,也可以实现,诸公如果有时间可以多研究一下linux系统的pam认证

方法二:

修改  /etc/pam.d/su文件中如下行:

vim /etc/pam.d/su

#auth    required    pam_wheel.so use_uid
auth    required    /lib64/security/pam_wheel.so  group=wheel
#路径不加也是可以的,因为我的环境是x86架构的
auth    required    pam_wheel.so group=wheel

各位自行验证即可

 

posted @   augusite  阅读(3291)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示