通常情况下,一般用户通过执行“su -”命令、输入正确的root密码,可以登录为root用户来对系统进行管理员级别的配置。

但是,为了更进一步加强系统的安全性,有必要建立一个管理员的 组,只允许这个组的用户来执行“su -”命令登录为root用户,而让其他组的用户即使执行“su -”、输入了正确的root密码,也无法登录为root用户。在UNIX和Linux下,这个组的名称通常为“wheel”。

一、禁止非whell组用户切换到root
1、 修改/etc/pam.d/su配置

[plain] view plaincopyprint?
  1. [root@db01 ~]# vi /etc/pam.d/su ← 打开这个配置文件
  2. #auth required /lib/security/$ISA/pam_wheel.so use_uid      ← 找到此行,去掉行首的“#”

2、 修改/etc/login.defs文件

[plain] view plaincopyprint?
  1. [root@db01 ~]# echo “SU_WHEEL_ONLY yes” >> /etc/login.defs ← 添加语句到行末以上操作完成后,可以再建立一个新用户,然后用这个新建的用户测试会发现,没有加入到wheel组的用户,执行“su -”命令,即使输入了正确的root密码,也无法登录为root用户

3、 添加一个用户woo,测试是否可以切换到root

[plain] view plaincopyprint?
  1. [root@db01 ~]# useradd woo
  2. [root@db01 ~]# passwd woo
  3. Changing password for user woo.
  4. New UNIX password:
  5. BAD PASSWORD: it is WAY too short
  6. Retype new UNIX password:
  7. passwd: all authentication tokens updated successfull

4、通过woo用户登录尝试切换到root

[plain] view plaincopyprint?
  1. [woo@db01 ~]$ su - root           ← 即使密码输入正确也无法切换
  2. Password:
  3. su: incorrect password
  4. [woo@db01 ~]$

5: 把root用户加入wheel组再尝试切换,可以切换

[plain] view plaincopyprint?
  1. [root@db01 ~]# usermod -G wheel woo    ← 将普通用户woo加在管理员组wheel组中
  2. [root@db01 ~]# su - woo
  3. [woo@db01 ~]$ su - root           ←  这时候我们看到是可以切换了
  4. Password:
  5. [root@db01 ~]#

二、添加用户到管理员,禁止普通用户su到root
6、添加用户,并加入管理员组,禁止普通用户su到root,以配合之后安装OpenSSH/OpenSSL提升远程管理安全

[plain] view plaincopyprint?
  1. [root@db01 ~]# useradd admin
  2. [root@db01 ~]# passwd admin
  3. Changing password for user admin.
  4. New UNIX password:
  5. BAD PASSWORD: it is too short
  6. Retype new UNIX password:
  7. passwd: all authentication tokens updated successfully.
  8. [root@db01 ~]# usermod -G wheel admin   (usermod -G wheel admin 或 usermod -G10 admin(10是wheel组的ID号))
  9. [root@db01 ~]# su - admin
  10. [admin@db01 ~]$ su - root
  11. Password:
  12. [root@db01 ~]#

方法一:wheel组也可指定为其它组,编辑/etc/pam.d/su添加如下两行

[plain] view plaincopyprint?
  1. [root@db01 ~]# vi /etc/pam.d/su
  2. auth sufficient /lib/security/pam_rootok.so debug
  3. auth required /lib/security/pam_wheel.so group=wheel

方法二:编辑/etc/pam.d/su将如下行#符号去掉

[plain] view plaincopyprint?
  1. [root@db01 ~]# vi /etc/pam.d/su
  2. #RedHat#auth required /lib/security/$ISA/pam_wheel.so use_uid   ← 找到此行,去掉行首的“#”
  3. #CentOS5#auth required pam_wheel.so use_uid   ← 找到此行,去掉行首的“#”

#保存退出即可============

[plain] view plaincopyprint?
  1. [root@db01 ~]# echo "SU_WHEEL_ONLY yes" >> /etc/login.defs ← 添加语句到行末

