Linux PAM
上一篇 /
下一篇 2013-03-19 09:05:03
/ 个人分类:linux
- PAM模块
- 在过去,我们想要对一个使用者进行认证,得要要求用户输入账号密码,然后透过自行编写的程序来判断该账号密码是否正确,因此,我们常常得用不同的机制来判断账号密码,所以搞的一部主机上面拥有多个级别的认证系统,页造成账号密码可能不同步验证问题,PAM提供了一连串的验证机制,只要使用者将验证阶段的需求告知PAM后,PAM就能够回报使用者验证的结果。由于PAM仅是一套验证的机制,又可以提供给其他程序所呼叫使用,因此不论你使用什么程序,都可以使用PAM来进行验证,如此一来,就能让账号密码或者是其他方式的验证具有一致的结果
- 验证类别
- auth:这种类别主要用来检验使用者的身份验证,这种类别通常需要密码来检验,所以后续的模块使用来检验用户的身份
- account:这种类别主要检验使用者是否具有正确的权限
- session:这个类别通常用在记录用户登录与注销时的信息
- password:这种类别主要提供验证的修订工作
- 一般顺序是 auth account session password
- 控制标准
- required:验证成功返回success的标志,若失败返回failure,但是不论成功失败都会继续后续的验证流程,因此相当有利于资料的登录(常用)
- requisite:验证失败返回failure,并终止后续验证流程,验证成功则继续执行
- sufficient:验证成功返回success,并终止后续验证流程,验证失败则继续执行
- optional:用来显示信息
- /etc/pam.d/* :每个程序的PAM配置文件
- /lib/security/*:PAM模块文件实际放置目录
- /etc/security/*:其他PAM环节的配置文件
- /usr/share/doc/pam-*/:详细的PAM说明文件
- PAM常用模块
- pam_securetty.so 限制系统管理员只能从安全的终端机登录
- pam_nologin.so限制一般用户是否能够登录主机
- pam_selinux.so针对SELinux来进行细部管理权限
- pam_console.so当系统出现问题,或者某些时刻你需要特殊的终端接口登录主机时,这个模块可以帮助处理一些文件权限的问题
- pam_loginuid.so为了验证使用者的uid真的是我吗所需要的数值,可以使用这个模块来进行规范
- pam_env.so用来设定环境变量的一个模块
- pam_unix.so这个模块可以用在验证阶段的认证功能,可以用在授权阶段的账号许可证管理,可以用在会话阶段的登录文件记录等,甚至也可以用在密码更新阶段的检验
- pam_cracklib.so可以用来检验密码的强度,包括密码是否在字典中,密码输入几次都失败就断掉此次联机等功能
- pam_limits.so提供类似ulimit命令的功能
- 如果发生任何无法登陆或者是产生一些你无法预期的错误时,由于PAM模块都会记录在/var/log/secure当中,所以发生了问题应当到该文件中去查询一下问题
- 查询使用者 w who last lastlog
- 与使用者对谈 write mesg wall
- 检查工具
- pwck检查账号与实际家目录是否存在,以及passwd内的数据字段错误
- pwconv检查passwd中的账号是否有对应的密码
- pwuconv
- chpasswd
收藏
举报
TAG: