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:

 

评分:0

我来说两句

Open Toolbar