3.2. 身份验证 Management

3.2.1. 用户认证服务功能

#include <security/pam_modules.h> 
   int pam_sm_authenticate( 
   pamh,  
   flags,  
   argc,  
   argv); 
 pam_handle_t *pamh; 
 int flags; 
 int argc; 
 const char **argv; 

3.2.1.1. DESCRIPTION

pam_sm_authenticate函数是服务模块对 pam_authenticate(3)接口的实现。

此功能执行验证用户的任务。

有效标志(可能与* PAM_SILENT *进行逻辑或)为:

3.2.1.2. 返回值

3.2.2. 服务功能以更改凭证

#include <security/pam_modules.h> 
   int pam_sm_setcred( 
   pamh,  
   flags,  
   argc,  
   argv); 
 pam_handle_t *pamh; 
 int flags; 
 int argc; 
 const char **argv; 

3.2.2.1. DESCRIPTION

pam_sm_setcred函数是服务模块对 pam_setcred(3)接口的实现。

该功能执行相对于相应授权方案更改用户凭据的任务。通常,身份验证模块可能会访问比其身份验证令牌更多的有关用户的信息。此功能用于使此类信息可供应用程序使用。仅在用户通过身份验证之后但未构建会话之前,才应将其称为。

有效标志(可能与* PAM_SILENT *进行逻辑或)为:

独立于pam_sm_setcred()返回代码的,用于评估pam_setcred()函数调用的导航* auth 堆栈的方式与评估pam_authenticate()库调用时的导航方式完全相同。通常,如果在评估pam_authenticate()时忽略了堆栈条目,那么当 libpam 评估pam_setcred()函数调用时,堆栈条目将被忽略。否则,来自每个模块特定pam_sm_setcred()调用的返回代码将被视为 required *。

3.2.2.2. 返回值

这些非* PAM_SUCCESS 返回值通常会导致凭证堆栈 failing *。第一个此类错误将以pam_setcred()的返回值为主。

上一章 首页 下一章