#include <security/pam_modules.h>
int pam_sm_authenticate( | pamh, | |
flags, | ||
argc, | ||
argv) ; |
pam_handle_t *pamh
;int flags
;int argc
;const char **argv
;
pam_sm_authenticate
함수는
pam_authenticate(3)
인터페이스에 대한 서비스 모듈의 구현이다.
이 함수는 사용자를 인증하는 작업을 수행한다.
유효한 플래그는 다음과 같으며, PAM_SILENT와 논리 OR 되어 있을 수 있다.
어떤 메시지도 찍지 않기.
이 인증 메커니즘을 위한 인증 토큰 데이터베이스에 사용자 항목이 NULL이면 PAM_AUTH_ERR를 반환한다. 이 플래그가 없으면 그렇게 NULL 토큰인 경우 사용자 입력을 요구하지 않고 성공으로 이어지게 된다.
#include <security/pam_modules.h>
int pam_sm_setcred( | pamh, | |
flags, | ||
argc, | ||
argv) ; |
pam_handle_t *pamh
;int flags
;int argc
;const char **argv
;
pam_sm_setcred
함수는
pam_setcred(3)
인터페이스에 대한 서비스 모듈의 구현이다.
이 함수는 해당 인증 체계에 대한 사용자 크리덴셜을 변경하는 작업을 수행한다. 일반적으로 인증 모듈에서는 사용자에 대한 인증 토큰 이상의 정보에 접근이 가능할 수도 있다. 이 함수를 이용해 그런 정보를 응용에서 이용할 수 있게 만든다. 사용자가 인증된 후에 세션 수립 전에 호출해야 한다.
유효한 플래그는 다음과 같으며, PAM_SILENT와 논리 OR 되어 있을 수 있다.
어떤 메시지도 찍지 않기.
사용자의 크리덴셜 설정.
인증 서비스와 관련된 크리덴셜 삭제.
사용자 크리덴셜 재설정.
사용자 크리덴셜의 수명 연장.
pam_sm_setcred
() 반환 코드가 어떻든 상관없이,
pam_setcred
() 함수 호출을 평가하기 위해
auth 스택을 탐색하는 방식은
pam_authenticate
() 라이브러리 호출을
평가할 때와 정확히 같다. 그리고 보통 pam_authenticate
()
평가 시 무시된 스택 항목은 libpam에서 pam_setcred
()
함수를 평가할 때도 무시된다. 무시되지 않는 경우에 모듈별
pam_sm_setcred
() 호출의 반환 코드를
required로 처리한다.