在 Oracle® Solaris 11.2 中管理 Kerberos 和其他验证服务

退出打印视图

更新时间: 2014 年 9 月
 
 

PAM 栈示例

以下示例显示了 /etc/pam.d/other 文件样例中的缺省验证管理定义。如果未配置任何特定于服务的验证定义,则将这些定义用于验证。

##
# Default definitions for Authentication management
# Used when service name is not explicitly mentioned for authentication
#
auth definitive         pam_user_policy.so.1
auth requisite          pam_authtok_get.so.1
auth required           pam_dhkeys.so.1
auth required           pam_unix_auth.so.1
auth required           pam_unix_cred.so.1 

首先,使用 pam_user_policy.so 模块检查用户的 PAM 策略。definitive 控制标志指示当配置的 PAM 栈评估结果为成功时,向应用程序返回成功代码,因为此时未检查其他模块。如果配置的 PAM 栈评估结果为失败,则会向应用程序返回失败代码,并且不会进一步检查。如果未向此用户分配任何基于用户的 PAM 策略,则将执行下一个模块。

如果未向此用户分配基于用户的 PAM 策略,则将执行 pam_authtok_get 模块。此模块的控制标志设置为 requisite。如果 pam_authtok_get 失败,则验证过程将结束并向应用程序返回失败代码。

如果 pam_authtok_get 没有失败,则将执行接下来的三个模块。这些模块配置有 required 控制标志,因此无论是否返回了单个失败代码,集成处理过程都将继续进行。执行 pam_unix_cred 后,不再执行剩余的任何模块。此时,如果所有模块均已成功,则会向应用程序返回成功代码。如果 pam_dhkeyspam_unix_authpam_unix_cred 中的任意一个返回了失败代码,则会向应用程序返回失败代码。