내 잡다한 노트

리눅스 PAM 본문

DevOps/리눅스

리눅스 PAM

peanutwalnut 2023. 9. 2. 22:34

PAM(Pluggable Authentication Modules)의 약자로 인증 모듈이다. 리눅스 시스템에서 사용자의 인증을 담당하는 모듈.

PAM은 네 가지 모듈로 구성돼있다.

1. authentication module : 비밀번호, 공개 키를 이용하여 사용자의 신원을 확인하는 모듈

2. account module : 계정 만료, 시간, 특정 서비스 접근 권한 등 인증 조건을 검사하는 모듈

3. password module : 비밀번호 갱신, 비밀번호 복잡도 등을 설정하는 모듈

4. session module : 사용자 세션의 시작부터 끝까지 가능한 작업을 정의하는 모듈

 

각 모듈을 활용해 root 접속 제한, 비밀번호 강도 설정, 비밀번호 만료 일자 등을 설정하여 사용자 계정의 보안을

강화한다.

 

- PAM을 통한 사용자 계정에 대한 접근 제어 흐름

1. 로그인 시도

2. PAM이 /etc/pam.d에 있는 서비스별 구성 파일을 확인하여

3. PAM 모듈에 사용자 신원 확인, 비밀번호 일치 여부 등을 요청하고 그 결과가 일치할  때

4. 로그인을 허용함.

 

PAM의 구성 파일은 모듈 타입, Control Flag, PAM 모듈, Module Arguments 총 네 가지이다.

모듈 타입은 어떤 종류의 인증을 사용할 것인지 지정하는 필드. authentication, account, password, session 네 가지 타입이 있음.

Control Flag는 PAM 모듈이 인증한 결과에 따라 어떠한 동작을 실행하는지 나타냄.

PAM 모듈 필드는 구성 파일에서 PAM 인증 모듈을 선택하는 부분.

Module Arguments는 모듈이 갖고 있는 설정값을 추가로 지정할 때 사용함.

 

PAM의 구성 파일을 보고 싶다면 /etc/pam.d 로 가면 된다.

'DevOps > 리눅스' 카테고리의 다른 글

VirtualBox 실행시 0xc000007b 에러  (0) 2023.11.03
유닉스 계열 명령줄 : wget, curl  (2) 2023.10.06
리눅스 보안 방화벽에 관해  (1) 2023.09.02
fork( ) 정의와 특징  (0) 2023.04.08
vi 복사 명령어  (0) 2023.04.05