通常情况下,一般用户通过运行“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 ← 加入语句到行末

(实际測试这步操作可省略)

最新文章

  1. sublime text3下BracketHighlighter的配置方法
  2. SQL优化
  3. Making the Grade(POJ3666)
  4. Winform之SpreadSheetGear转DevExpress.XtraSpreadsheet.v13.2 z
  5. 以C#编写的Socket服务器的Android手机聊天室Demo
  6. 155. Min Stack
  7. 跟我一步一步开发自己的Openfire插件
  8. maya 写UI 用到的工具
  9. c#查看电脑内存
  10. web.xml配置详解 (及<context-param>配置作用 )
  11. vs2008编译wxWidgets 2.8.12
  12. 自学Zabbix3.3-一个简单例子 添加Hosts并应用模板
  13. Intent传值的学习
  14. screen,client,page三种确定鼠标坐标的区别和原生JS事件写法,区别于Jquery的$.on(x,y);和$.click()
  15. 一个能快速写出实体类的Api文档管理工具
  16. .NET Core Community 第二个千星项目诞生:Util
  17. poj2417 bsgs算法非逆元模板,用于求解A^x=B(mod C)的方程
  18. [转]谈NAND Flash的底层结构和解析
  19. 没有 iOS 开发者账号的情况下部署到真机的方法
  20. Hive之变量和属性

热门文章

  1. Ubuntu 安装 tensorflow-gpu + keras
  2. Validate on POST data
  3. cogs 服务点设置
  4. vijos P1234口袋的天空(Kruskal)(最小生成树)
  5. 5、Django实战第5天:首页和登录页面的配置
  6. POJ 2311 Cutting Game (Multi-Nim)
  7. 【可持久化Trie】【set】bzoj3166 [Heoi2013]Alo
  8. 【最大流】【Dinic】bzoj1711 [Usaco2007 Open]Dingin吃饭
  9. 快速创建Django验证码
  10. ios-真机调试出错信息