1.1. 설명

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 모듈을 찾아서 적재하고 적절한 함수를 호출해 준다.

모듈에서는 절대 직접 응용을 호출하지 않는다. 단, 사용자와의 상호작용(패스워드 입력 등)을 위해선 그럴 수 있다. 그 예외에 필요한 "대화 메커니즘"을 아래에서 설명한다.