Linux禁止非WHEEL用户使用SU命令相关推荐

  1. linux root用su 切换到普通用户提示输入密码并报密码错误(Linux禁止非WHEEL用户组使用su命令)

    文章目录 root用su 切换到普通用户提示输入密码并报密码错误 关于安全配置文件 /etc/pam.d/su root用su 切换到普通用户提示输入密码并报密码错误 问题背景: root用su 切换 ...

  2. Linux中用户切换su怎么用的,linux用户切换su命令横杠的作用

    SU:( Switch user切换用户),可让一个普通用户切换为超级用户或其他用户,并可临时拥有所切换用户的权限,切换时需输入欲切换用户的密码;那么你知道linux 用户切换su 命令横杠的作用么? ...

  3. linux装软件需要root用户,Linux下非root用户安装软件的一般流程:

    1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录, ...

  4. Linux 下非 root 用户 Conda 安装生物信息 R 软件包 MetaboAnalystR 演示

    (首发地址:学习日记 https://www.learndiary.com/2022/06/metaboanalystr/  ) 前些天演示了一下 Linux 下非 root 用户 Conda 安装生 ...

  5. linux是不是在根目录下安装的软件其它用户就可以使用,[转载]Linux下非root用户如何安装软件...

    [转载]Linux下非root用户如何安装软件 这是本人遇到的实际问题,之前用到的所有机器,无论是自己的PC还是云服务器,root权限都是妥妥的,但是现在发现实验室的服务器原来自己并没有root权限2 ...

  6. Linux中如何禁止普通用户使用su命令

    su 命令是一个特殊的命令,它允许用户以另一个用户和组的身份运行命令.它还允许你切换到 root 帐户或另一个指定的用户帐户. 要切换到另一个用户帐户,用户可以从他们当前的登录会话中运行 su 命令, ...

  7. linux 切换su - u,Linux怎么切换用户之su命令使用指引

    1. su命令详解 本文主要讲解Linux怎么使用su命令切换用户,该命令用于切换当前用户到其他用户,如果由非root切换到其他账号时须输入目标帐号密码,root用户切换到其他用户,无须用户密码. 2 ...

  8. Linux中切换用户(su命令)

    su命令用于变更为其他使用者的身份. 1.从root用户切换为一般用户 su test 从root用户切换为一般用户,不需要输入test用户的密码,直接使用su test命令即可进入到test用户中. ...

  9. linux非root用户搭建docker,linux centos7 非root用户安装源码版docker

    注意:非root用户必须要有sudo权限 一.安装前的准备 1.查看当前主机是否有docker组 若没有输出结果则新建 再次查看,发现已经有了docker组 2.新增拥有sudo权限的用户(若知道ro ...

最新文章

  1. html表格上下移动,Vue实现table上下移动功能示例
  2. 电脑 计算机服务打不开怎么办理,电脑xlsx打不开怎么办
  3. android网络拦截,拦截所有app的网络请求
  4. 自制操作系统学习笔记(3)-INT 0x10软中断显示字符串
  5. ORA-01033: ORACLE initialization or shutdown in progress
  6. OpenCV4每日一练day8:模型投影函数projectPoints()
  7. linux install nginx
  8. python有什么证可以考1002python有什么证可以考_离python二级考还有十几天,吓的我赶紧买了本python教程...
  9. 【转】windows下GSL的配置
  10. 2019ccpc河北省赛总结
  11. 关于Chrome的谷歌翻译和IDEA中的Translation翻译插件无法使用的解决方法
  12. 逻辑表达式(与、异或)表达式
  13. Drawable的setBounds方法
  14. vue里面使用图片的懒加载
  15. 笔记本合上盖子不休眠
  16. JS将秒数换算成具体的天时分秒
  17. iOS UILabel 单词自动换行
  18. 怎么修改html模板里的背景,怎么修改网页背景
  19. ACM题解——贪心专题——木头加工
  20. ReportMachine不能打开打印机属性设置的解决方法

热门文章

  1. 反射-获取java私有内部类反射类型、私有字段
  2. 千兆光纤收发器测试标准及参数
  3. 工业级以太网交换机的应用领域有哪些?
  4. 什么是模拟量光端机?模拟光端机品牌有哪些?
  5. [渝粤教育] 西南科技大学 高等数学1 在线考试复习资料
  6. 电源模块的6个优势及其作用
  7. java判断是否第一次出现_利用java判断字符首次出现的位置,java替换最后一个特定字符...
  8. 单开双控_卧室或者楼梯灯怎么安装单联双控
  9. jwt获取token_Koa开发之koa-jwt工作过程
  10. java parallelstream_关于Java8 parallelStream并发安全的深入讲解