linux系统为了限制权限,有时候需要禁止普通用户su到root用户

为禁止普通用户su至root,需要分别修改/etc/pam.d/su和/etc/login.defs两个配置文件。

一、实验环境

[root@t2 pam.d]# cat /etc/redhat-release
CentOS Linux release 7.2. (Core)
[root@t2 pam.d]# uname -a
Linux t2 3.10.-.el7.x86_64 # SMP Tue Nov :: UTC x86_64 x86_64 x86_64 GNU/Linux

其他的环境自行测试

二、详细配置

(1)去除/etc/pam.d/su文件中如下行的注释:

#auth            required        pam_wheel.so use_uid

(2)在/etc/login.defs文件中加入如下配置项:

SU_WHEEL_ONLY yes

经过上述配置后,普通用户将被禁止su至root,如果希望指定普通用户su至root,可以执行如下命令将该用户添加至wheel组中:

usermod -G wheel username
或者
gpasswd -a username wheel

三、示例

[root@t1 ~]# id a1
uid=(a1) gid=(a1) groups=(a1),(wheel)
[root@t1 ~]# id a2
uid=(a2) gid=(a2) groups=(a2)

验证

[a1@t1 ~]$ su - root
Password:
Last login: Fri Apr :: CST from 10.0.0.1 on pts/
[root@t1 ~]# [a2@t1 ~]$
[a2@t1 ~]$ su - root
Password:
su: Permission denied

2019-07-02修改

以上方法可以实现我们的目的,还有一种方法,也可以实现,诸公如果有时间可以多研究一下linux系统的pam认证

方法二:

修改  /etc/pam.d/su文件中如下行:

vim /etc/pam.d/su

#auth    required    pam_wheel.so use_uid
auth    required    /lib64/security/pam_wheel.so use_uid group=wheel
#路径不加也是可以的,因为我的环境是x86架构的
auth    required    pam_wheel.so use_uid group=wheel

各位自行验证即可

Linux禁止普通用户su至root的更多相关文章

  1. Linux 禁止普通用户su到root

    Linux账户权限管理上为了防止普通用户通过su切换到root用户,需要修改/etc/pam.d/su和/etc/login.defs两个配置文件. Step1:修改 /etc/pam.d/su文件 ...

  2. Linux安全加固(二)禁止普通用户su到root/设置SSH终端接入白名单/修改history条数

    一.禁止普通用户su到root管理员.设置可以su到root的白名单 1.首先看一下正常情况 2.可以看到普通用户使用su root命令,输入密码即可登录到root用户 3.下面开始配置禁止所有普通用 ...

  3. centOS禁止普通用户su到root

    1.关于su的相关权限涉及到两个文件,分别为/etc/pam.d/su和/etc/login.defs两个配置文件. 2.禁止普通用户su到root,配置如下: 去除/etc/pam.d/su文件中如 ...

  4. 普通用户su 到root,无需密码方式,及iptables封掉本机某个端口,core文件配置

    一. 普通用户su到root无需密码: 随着服务器越来越多,普通用户转到root下,去查密码表是个很繁琐的事,发现有如下方式比较方便(需要root操作) vi /etc/pam.d/su  将 aut ...

  5. linux下添加用户并赋予root权限

    1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy   //修改密码Changing pass ...

  6. linux下加入用户并赋予root权限

    1.加入用户.首先用adduser命令加入一个普通用户,命令例如以下: #adduser tommy //加入一个名为tommy的用户 #passwd tommy   //改动password Cha ...

  7. Linux禁止普通用户使用crontab命令

    cron计划任务默认root用户与非root用户都可以执行,当然如果在安全方面想禁用这部分用户,则可以通过两个文件来解决: cron.allow cron.deny cron.allow:定义允许使用 ...

  8. Linux进入单用户模式(passwd root修改密码)

    进入单用户模式——passwd root修改密码 1.在grub 页面输入a,进入修改内核模式 2.在内核的结尾“/”,输入空格,在输入single,回车 3.启动系统,进入单用户模式 4.Passw ...

  9. linux禁止普通用户登录

    要想禁止普通用户登录 方法如下: 在 /etc下创建一个 nologin的文件 编辑这个文件,输入内容,当普通用户登录时就会提示这个文件的内容,并且禁止登陆. 执行步骤: touch /etc/nol ...

随机推荐

  1. 怎么解决docker pull拉取镜像速度过慢的问题

    在我们安装了docker之后,在利用docker pull下载镜像的时候,由于国内的源会出现的问题就是速度真的很慢,可以用龟速来形容,最痛苦的是当你耐心的等待几个小时之后,出现unexpected E ...

  2. ansible-playbook用法

    一.playbook用法 1.playbook的执行文件为YAML语言编写,所以文件名为xxx.yml.YAML语法可以参考https://docs.ansible.com/ansible/lates ...

  3. 【JS】JavaScript 指定日期增加天数

    指定某个日期(字符串),增加n天后,输出日期字符串,格式:年-月-日: /** * [dateAddDays 从某个日期增加n天后的日期] * @param {[string]} dateStr [日 ...

  4. SpringCloud笔记七:Zuul

    目录 什么是Zull 为什么需要Zuul 新建Zuul项目 运行Zuul Zuul的基本配置 忽略微服务的真实名称 设置统一公共前缀 总结 什么是Zull Zuul就是一个网关,实现的功能:代理.路由 ...

  5. git使用方法收藏

    基本的提交:https://www.cnblogs.com/jackchensir/p/8306448.html 菜鸟教程: http://www.runoob.com/git/git-basic-o ...

  6. 【bzoj 4833】[Lydsy1704月赛]最小公倍佩尔数

    Description 令 $(1+\sqrt 2)^n=e(n)+\sqrt 2\cdot f(n)$ ,其中 $e(n),f(n)$ 都是整数,显然有 $(1-\sqrt 2)^n=e(n)-\s ...

  7. 3、设置jsp上的类容自动更新

    1.run->edit configurations进入下面的界面,并修改 On ‘Update’ action  为  Redeploy. On frame deactivation  为   ...

  8. [Jetty] Debugging With Eclipse

    There are a number of options available to debug your application in Eclipse. If not done already pr ...

  9. lambda+mutable配合move实现单函数多程序域

    主代码 //-----------------------------------说明一的代码 void fun0{ int t = 10; auto loopFun = [=]() mutable{ ...

  10. C#decimal四舍五入格式化

    Console.WriteLine(string.Format("{0:####}", 594884.539)); Console.WriteLine(string.Format( ...