- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
PAM模块简介
PAM是由一个与程序相同文件名的配置文件来进行一连串的认证分析需求。我们同样以passwd这个指令的呼叫PAM来说明好了。当你执行passwd后,这支程序呼叫PAM的流程是:
1. 用户开始执行/usr/bin/passwd这支程序,并输入密码;
2. passwd呼叫PAM模块进行验证;
3. PAM模块会到/etc/pam.d/找寻与程序(passwd)同名的配置文件;
4. 依据/etc/pam.d/passwd内的设定,引用相关的PAM模块逐步进行验证分析;
5. 将验证结果(成功、失败以及其他讯息)回传给passwd这支程序;
6. passwd这支程序会根据PAM回传的结果决定下一个动作(重新输入新密码或者通过验证!)
从上头的说明,我们会知道重点其实是/etc/pam.d/里面的配置文件,以及配置文件所呼叫的PAM模块进行的验证工作!既然一直谈到passwd这个密码修改指令,那我们就来看看/etc/pam.d/passwd这个配置文件的内容是怎样吧!
[root@study~]#cat/etc/pam.d/passwd
#%PAM-1.0 ==PAM版本的说明而已!
auth include system-auth ==每一行都是一个验证的过程
account include system-auth
password substack system-auth
-password optional pam_gnome_keyring.souse_authtok
password substack postlogin
验证类别 控制标准 PAM模块与该模块的参数
在这个配置文件当中,除了第一行宣告PAM版本之外,其他任何“#”开头的都是批注,而每一行都是一个独立的验证流程,每一行可以区分为三个字段,分别是验证类别(type)、控制标准(flag)、PAM的模块与该模块的参数。底下我们先来谈谈验证类别与控制标准这两项数据吧!
Tips:你会发现在我们上面的表格当中出现的是“include(包括)”这个关键词,他代表的是“请呼叫后面的文件来作为这个类别的验证”,所以,上述的每一行都要重复呼叫/etc/pam.d/system-auth那个文件来进行验证的意思!
第一个字段:验证类别(Type)
验证类别主要分为四种,分别说明如下:
? auth是authentication(认证)的缩写,所以这种类别主要用来检验使用者的身份验证,这种类别通常是需要密码来检验的,所以后续接的模块是用来检验用户的身份。
? account是account(账号),大部分是在进行authorization(授权),这种类别则主要在检验使用者是否具有正确的权限,举例来说,当你使用一个过期的密码来登入时,当然就无法正确的登入了。
? session
session是会议期间的意思,所以session管理的就是使用者在这次登入(或使用这个指令)期间,PAM所给予的环境设定。这个类别通常用在记录用户登入与注销时的信息!例如,如果你常常使用su或者是sudo指令的话,那么应该可以在/var/log/secure里面发现很多关于pam的说明,而且记载的数据是“sessionopen,sessionclose”的信息!
? password
password就是密码嘛!所以这种类别主要在提供验证的修订工作,举例来说,就是修改/变更密码啦!
这四个验证的类型通常是有顺序的,不过也有例外就是了。会有顺序的原因是,(1)我们总是得要先验证身份(auth)后,(2)系统才能够藉由用户的身份给予适当的授权与权限设定(account),而且(3)登入与注销期间的环境才需要设定,也才需要记录登入与注销的信息(session)。如果在运作期间需要密码修订时,(4)才给予password的类别。这样说起来,自然是需要有点顺序吧!
第二个字段:验证的控制旗标(controlflag)
那么“验证的控制旗标(controlflag)”又是什么?简单的说,他就是“验证通过的标准”啦!这个字段在管控该验证的放行方式,主要也分为四种控制方式:
? required
此验证若成功则带有success(成功)的标志,若失败则带有failure的标志,但不论成功或失败都会继续后续的验证流程。由于后续的验证流程可以继续进行,因此相当有利于资料的登录(log),这也是PAM最常使用required的原因。
? requisite
若验证失败则立刻回报原程序failure的标志,并终止后续的验证流程。若验证成功则带有success的标志并继续后续的验证流程。这个项目与required最大的差异,就在于失败的时候还要不要继续验证下去
文档评论(0)