PAM_OPEN_SESSION(3)

명칭
pam_open/close_session - PAM 세션 관리

서식
#include <security/pam_appl.h>

int pam_open_session(pam_handle_t *pamh, int flags);

int pam_close_session(pam_handle_t *pamh, int flags);

해설
PAM 에는, 세션의 초기화와 종료를 행하는 관리툴이 있습니다.

pam_open_session
    이 함수를 사용하면(자), 인증된 유저의 세션이 시작된 것을 통지할 수 있습니다. 유저가 pam_authenticate(3) 그리고 적절히 확인되어 필요한 경우는 pam_setcred(3) 그리고 증명서가 주어진 다음에 호출해 주세요.
    세션의 초기화에 관련한 함수에는, 시스템 감시를 위한 로그 작성과 디렉토리 (유저의 홈 디렉토리 등)의 mount가 있습니다. 어플리케이션으로 이것에 관련될 것은 없습니다. 어플리케이션의 실효 uid ( geteuid(2) ) 에, 이러한 처리에 충분한 권한을 가지는 것이 필요한 것으로 주의해 주세요.

pam_close_session
    이 함수를 사용하면(자), 유저 세션이 종료한 것을 통지할 수 있습니다. 일반적으로는, 초기화 함수 ( pam_open_session ) (와)과 같은 어플리케이션에 이 함수를 배치할 필요는 없습니다.
    전형적으로는, 이 함수는, pam_open_session 의 액션을 취소합니다. 즉, 유저 세션의 종료에 관련되는 감시 정보를 기록해, 유저의 홈 디렉토리의 mount를 해제합니다. 충분한 권한이 있는 것은 따로 해, 세션의 종료의 상세하게 호출 어플리케이션이 관련되는 개는 없습니다. 한편, 이 호출로부터 돌아오는 대로, 해당 유저의 권한에서의 동작을 멈추는 것은, 좋은 프로그래밍 스타일입니다.

반환값
이 세션 관리 함수로 문제가 발생하지 않았던 경우는, PAM_SUCCESS 하지만 되돌려집니다.
세션의 개폐로 에러가 발생했을 경우는, PAM_SESSION_ERR 하지만 되돌려집니다. 그 외의 반환값이 되돌려졌을 경우는, 에러를 나타내는 것으로서 취급해 주세요.

에러
pam_strerror(3) 그리고 텍스트로 변환할 수 있습니다.

준거
OSF-RFC 86.0, October 1995.

버그

발견되고 있지 않습니다.

관련 항목
pam_start(3), pam_authenticate(3), pam_setcred(3), pam_get_item(3), pam_strerror(3), pam(3).
시스템관리책임자 , 모듈개발자 , 어플리케이션개발자 용무의 Linux-PAM 가이드도 참조해 주세요.