3.3. 帐户 Management

3.3.1. 账户 Management 服务功能

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

3.3.1.1. DESCRIPTION

pam_sm_acct_mgmt函数是 pam_acct_mgmt(3)接口的服务模块的实现。

此功能执行确定此时是否允许用户访问的任务。应当理解,用户先前已经由认证模块验证。此功能检查其他内容。这样的事情可能是:一天中的时间或日期,终端线路,远程主机名等。此功能还可以确定诸如密码到期之类的内容,并响应用户在 continue 操作之前对其进行更改。

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

  • PAM_SILENT

    • 不要发出任何消息。
  • PAM_DISALLOW_NULL_AUTHTOK

    • 如果此身份验证机制的身份验证令牌数据库为用户提供* NULL 条目,则返回 PAM_AUTH_ERR *。

3.3.1.2. 返回值

  • PAM_ACCT_EXPIRED

    • 用户帐户已过期。
  • PAM_AUTH_ERR

    • Authentication failure.
  • PAM_NEW_AUTHTOK_REQD

    • 用户的身份验证令牌已过期。在再次调用此函数之前,应用程序将安排使用一个新函数。这可能会导致呼叫pam_sm_chauthtok()
  • PAM_PERM_DENIED

    • Permission denied.
  • PAM_SUCCESS

    • 身份验证令牌已成功更新。
  • PAM_USER_UNKNOWN

    • 密码服务未知的用户。