PAM

김재현·2023년 7월 31일
0

Linux

목록 보기
10/12
post-thumbnail

Linux PAM (Pluggable Authentication Modules)은 리눅스 시스템에서 사용자 인증을 관리하기 위한 프레임워크이다.
PAM은 모듈 형태로 제공되며, 이 모듈들은 인증, 계정, 패스워드 등 다양한 인증 기능을 제공하며, 리눅스 시스템의 로그인, su 및 sudo와 같은 명령어, SSH 접속, FTP 및 이메일 인증과 같은 다양한 서비스에 대한 사용자 인증을 제공한다.

PAM은 /etc/pam.d 디렉토리에 있는 파일들을 통해 구성된다.
각각의 파일은 하나 이상의 PAM 스택을 정의하며, 스택은 사용자 인증을 처리하는 데 사용되는 PAM 모듈의 순서를 결정한다.

PAM 스택은 일반적으로 다음과 같은 네 가지 유형의 모듈로 구성된다.

1. 인증 모듈

사용자가 자신의 신원을 증명하는 데 사용된다.
사용자 이름과 비밀번호, 스마트 카드 또는 생체 인식 등 다양한 인증 방법을 지원한다.

2. 계정 모듈

사용자 계정이 유효하고 활성화되어 있는지 확인한다.
예를 들어, 계정이 만료되었거나 잠긴 경우 로그인을 거부할 수 있다.

3. 세션 모듈

사용자 세션을 설정하고 관리한다.
예를 들어, 사용자 로그인 시간을 추적하거나 사용자 로그아웃 시에 실행해야 하는 작업을 지정할 수 있다.

4. 패스워드 모듈

사용자의 패스워드를 검증하고 변경하는 데 사용된다.
예를 들어, 패스워드의 강도를 확인하거나 패스워드 변경 주기를 지정할 수 있다.

PAM 설정

Linux PAM 설정은 /etc/pam.d 디렉터리 내부의 파일을 수정하여 설정할 수 있다.

다음 예시는 # su root 권한을 wheel 그룹만 사용할 수 있도록 설정하는 예시이다.

  • /etc/pam.d/su 파일 수정
    # vi /etc/pam.d/su
...
auth		required	pam_wheel.so use_uid	// 주석 해제
...

PAM 설정은 파일이 저장될 경우 자동 적용된다.
PAM 설정이 잘못될 경우 콘솔 및 SSH 로그인이 거부당할 수 있으므로 오타가 없도록 주의해야 한다. 따라서 콘솔 및 SSH 로그인 설정을 할 경우 휴먼에러 방지를 위해 두 개 이상의 세션을 연결한 후 작업하는 것이 권장 사항이다.

profile
Linux/Cluster/Infra Engineer

0개의 댓글

관련 채용 정보