linux修改su的PAM配置文件,linux pam安全认证模块su命令的安全隐患

PAM安全认证

1、su命令的安全隐患

默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户(如root)的登录密码,带来安全风险。为了增强sum命令的使用控制,可以借助PAM认证模块,只允许极个别用户使用su命令进行切换。

2、可插拔认证模块PAM(pluggable Authentication Modules)

(1)PAM简介

PAM是一种高效而且灵活便利的用户级别的认证方式,它也是当前Linux服务器普遍使用的认证方式。

PAM提供了对所有服务进行认证的中央机制,适用于login,远程登录(telent,rlogin,fsh,ftp),su等应用程序。系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略。

(2)PAM认证管理

pam认证一般遵循的顺序:Service(服务)——PAM——prm_*.so

PAM认证首先要确定那一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(32位系统位于/lib/security下,64位系统位于/lib64/security下)进行安全认证。

用户访问服务器的时候,服务器的某一个服务进程把用户的请求发送到PAM模块进行认证。不同的应用程序所对应的PAM模块也是不同。

如果想查某个程序是否支持PAM认证,可以用ls命令进行查看,如查看su是否支持PAM模块认证:ls /etc/pam.d|grep su

常见的四种认证类型

认证类型

意义

作用

auth

认证管理

接受用户和密码,进而对该用户的密码进行认证

account

账户管理

检查账户是否被允许登录系统,账号是否已过期,账号的登录是否有时间段的限制等权限

password

密码管理

主要是用来修改用户的密码

session

会话管理

主要是提供对会话的管理和记账

使用PAM认证模块,限制某个命令或是服务的使用权限

vi编辑该命令在/etc/pam.d/下对应的配置文件,启用pam_wheel模块

添加授权用户到wheel组

示例:

设置允许用户amder和user1使用su命令进行切换

[root@localhost ]# vi /etc/pam.d/su

#%PAM-1.0

auth            sufficient      pam_rootok.so

# Uncomment the following line to implicitly trust users in the "wheel" group.

#auth           sufficient      pam_wheel.so trust use_uid

# Uncomment the following line to require a user to be in the "wheel" group.

#auth           required        pam_wheel.so use_uid   #把最前面井号取消

auth            substack        system-auth

auth            include         postlogin

account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet

account         include         system-auth

password        include         system-auth

session         include         system-auth

session         include         postlogin

session         optional        pam_xauth.so

把两个用户添加到组里

[root@localhost ~]# gpasswd -M amder,user1 wheel

把组添加到配置文件里

[root@localhost ~]# grep wheel /etc/group

wheel:x:10:amder,user1

是一个组的有权su切换用户,没有权限拒绝su切换

[amder@localhost ~]$ su user1

密码:

[user1@localhost amder]$

[xiao1@localhost amder]$ su amder        #xiao1无法使用su命令

密码:

su: 密码不正确

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jwebsocket传图片_Java中带有JWebSocket的WebServerSocket

jwebsocket传图片首先,转到http://jwebsocket.org/下载2个软件包Server and Client。 如果要查看源代码,请下载源代码包。 服务器 解压缩服务器程序包。 转到“ conf”文件夹 选择“ jWebSocket.xml”文件打开 编辑“ jWebSocket.xml”文件&#xff…

i3能装Linux虚拟机,使用i3wm重新安装Ubuntu

过去几天,我一直在Kubuntu 14.04.1 LTS(Ubuntu衍生产品)上使用i3wm,但体验有些不同。由于Ubuntu使用LightDM Display Manager,因此您可以安装i3wm并尝试与当前的窗口管理器一起使用。只需在外壳中使用以下命令安装适当的软件包:su…

99. 恢复二叉搜索树

99. 恢复二叉搜索树题意在BST中存在两个元素被交换了,现在需要把这两个元素给交换回来变成BST。解题思路将其转为数组,并且排好序后重新赋值给树结点;使用变量pre来保存访问的前一个结点,因为是中序遍历,所以前面一个结…

用Hamcrest验证DateTime和日期

自从我开始涉足自动化测试和练习TDD以来,验证日期值很痛苦。 幸运的是,这里有一个不错的库,可用于遗留Date和新的Java 8 DateTime API ,从而解决了这一难题。 如果您属于Java开发社区中较健康的部分,并且每天练习单元…

linux找回rm的文件夹,Linux rm 文件恢复

Linux下删除命令 rm 大家肯定是熟悉得不能再熟悉了,然后有时候却阴沟里翻船不小心删除了某些重要的文件,想死的心都有了。。。。现在我们就来看看被误删除的文件要如何恢复?Linux文件系统Linux的文件系统(如ext3、ext4)由三部分组成&#xff…

linux xargs命令,xargs 命令教程

xargs是 Unix 系统的一个很有用的命令,但是常常被忽视,很多人不了解它的用法。本文介绍如何使用这个命令。一、标准输入与管道命令Unix 命令都带有参数,有些命令可以接受"标准输入"(stdin)作为参数。$ cat /etc/passwd | grep root…

