13.5.3 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.so use_authtok
password substack postlogin
验证类别
控制
PAM
参数
在这个配置文件当中,除了第一行宣告
PAM
版本之外,其他任何『
#
』开头的都是批注,而每一
行都是一个独立的验证流程,
每一行可以区分为三个字段,分别是验证类别
(type)
、控制标准
(flag)
PAM
的模块与该模块的参数。
底下我们先来谈谈验证类别与控制标准这两项数据吧!
Tips
你会发现在我们上面的表格当中出现的是『
include (
包括
)
』这个关键词,他代表的是『请呼½后面的文件来
作为这个类别的验证』,
所以,上述的每一行都要重复呼½
/etc/pam.d/system-auth
那个文件来½行验证的意思!
.
第一个字段:验证类别
(Type)
验证类别主要分为四种,分别说明如下:
.
auth
authentication (
认证
)
的缩写,所以这种类别主要用来检验使用者的身份验证,这种类别通常是需要密码
来检验的,
所以后续½的模块是用来检验用户的身份。
.
account
account (
账号
)
则大部分是在½行
authorization (
授权
)
,这种类别则主要在检验使用者是否具有正确的权限,
举例来说,当你使用一个过期的密码来登入时,当然就无法正确的登入了。