创建 PAM 会话

创建 PAM 会话

我尝试创建一个简单的 PAM 模块,打印一些消息,等待 X 秒并返回 PAM_SUCCESS 状态。

首先我尝试使用这个脚本:

#include <security/pam_appl.h>
#include <security/pam_modules.h>
#include <security/pam_misc.h>
#include <security/pam_ext.h>
#include <unistd.h>

PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv) {

    pam_info(pamh, "Test message" );
    
    sleep(3);

    return PAM_SUCCESS;
}

PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags, int argc, const char **argv) {
return PAM_SUCCESS;
}

PAM_EXTERN int pam_sm_close_session(pam_handle_t *pamh, int flags, int argc, const char **argv) {
return PAM_SUCCESS;
}

PAM_EXTERN int pam_sm_setcred( pam_handle_t *pamh, int flags, int argc, const char **argv ) {
    return PAM_SUCCESS;
}

但这不是最好的,因为当模块返回 PAM_SUCCESS 后,它将显示我的消息。

我认为我应该使用 pam_conv,但我没有找到适合我的简单示例。

相关内容