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

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

Linux禁止非WHEEL用户使用SU命令的更多相关文章

  1. Linux下非root用户如何安装软件

    Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...

  2. Linux 下非root用户使用docker

    Linux 下非root用户使用docker 通常我们使用linux系统的时候,最好是不要直接使用root账号,但是使用Docker的时候,默认又是不能使用非root用户的,关于原因,官方说法如下: ...

  3. [转载]Linux下非root用户如何安装软件

    [转载]Linux下非root用户如何安装软件 来源:https://tlanyan.me/work-with-linux-without-root-permission/ 这是本人遇到的实际问题,之 ...

  4. linux下非root用户的sudo问题

    linux下的root用户是个超级管理员,一般是不用这个用户登录进行操作的,但有时候需要root权限,又不想切换用户的话可以使用sudo命令.但是不是所有的用户都可以使用sudo命令的. 首先可能会遇 ...

  5. Linux学习总结(六)-su命令 sudo 命令 限制root远程登录

    root 用户拥有至高无上的权利,那么我们运维人员是不是直接在root用户下处理所有问题呢? 答案是否定的,权力越大,责任越大,人是会犯错的,因此我们要在不影响我们的工作情况下,尽量限制我们的权力,以 ...

  6. Linux下非root用户运行Tomcat

    PS:Linux下使用非root用户运行tomcat的原因 由于项目需求,也由于root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限. 这意味着你的任何一个页面脚本(htm ...

  7. linux系统非ROOT用户80端口不能启动tomcat问题的变通办法——通过Iptables端口转发

    2010-07-17 13:21:42 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{ ...

  8. Linux系统中切换用户身份su与sudo的用法与实例

    日常操作中为了避免一些误操作,更加安全地管理系统,通常使用的用户身份都为普通用户,而非root.当需要执行一些管理员命令操作时,再切换成root用户身份去执行. 普通用户切换到root用户的方式有:s ...

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

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

随机推荐

  1. [CF935F]Fafa and Array

    法法round(雾 题意:给一个序列$a_{1\cdots n}$,定义$\begin{align*}f=\sum\limits_{i=1}^{n-1}\left|a_i-a_{i+1}\right| ...

  2. [CF441E]Valera and Number

    题意:给定$x,k,p$和一份伪代码,伪代码大致是循环$k$次,每次有$p\%$的概率把$x$乘$2$,有$(100-p)\%$的概率把$x$加$1$,问最后在二进制下$x$的末尾期望$0$个数 鸽了 ...

  3. 【贪心】【线性基】bzoj2460 [BeiJing2011]元素 / bzoj3105 [cqoi2013]新Nim游戏

    p2460: #include<cstdio> #include<algorithm> using namespace std; #define N 1001 typedef ...

  4. 【字符串哈希】bzoj3098 Hash Killer II

    教育我们做Rabin-Karp的时候一定要把模数取大?还是上溢好了. #include<cstdio> #include<cstdlib> using namespace st ...

  5. Java多线程——ReentrantLock源码阅读

    上一章<AQS源码阅读>讲了AQS框架,这次讲讲它的应用类(注意不是子类实现,待会细讲). ReentrantLock,顾名思义重入锁,但什么是重入,这个锁到底是怎样的,我们来看看类的注解 ...

  6. Activity组件(传递数据)

    (一) 1.效果图:点击按钮“调用第二个Activity”,转到第二页面,之后点击“返回数据”,将第二个页面的数据传到第一个页面         2. activity_main.xml <?x ...

  7. Xcode升级后导致插件不能用, 一句代码更新UUID OK~

      find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | ...

  8. Android证书验证存漏洞 开发者身份信息可被篡改(转)

    原帖地址:http://bbs.pediy.com/showthread.php?p=1335278#post1335278 近期在国内网易,雷锋网等网站爆出谷歌市场上的索尼官方的备份与恢复应用&qu ...

  9. TDiocpCoderTcpServer返回数据记录有条数限制的问题

    TDiocpCoderTcpServer返回数据记录有条数限制的问题 在使用TDiocpCoderTcpServer控件返回查询数据的时候,发现当记录条数超过一定数量的时候(比方有人反试图返回30万条 ...

  10. 【spring boot】spring boot中使用定时任务配置

    spring boot中使用定时任务配置 =============================================================================== ...