接前一篇文章:PAM从入门到精通(二)
本文参考以下博文:
PAM模块详解及sudo命令
PAM 的应用开发和内部实现源码分析
PAM详解(一)PAM介绍
Linux进阶_PAM认证机制
Oracle Solaris 10 开发者安全性指南 —— PAM 框架介绍
特此致谢!
先再来重温一下PAM系统架构:
更加形象的形式:
四、PAM认证原理与认证机制
1. PAM认证原理
PAM认证原理如下所示:
(1)PAM认证一般遵循这样的顺序:Service(服务)→ PAM(配置文件)→ pam_*.so;
(2)PAM认证首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security/或/usr/lib/security/下)进行安全认证。
2. PAM认证机制
PAM认证过程如下:
(1)使用者执行passwd
程序,并输入密码;
(2)passwd程序
调用PAM模块。PAM模块会搜寻passwd
程序的PAM相关设置文件,这个设置文件一般是在/etc/pam.d/里边的与程序同名的文件,即PAM会搜寻/etc/pam.d/pam_unix_passwd.so
文件;
(3)经由/etc/pam.d/pam_unix_passwd.so
设定文件的数据,取用PAM所提供的相关模块来进行验证;
(4)将验证结果回传给passwd
程序。passwd
程序会根据PAM回传结果决定下一个动作(重新输入密码或者通过验证)。