面向开发者的 Oracle® Solaris 11 安全性指南

退出打印视图

更新时间: 2014 年 7 月
 
 

PAM 使用者的要求

PAM 使用者必须与 PAM 库 libpam 链接。应用程序使用模块提供的任何服务之前,必须通过调用 pam_start(3PAM) 初始化其 PAM 库的实例。调用 pam_start() 可初始化必须传递给所有后续 PAM 调用的句柄。应用程序完成使用 PAM 服务后,系统将调用 pam_end() 以清除 PAM 库已使用的任何数据。

    PAM 应用程序与 PAM 模块之间的通信是通过进行的。例如,以下各项有助于进行初始化:

  • PAM_USER-当前验证的用户

  • PAM_AUTHTOK-口令

  • PAM_USER_PROMPT-用户名提示

  • PAM_TTY-用户借此进行通信的终端

  • PAM_RHOST-用户借此进入系统的远程主机

  • PAM_REPOSITORY-对用户帐户系统信息库的任何限制

  • PAM_RESOURCE-对资源的任何控制

有关可用项的完整列表,请参见 pam_set_item(3PAM)。应用程序可以通过 pam_set_item(3PAM) 对项进行设置。应用程序可以通过 pam_get_item(3PAM) 检索模块已设置的值。但是,应用程序不能检索 PAM_AUTHTOK 和 PAM_OLDAUTHTOK。无法设置 PAM_SERVICE 项。


注 - PAM 使用者必须拥有唯一的 PAM 服务名,该名称传递到 pam_start(3PAM)