PAM 配置文件语法

pam.conf

service-name module-type control-flag module-path args

pam.d

每个服务独立文件

module-type

  • auth             认证用户    
  • account        实现一些非基础认证功能,比如"root"只能从控制台登录
  • session        为用户提供服务前的准备工作, 比如记录用户登录信息,挂载用户目录等
  • password     更新认证token,如更改密码

control-flag

  • required       同是required都要求执行,一个失败其他都失败  
              [success=ok new_authtok_reqd=ok ignore=ignore default=bad]
  • requisite       和required 相似, 其中一个失败便返回结果
                         [success=ok new_authtok_reqd=ok ignore=ignore default=die] 
  • sufficient       成功则返回, 在之前的required 模块都必须成功
                         [success=done new_authtok_reqd=done default=ignore] 
  • optional         没有返回结果
                         [success=ok new_authtok_reqd=ok default=ignore] 

更详尽的语法

[value1=action1 value2=action2 ...]

values

  • success
  • open_err
  • symbol_err
  • service_err
  • system_err
  • buf_err
  • perm_denied
  • auth_err
  • cred_insufficient
  • authinfo_unavail
  • user_unknown
  • maxtries
  • new_authtok_reqd
  • acct_expired
  • session_err
  • cred_unavail
  • cred_expired
  • cred_err
  • no_module_data
  • conv_err
  • authtok_err
  • authtok_recover_err
  • authtok_lock_busy
  • authtok_disable_aging
  • try_again
  • ignore
  • abort
  • authtok_expired
  • module_unknown
  • bad_item
  • default

actions

  • ignore          忽略执行结果
  • bad              如果失败,结果被用于整个执行栈
  • die                和bad相似, 但是失败直接返回结果,后续栈不执行
  • ok                 如果PAM_SUCCESS 覆盖之前值
  • done             和ok 相似, 但是栈直接返回结果 
  • reset              重置栈当前状态
原文地址:https://www.cnblogs.com/ricardo/p/2279911.html