一、PAM模块介绍
PAM(Pluggable Authentication Modules)是由Sun提出的一种认证机制。它通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系统中添加新的认证手段。
PAM使用配置/etc/pam.d/下的文件,来管理对程序的认证方式,应用程序调用相应的配置文件,从而调用本地的认证模块,模块放置在/lib/security下,以加载动态库的形式进,像我们使用su命令时,系统会提示你输入root用户的密码.这就是su命令通过调用PAM模块实现的。
建议查看终端是否是bash,此处踩过一次坑。
详细功能可参考 Linux下PAM模块学习总结
以下为我所使用的所有源码:
二、cracklib库
2.1 Cracklib介绍
Cracklib包含一个库,通过将用户选择的密码与所选单词列表中的单词进行比较