Linux-PAM (Pluggable Authentication Modules for Linux)은 개별 응용에서 사용자를 인증하는 방식을 로컬 시스템 관리자가 선택할 수 있게 해 주는 라이브러리다. Linux-PAM 라이브러리가 어떤 건지 보려면 Linux-PAM 시스템 관리자 안내서를 보면 된다.
Linux-PAM 모듈이란
Linux-PAM 인터페이스 라이브러리에서
적재할 수 있는 단일한 실행 가능 바이너리 파일이다.
로컬에서 이용 가능한 인증 모듈을 통해 사용자 요청을 인증하도록
시스템 파일 /etc/pam.conf
로
PAM 라이브러리를 설정한다. 모듈들은 일반적으로
/lib/security
(아키텍처에 따라선
/lib64/security
) 디렉터리에
위치하며 동적 적재 오브젝트 파일
(dlopen(3) 참고)
형태로 되어 있다. 또는 모듈을 Linux-PAM
라이브러리에 정적으로 링크할 수도 있는데, 주로 동적 링크가
불가능한 플랫폼에서 Linux-PAM을
이용하기 위해 쓰는 방법이며 쓰지 말아야 할
기능이다. 응용에서 호출하는 것은 Linux-PAM
인터페이스이고, 그 라이브러리에서 Linux-PAM
모듈을 찾아서 적재하고 적절한 함수를 호출해 준다.
모듈에서는 절대 직접 응용을 호출하지 않는다. 단, 사용자와의 상호작용(패스워드 입력 등)을 위해선 그럴 수 있다. 그 예외에 필요한 "대화 메커니즘"을 아래에서 설명한다.