通常情况下,一般用户通过运行“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. UVA 699 The Falling Leaves (递归先序建立二叉树)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/19244 #include <iostream> #include <cstdio> # ...

  2. RPD Volume 168 Issue 4 March 2016 评论6

    Natural variation of ambient dose rate in the air of Izu-Oshima Island after the Fukushima Daiichi N ...

  3. [BZOJ 2752] 高速公路

    Link: BZOJ 2752 传送门 Solution: 虽然有期望,但实际上就是除了个总数…… 此题计算总代价明显还是要使用对每个$w_i$计算贡献的方式: $w_i的贡献为w_i*(i-l+1) ...

  4. POJ 2932 Coneology(扫描线)

    [题目链接] http://poj.org/problem?id=2932 [题目大意] 给出N个两两没有公共点的圆,求所有不包含于其它圆内部的圆 [题解] 我们计算出所有点在圆心所有y位置的x值, ...

  5. 【Treap】BZOJ1588-[HNOI2002]营业额统计

    [题目大意][借用别人的概括]给出一个n个数的数列a,对于第i个元素ai定义fi=min(abs(ai-aj)),(1<=j<i),其中f1=a1.输出sum(fi) (1<=i&l ...

  6. 一年的天数 Exercise06_16

    /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:一年的天数 * */ public class Exercise06_16 { public static void main ...

  7. 【R笔记】order函数例子

    问题: R中提供的例子不太懂,为什么得出的结果是6  5  2  1  7  4 10  8  3  9呢? (ii <- order(x <- c(1,1,3:1,1:4,3), y & ...

  8. Python学习实践 | speech智能语音模块

    最近的生活.学习节奏很是容易被打断,终于,在今天,既实习结束之后,夏令营也结束了. 前几天,一个人在复习地很累的时候,又重新将Python捡了起来,看了挺多的知识点. 真是太有意(wu)思(liao) ...

  9. 在energia中添加新的库

    很多时候energia提供的库不能够满足我们的需要,这个时候我们就要自己添加库到energia中.方法如下: 在energia目录下找到hardware目录 选择对应的单片机型号文件夹进入 进入lib ...

  10. Jmeter调用Webapi介绍

    一.介绍     JMeter主要用于压力测试,使用Java编写,由Apache基金会管理     官方网站:http://jmeter.apache.org/index.html     下载地址: ...