java 职责链模式_Java中的责任链模式

java 职责链模式当应有几个处理器来执行某项操作并为这些处理器定义特定顺序时,就需要采用责任链设计模式。 在运行时处理器顺序的可变性也很重要。模式的UML表示如下: 处理程序定义处理器对象的一般结构。 这里的“ HandleRequest”是抽象处理器方法。 …

ArcMap 导入Excel坐标数据

1 准备Excel坐标数据集合 2 ArcMap加入Excel数据 将excel文件放入arcmap工作区的物理路径下在工作区的根图层上点键,选择添加数据,找到excel文件并选择相应的工作薄完成后,excel工作薄即导入工作区左边的图层下。3 ArcMap加入图层文件 在S…

linux6如何分区,CentOS6.9安装 硬盘分区方案与分区步骤

Linux默认可分为3个分区,分别是boot分区、swap分区和根分区:1、swap:交换分区,实现虚拟内存,建议大小是物理内存的1~2倍。2、/boot:用来存放与系统启动有关的程序,比如启动引导装载程序等&#…

实施自定义JMeter采样器

随着我们采用不同的体系结构和实现方式,对通用压力测试工具的需求不断增长。 Apache Jmeter是进行负载测试时最著名的工具之一。 它支持许多协议,例如ftp http tcp,并且可以轻松地用于分布式测试。 Jmeter还为您提供了一种创建自定义采样器…

hdu 6194 后缀数组

题意:一个字符串,查询恰好出现k次的子串的数目 思路:后缀数组在height上进行操作。我们直接枚举长度为k的区间求min值,但是要注意的是直接这么算是会重复的,同时也可能超过k次,这样我们就需要把枚举的前一个…

linux grep命令 例子,14个grep命令使用例子

所有的类linux系统都会提供一个名为grep(global regular expression print,全局正则表达式输出)的搜索工具。grep命令在对一个或多个文件的内容进行基于模式的搜索的情况下是非常有用的。模式可以是单个字符、多个字符、单个单词、或者是一个句子。当命令匹配到执行…

JSP动作元素

https://www.w3cschool.cn/jsp/jsp-actions.html JSP动作元素在请求处理阶段起作用。JSP动作元素是用XML语法写成的。 动作是第三种类型的语法元素,它们被转换成java代码来执行操作。如访问一个java对象或调用方法 利用JSP动作可以动态地插入文件、重用JavaBean组件…

c语言中的所有代码大全,C语言库函数代码大全

O类字母函数名: open 功 能:打开一个文件用于读或写 用 法: int open(char *pathname,int access[, int permiss]); 程序例: #include#include#include#include int main(void) { inthandle; char msg[] "Helloworld";if ((handle open("TEST.$$$", O_CRE…

依赖注入通俗解释_我如何向团队解释依赖注入

依赖注入通俗解释最近,我们公司开始开发一个新的基于Java的Web应用程序,经过一些评估过程,我们决定使用Spring。 但是许多团队成员并不了解Spring和Dependency Injection的原理。 因此,我被要求给出一个速成班,讲解什么…

session cookie

http://www.cnblogs.com/andy-zhou/p/5360107.html(牛逼网址) http://www.cnblogs.com/shiyangxt/archive/2008/10/07/1305506.html(同款牛逼) cookie: session: Session是另一种记录客户状态的机制,不同的是Cookie保存…

C语言程序设计二期末考试,9第二学期期末考试《C语言程序设计》A

期末试题 二级c语言………………………………装………………………………订…………………………………线………………………………安徽工业大学题纸(一)2009~2010学年第一学期期末考试《C程序设计(2)》试卷 A考试时间:120分钟满分:100分(作题答案一律写…

SWT ScrolledComposite解释

就像我的一个朋友曾经说过的那样,SWT的ScrolledComposite是令人讨厌的野兽。 在某种程度上,我同意。 这可能是为什么有太多关于如何使用此小部件的问题的原因。 但不仅是ScrolledComposite的作者受到了谴责。 当某个软件无法按您预期的方式工作时&#…

c语言中变量的值十进制,C语言中介绍的整型变量 即十进制 十六进制什么的是什么意思 能具体解释一下吗 还有换算什么的 谢谢...

二进制.八进制.十进制.十六进制.编程序时不需要换算。输入的时候八进制%o十六进制%x十进制%d在计算机都一样是二进制,不影响计算,不存在转换问题。输出的时候,同理用%o,%d,%x输出相应的进制。(0.56)85*8-16*8-2(0.71875)10(12A)161*1622*161A…

大数相加c语言思路,大数相加

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include /**** 定义双向节点* 数据区为一个整型数字***/struct Node {int number;//数据区,仅一个数字,保存一位数字struct Node * next;struct Node * prev;};typedef struct Node Node;/*** 创建…