Pam模块属于一个认证模块,通过提供一些动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系统中添加新的认证手段。
配置文件/etc/pam.conf /etc/pam.d/
模块查看 man -k pam
四个认证模式参数
1、认证管理auth(authentication management)
主要是接受用户名和密码,进而对该用户的密码进行认证,并负责设置用户的一些私密信息。
2、帐户管理account(account management)
主要是检查帐户是否被允许登录系统,帐号是否已经过期,帐号的登录是否有时间段的
限制等等。
3、密码管理passwd(password management)
主要是用来修改用户的密码。
4、会话管理session(session management)
主要是提供在接入之后的限制。
四个认证过程参数
required,requisite,sufficient,optional。
required 表示本模块必须返回成功才能通过认证,但是如果该模块返回失败的话,失败结果也不会立即通知用户,而是要等到同一stack 中的所有模块全部执行完毕再将失败结果返回给应用程序。可以认为是一个必要条件。
requisite 与required类似,该模块必须返回成功才能通过认证,但是一旦该模块返回失败,将不再执行同一stack内的任何模块,而是直 接将控制权返回给应用程序。是一个必要条件