Linux禁止非WHEEL用户使用SU命令
2024-10-21 05:50:03
通常情况下,一般用户通过运行“su -”命令、输入正确的rootpassword。能够登录为root用户来对系统进行管理员级别的配置。
可是。为了更进一步加强系统的安全性,有必要建立一个管理员的 组,仅仅同意这个组的用户来运行“su -”命令登录为root用户。而让其它组的用户即使运行“su -”、输入了正确的rootpassword,也无法登录为root用户。在UNIX和Linux下。这个组的名称通常为“wheel”。
一、禁止非whell组用户切换到root
1、 改动/etc/pam.d/su配置
[root@db01 ~]# vi /etc/pam.d/su ← 打开这个配置文件
#auth required /lib/security/$ISA/pam_wheel.so use_uid ← 找到此行,去掉行首的“#”
2、 改动/etc/login.defs文件
[root@db01 ~]# echo “SU_WHEEL_ONLY yes” >> /etc/login.defs ← 加入语句到行末以上操作完毕后,能够再建立一个新用户。然后用这个新建的用户測试会发现,没有加入到wheel组的用户,运行“su -”命令。即使输入了正确的rootpassword,也无法登录为root用户
3、 加入一个用户woo,測试能否够切换到root
[root@db01 ~]# useradd woo
[root@db01 ~]# passwd woo
Changing password for user woo.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfull
4、通过woo用户登录尝试切换到root
[woo@db01 ~]$ su - root ← 即使密码输入正确也无法切换
Password:
su: incorrect password
[woo@db01 ~]$
5: 把root用户增加wheel组再尝试切换,能够切换
[root@db01 ~]# usermod -G wheel woo ← 将普通用户woo加在管理员组wheel组中
[root@db01 ~]# su - woo [woo@db01 ~]$ su - root ← 这时候我们看到是能够切换了
Password:
[root@db01 ~]#
二、加入用户到管理员,禁止普通用户su到root
6、加入用户,并加入管理员组。禁止普通用户su到root。以配合之后安装OpenSSH/OpenSSL提升远程管理安全
[root@db01 ~]# useradd admin
[root@db01 ~]# passwd admin
Changing password for user admin.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully. [root@db01 ~]# usermod -G wheel admin (usermod -G wheel admin 或 usermod -G10 admin(10是wheel组的ID号))
[root@db01 ~]# su - admin
[admin@db01 ~]$ su - root
Password:
[root@db01 ~]#
方法一:wheel组也可指定为其他组。编辑/etc/pam.d/su加入例如以下两行
[root@db01 ~]# vi /etc/pam.d/su
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=wheel
方法二:编辑/etc/pam.d/su将例如以下行#符号去掉
[root@db01 ~]# vi /etc/pam.d/su
#RedHat#auth required /lib/security/$ISA/pam_wheel.so use_uid ← 找到此行。去掉行首的“#”
#CentOS5#auth required pam_wheel.so use_uid ← 找到此行,去掉行首的“#”
#保存退出就可以============
[root@db01 ~]# echo "SU_WHEEL_ONLY yes" >> /etc/login.defs ← 加入语句到行末
(实际測试这步操作可省略)
最新文章
- sublime text3下BracketHighlighter的配置方法
- SQL优化
- Making the Grade(POJ3666)
- Winform之SpreadSheetGear转DevExpress.XtraSpreadsheet.v13.2 z
- 以C#编写的Socket服务器的Android手机聊天室Demo
- 155. Min Stack
- 跟我一步一步开发自己的Openfire插件
- maya 写UI 用到的工具
- c#查看电脑内存
- web.xml配置详解 (及<;context-param>;配置作用 )
- vs2008编译wxWidgets 2.8.12
- 自学Zabbix3.3-一个简单例子 添加Hosts并应用模板
- Intent传值的学习
- screen,client,page三种确定鼠标坐标的区别和原生JS事件写法,区别于Jquery的$.on(x,y);和$.click()
- 一个能快速写出实体类的Api文档管理工具
- .NET Core Community 第二个千星项目诞生:Util
- poj2417 bsgs算法非逆元模板,用于求解A^x=B(mod C)的方程
- [转]谈NAND Flash的底层结构和解析
- 没有 iOS 开发者账号的情况下部署到真机的方法
- Hive之变量和属性
热门文章
- Ubuntu 安装 tensorflow-gpu + keras
- Validate on POST data
- cogs 服务点设置
- vijos P1234口袋的天空(Kruskal)(最小生成树)
- 5、Django实战第5天:首页和登录页面的配置
- POJ 2311 Cutting Game (Multi-Nim)
- 【可持久化Trie】【set】bzoj3166 [Heoi2013]Alo
- 【最大流】【Dinic】bzoj1711 [Usaco2007 Open]Dingin吃饭
- 快速创建Django验证码
- ios-真机调试出错信息