PAM 세션 생성

PAM 세션 생성

일부 메시지를 인쇄하고 X초 동안 기다린 후 PAM_SUCCESS 상태를 반환하는 간단한 PAM 모듈을 만들려고 합니다.

먼저 다음 스크립트를 사용해 보았습니다.

#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를 사용해야 할 것 같은데 나에게 맞는 간단한 예제를 찾지 못했습니다.

관련 정보