加入收藏

Linux下PAM认证详解(以centos7为例) 环球快看点

2023-07-04 09:35:27 来源:博客园

Linux下PAM认证详解(以centos7为例)

PAM简介(Pluggable Authentication Modules,可插拔认证模块)

Sun公司于1995年开发的一种与认证相关的通用框架机制:PAM(可插拔认证模块)是实现认证工作的一个模块。 因为每个服务都用到不同的认证方式,所以就需要不同的认证库。 认证库有文本文件,MySQL数据库,NIS ,LDAP等,这些库所对应的系统模块位于/lib64/security/目录下的所有库文件(以".so"后缀的文件)。 PAM是关注如何为服务验证用户的API(应用程序接口),通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开。 使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式,而无需更改服务程序。 PAM是一种认证框架,自身不做认证。 PAM提供了对所有服务进行认证的中央机制,适用于login ,远程登录(telnet,rlogin,fsh,ftp, 点对点协议(PPP )),su等应用程序中。 系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略。 应用程序开发者通过在服务程序中使用PAM API(pam_xxxx( )) 来实现对认证方法的调用。 PAM 服务模块的开发者则利用PAM SPI来编写模块(主要是引出一些函数pam_sm_xxxx( ) 供PAM 接口库调用),将不同的认证机制加入到系统中。 PAM 接口库(libpam )则读取配置文件,将应用程序和相应的PAM 服务模块联系起来 。

PAM架构

PAM认证原理

PAM认证一般遵循这样的顺序:Service(服务)→PAM(配置文件)→pam_*.so。


(资料图)

PAM认证首先要确定那一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证。认证原理图如下图所示:

PAM 认证过程

1)使用者执行/usr/bin/passwd程序,并输入密码。

2)passwd开始呼叫PAM模块,PAM模块会搜寻passwd程序的PAM 相关设定文件,这个设定文件一般是在/etc/pam.d/里边的与程序同名的文件 ,即PAM 会搜寻/etc/pam.d/passwd这个设置文件。

3)经由/etc/pam.d/passwd 设定文件的数据,取用PAM 所提供的相关模块来进行验证。

4)将验证结果回传给passwd 这个程序,而passwd 这个程序会根据PAM回传的结果决定下一个动作(重新输入密码或者通过验证)

PAM的配置文件

