1.1. 설명

Linux-PAM (Pluggable Authentication Modules for Linux)은 개별 응용에서 사용자를 인증하는 방식을 로컬 시스템 관리자가 선택할 수 있게 해 주는 라이브러리다. Linux-PAM 라이브러리가 어떤 건지 보려면 Linux-PAM 시스템 관리자 안내서를 보면 된다.

Linux-PAM 프로젝트의 목표는 특권 인가 소프트웨어를 만드는 것에서 안전하고 적절한 인증 체계를 만드는 작업을 분리하는 것이다. 이를 위해 문서화된 함수들의 라이브러리를 제공하고, 응용에서 그 라이브러리를 온갖 형태의 사용자 인증 관리에 이용할 수 있다. 그 라이브러리에선 로컬에 설정된 인증 모듈들을 동적으로 적재하고, 그 모듈이 실제 인증 작업을 수행한다.

응용 개발자 입장에서 PAM 라이브러리 지역 설정에 담긴 정보는 중요치 않게 된다. 실제로 응용에서는 여기 문서화된 함수들을 사용자 인증의 모든 측면을 처리해 주는 '블랙박스'처럼 여기면 된다. 그 '모든 측면'에는 사용자 검증, 계정 관리, 세션 초기화/종결, 그리고 패스워드(인증 토큰) 재설정까지 포함된다.