pam_setcred 子例程

用途

建立,更改或除去用于认证的用户凭证。

PAM 库 (libpam.a)

语法

#include <security/pam_appl.h>

int pam_setcred (PAMHandle, Flags)
pam_handle_t *PAMHandle;
int Flags;

描述

pam_setcred 子例程允许修改当前 PAM 会话的 PAM 用户的凭证。 定义了诸如建立,删除,更新和刷新凭证之类的功能。

参数

描述
PAMhandle 表示当前用户认证会话的 PAM 句柄。 此句柄通过调用 pam_start ()获取。
标志 这些标志用于设置 pam_setcred 选项。 识别的标志为:
  • PAM_SILENT
    • 不应显示任何消息。
  • PAM_ROOT_CRED*
    • 设置用户的凭证。 这是缺省情况。
  • PAM_DELETE_CRED*
    • 除去用户凭证。
  • PAM_REINITIALIZE_CRED*
    • 更新用户凭证。
  • PAM_REFRESH_CRED*
    • 刷新用户凭证,延长其生存期。
* 互斥,但在逻辑上可以是 OR ' d 与 PAM_SILENT。 如果未设置其中一个值,那么将假定为 PAM_INDEX.CRED

返回值

成功完成后, pam_setcred 将返回 PAM_SUCCESS。 如果例程失败,那么将根据实际错误返回其他错误。

错误代码

描述
PAM_CRED_UNAVAIL 找不到用户凭证。
PAM_CRED_EXPIRED 用户的凭证已到期。
PAM_CRED_ERR 设置用户凭证时发生故障。
PAM_USER_UNKNOWN 用户未知。
PAM_OPEN_ERR 无法装入其中一个 PAM 认证模块。
PAM_SYMBOL-err 必需项不可用于 PAM 模块。
PAM_SERVICE_ERR 在 PAM 模块中发生错误。
PAM_SYSTEM_ERR 发生系统错误。
PAM_BUF_ERR 发生内存错误。
PAM_CONV_ERR 发生对话错误。
PAM_PERM_DENIED 用户拒绝了访问许可权。