This account is system account or mail account.
Please DO NOT use this account to login my Linux server.
½果会发现与原本的默认讯息不一样喔!
^_^
13.5.2 PAM
模块简½
在过去,我们想要对一个使用者½行认证
(authentication)
,得要要求用户输入账号密码,
然后透过
自行撰写的程序来判断该账号密码是否正确。也因为如此,我们常常得使用不同的机制来判断账号密
码,
所以搞的一部主机上面拥有多个各别的认证系统,也造成账号密码可能不同步的验证问题!
了½决这个问题因此有了
PAM (Pluggable Authentication Modules,
嵌入式模块
)
的机制!
PAM
可以说是一套应用程序编程½口
(Application Programming Interface, API)
,他提供了一连串的
验证机制,只要使用者½验证½段的需求告知
PAM
后,
PAM
就能够回报使用者验证的½果
(
功或失败
)
。由于
PAM
½是一套验证的机制,又可以提供给其他程序所呼½引用,因此不论你使用
什么程序,都可以使用
PAM
来½行验证,如此一来,就能够让账号密码或者是其他方式的验证具
有一致的½果!也让程序设计师方便处理验证的问题喔!
(
5
)
13.5.1
PAM
模块与其他程序的相关性
如上述的图示,
PAM
是一个独立的
API
存在,只要任何程序有需求时,可以向
PAM
发出验证要
求的通知,
PAM
经过一连串的验证后,½验证的½果回报给该程序,然后该程序就能够利用验证
的½果来½行可登入或显示其他无法使用的讯息。
这也就是说,你可以在写程序的时候½
PAM
块的功能加入,就能够利用
PAM
的验证功能啰。
因此目前很多程序都会利用
PAM
喔!所以我们
才要来学习他啊!
PAM
用来½行验证的数据称为模块
(Modules)
,每个
PAM
模块的功能都不太相同。举例来说,
记得我们在本章使用
passwd
指令时,如果随便输入字典上面找的到的字符串,
passwd
就会回报错
误信息了!这是为什么呢?这就是
PAM
pam_cracklib.so
模块的功能!他能够判断该密码是否在
字典里面!
并回报给密码修改程序,此时就能够了½你的密码强度了。
所以,当你有任何需要判断是否在字典当中的密码字符串时,就可以使用
pam_cracklib.so
这个模块
来验证!
并根据验证的回报½果来撰写你的程序呢!这样说,可以理½
PAM
的功能了吧?