Solaris 开发者安全性指南

PAM 消费方的要求

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

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

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