1)pam的配置文件当中为每种应用定义其需要用到的模块,包括驱动、授权机制等。2)配置文件模块文件目录:/lib64/security/*.so模块配置文件:/etc/security/*.conf环境相关的设置:/etc/security/主配置文件:/etc/pam.conf ,默认不存在。次级配置文件目录:/etc/pam.d/,该配置文件目录下的每个配置文件都对应一个应用模块的专用配置文件注意:如/etc/pam.d 存在,/etc/pam.conf 将失效3)模块通过读取模块配置文件完成用户对系统资源的使用控制4)注意:修改PAM 配置文件将马上生效5)建议:编辑pam规则时 ,保持至少打开一个root会话,以防止root 身份验证错误6)通用配置文件/etc/pam.conf 格式application 、type 、control 、module-path 、module-arguments7)专用配置文件/etc/pam.d/* 格式type、control、module-path、module-arguments8)说明:1》tyoe(功能,模块类型):包括auth,account,password,session。auth:认证和授权;account:与账号管理相关的非认证功能;password:用户修改密码时使用;session:用户获取到服务前后使用服务完成后要进行的一些附属性操作-type:表示因为缺失而不能加载的模块将不记录到系统日志, 对于那些不总是安装在系统上的模块有用2》control:pam如何处理与该服务相关的pam的成功或失败情况?同一种功能的多个检查之间如何进行组合?有两种实现机制。1.使用一个关键词来定义:required(必填):一票否决,表示本模块必须返回成功才能通过认证,但是如果该模块返回失败,失败结果也不会立即通知用户,而是要等到同一type中的所有模块全部执行完毕再将失败结果返回给应用程序。 必要条件requisite(必要):一票否决,该模块必须返回成功才能通过认证,但是一旦该模块返回失败,将不再执行同一type 内的任何模块,而是直接将控制权返回给应用程序。必要条件sufficient(足够):一票通过, 表明本模块返回成功则通过身份认证的要求,不必再执行同一type内的其它模块,但如果本模块返回失败可忽略。充分条件optional(可选项):表明本模块是可选的,它的成功与否不会对身份认证起关键作用,其返回值一般被忽略include(包括):使用其他配置文件中同样功能的相关定义来进行检查2.使用一到多组“return status=action”来定义;[status1=action1  status2=action2....]status:指定此项检查的返回值,其可能的取值有多种。如success。action:采取的操作,其可能的取值常用的有6种,如ok,done,die,ignore,bad,reset。ok 模块通过,继续检查done  模块通过,返回最后结果给应用bad  结果失败,继续检查die  结果失败,返回失败结果给应用ignore  结果忽略,不影响最后结果reset  忽略已经得到的结果3》module-path:模块路径,用来指明本模块对应的程序文件的路径名。相对路径绝对路径4》module-argument:模块参数,用来传递给该模块的参数。pam_unix.so:nullok:允许使用空密码;try_first_pass:提示用户输入密码之前,首先检查此前栈中已经得到的密码;pam_env.so:通过配置文件来为用户设定或撤销环境变量,/etc/security/pam_env.confpam_shells.so:检查用户使用的是否为合法shell,/etc/shellspam_limits.so:资源限制,/etc/sercurity/limits.conf ;/etc/sercurity/limits.d/*

安全等保常用的PAM配置文件

/etc/pam.d/password-auth 和 /etc/pam.d/system-auth 文件,对于pam认证的安全配置大多在这两个文件上进行修改。

注意:修改PAM 配置文件将马上生效。建议:编辑pam规则时 ,保持至少打开一个root会话,以防止root 身份验证错误,对于修改完的pam文件及时验证root登录正确性。

已知情况:一般pam规则修改不正确,登录时会出现 su:Module is unknow、su: Permission denied

PAM文档

/usr/share/doc/pam-*rpm -qd pamman –k pamman 模块名,如man rootok《The Linux-PAM System Administrators" Guide》

限制的实现方式

共有3种方式:1)通过ulimit命令2)在/etc/security/limits.d/目录下创建限制文件来实现3)修改/etc/pam.d/目录下的配置文件,这是使用pam模块来实现的1)ulimit 命令,修改shell资源的限制,立即生效,但无法保存。ulimit-Modify shell resource limits.ulimit [-SHacdefilmnpqrstuvx] [limit]Options:-S使用软资源限制-H使用硬资源限制-a所有当前限制的报告-b套接字缓存尺寸-c最大的核心文件创建尺寸-d最大程序的数据分割尺寸-e最大的调度优先级(`nice")-f被shell及其子进程写入文件的最大尺寸-i最大待定信号的数值-l进程可能锁定到内存的最大尺寸-m最大驻留设置尺寸-n最大打开文件描述符的数值-p管道缓存尺寸-qPOSIX 消息队列中的最大字节数-r最大实时调度优先级-s最大堆尺寸-tcpu 时间的最大值 (以秒为单位)-u用户进程的最大值-v虚拟内存的尺寸-x文件锁定的最大数值-n 最多的打开的文件描述符个数-u 最大用户进程数-S 使用 `soft" (软)资源限制-H 使用 `hard" (硬)资源限制2)创建限制文件:/etc/security/limits.conf:说明文件,也可以直接在这里面进行定义!/etc/security/limits.d/*.conf:限制文件,每行一个定义;限制文件中的限制语法为:   :应用于哪些对象username  单个用户@group  组内所有用户*所有用户:限制的类型Soft  软限制, 普通用户自己可以修改Hard  硬限制, 由root用户设定,且通过kernel强制生效- 二者同时限定:限制的资源nofile  所能够同时打开的最大文件数量, 默认为1024nproc  所能够同时运行的进程的最大数量, 默认为1024...:指定item所对应的具体值3)修改/etc/pam.d/目录下的配置文件使用PAM模块实现:1》模块:pam_shells功能:检查有效shellman pam_shells示例:不允许使用/bin/csh 的用户本地登录vim /etc/pam.d/loginauth required pam_shells.sovim /etc/shells去掉 /bin/cshuseradd –s /bin/csh testusertestuser 将不可登录tail /var/log/secure2》模块:pam_securetty.so功能:只允许root 用户在/etc/securetty 列出的安全终端上登陆示例:允许root 在telnet 登陆vi /etc/pam.d/login#auth required pam_securetty.so # 将这一行加上注释或者/etc/securetty 文件中加入pts/0,pts/1…pts/n3》模块:pam_nologin.so功能: 如果/etc/nologin 文件存在, 将导致非root用户不能登陆,如果 用户shell 是/sbin/nologin 时,当该用户登陆时,会显示/etc/nologin.txt 文件内容,并拒绝登陆4》模块:pam_limits.so功能:在用户级别实现对其可使用的资源的限制,例如:可打开的文件数量,可运行的进程数量,可用内存空间,最多打开的文件数和运行进程数。vim  /etc/pam.d/system-authsession  required  pam_limits.sovim  /etc/security/limits.confapache  –  nofile  10240apache用户可打开10240个文件student  hard  nproc  20  不能运行超过20个进程

参考连接:https://www.cnblogs.com/shenxm/p/8451889.html

关键词:

相关新闻

资讯

明发:聚合社创始人,推动股市革新的领军者
明发:聚合社创始人,推动股市革新的领军者

中国股市成立30余载,时至今日,其将近百万亿市值已然......更多>

我与狗马驴的情人(王怀忠的情人马某)
我与狗马驴的情人(王怀忠的情人马某)

1、当然有 去五金店问问 会有满意答案。本文就为大......更多>

天天微动态丨花鸟画写意画法教程
天天微动态丨花鸟画写意画法教程

1、《花鸟画写意画法教程》是2018年广西美术出版社出......更多>

集美区灌口双岭村将建设千亩高标准农田
集美区灌口双岭村将建设千亩高标准农田

厦门网讯(厦门日报记者应洁)保障粮食安全,助力乡村......更多>

小水榕造景_小水榕
小水榕造景_小水榕

1、水榕种植要点:照明虽然低光照部份水榕仍能生长,......更多>

天天头条:去一次山西,我被中式审美暴击了
天天头条:去一次山西,我被中式审美暴击了

山西的魅力,从未被博物馆的玻璃柜所驯服,它一直如繁......更多>

【聚看点】大数据成为白洋淀湿地污染证据固定利器
【聚看点】大数据成为白洋淀湿地污染证据固定利器

正义网北京6月30日电(见习记者王极)6月30日,最高检发......更多>

全球快播:江阴、宜兴撤市设区是否有规划?官方回应:将加快无锡市域一体化发展
全球快播:江阴、宜兴撤市设区是否有规划?官方回应:将加快无锡市域一体化发展

7月3日电,有网友向江苏省政府“政民互动”栏目留言:......更多>

六旬老人自制中药胶囊治腰痛 结果中毒被送进ICU抢救 当前视讯
六旬老人自制中药胶囊治腰痛 结果中毒被送进ICU抢救 当前视讯

【来源:武汉广播电视台】六旬老人听信“秘方”治腰痛......更多>

新一周高湿闷热持续 扬州何时出梅?
新一周高湿闷热持续 扬州何时出梅?

上周末高温夹着高湿,让梅雨的气息变得浓郁。接下来的......更多>

关注

球童大选拔!国际篮联篮球世界杯球童选拔赛成都落幕-焦点短讯
球童大选拔!国际篮联篮球世界杯球童选拔赛成都落幕-焦点短讯
记者7月3日从成都市篮球协会获悉,通过国际篮联篮球世... 更多>
球童大选拔!国际篮联篮球世界杯球童选拔赛成都落幕-焦点短讯
记者7月3日从成都市篮球协会获悉,通过国际篮联篮球世... 更多>
每日信息:平行志愿是什么意思(倦鸟知返是什么意思)
平行志愿是什么意思,倦鸟知返是什么意思这个很多人还... 更多>
先导智能(300450.SZ):累计耗资1006.24万元回购28万股 天天最资讯
来源:格隆汇格隆汇7月3日丨先导智能(300450 SZ)公布... 更多>
带宠物的游戏大型游戏_带宠物的游戏
1、《双星物语2》Q版的ARPG所有的人物、怪物、建筑都... 更多>
女篮亚洲杯:韩旭荣膺MVP 携李梦入选最佳阵容 环球时讯
中新社北京7月2日电中国女篮球员韩旭荣膺2023年女篮亚... 更多>
天天头条:俄罗斯总统普京将出席上合组织成员国元首理事会视频会议
【俄罗斯总统普京将出席上合组织成员国元首理事会视频... 更多>
焦点报道:天津市政府采购合同授予中小微企业65.38亿元 金额占比超六成
记者从天津市财政局获悉,今年1月至5月,我市政府采购... 更多>
CCTV5直播温网,郑钦文+张帅领衔中国金花出战,德约科维奇亮相|天天快讯
大约23时30分,张帅在12号球场对决赛会女单20号种子维... 更多>
世界新消息丨银信科技:控股股东、实控人质押5.13%公司股份
银信科技7月3日公告,持股23 98%控股股东、实际控制... 更多>
高管曾言等本土车企“烧死了”再来抢市场!悦达起亚被曝已严重资不抵债
高管曾言等本土车企“烧死了”再来抢市场!悦达起亚被... 更多>
大宗交易:聚合顺成交1824.83万元,折价10.84%(07-03) 快消息
2023年7月3日,聚合顺发生了2笔大宗交易,总成交万股... 更多>
86岁“演艺圈元老”性侵被捕! 全球看点
据韩媒6月30日报道一名担任教授的86岁演艺界前辈因性... 更多>