앞서 RockyLinux8 서버에 FTP 서버 설치에 대한 요구사항을 받으면서 vsftpd 설치 후 config 작업을 하며 마주하게 된 pam 파일을 통해 무엇인지 알아보고자 한다.
PAM(Pluggable Authentication Modules)
리눅스 시스템에서 사용자 인증을 관리하는 도구이다. vsftpd 서버를 구성할 때 PAM 파일을 설정하거나 수정해야 할 수 있다. 일반적으로 vsftpd와 관련된 PAM 파일은 다음과 같은 역할을 한다.
- /etc/pam.d/vsftpd 파일: vsftpd 서비스에 대한 PAM 구성을 담당한다. 이 파일에서는 인증과 관련된 설정을 조정할 수 있다.
- /etc/pam.d/vsftpd.vu 파일: vsftpd 가상 사용자를 위한 PAM 구성을 담당한다. 가상 사용자는 시스템에 직접 로그인하지 않고 FTP 서버에만 액세스할 수 있는 사용자이다. 이 파일은 가상 사용자의 인증 방법을 정의한다.
- /etc/pam.d/vsftpd.bak 파일: vsftpd에 대한 PAM 구성의 백업 파일이다. 주로 PAM 구성을 수정하기 전에 이 파일을 백업으로 복사하여 사용한다.
이러한 PAM 파일은 사용자 인증, 계정 잠금, 암호 정책 등과 관련된 설정을 제어한다. 필요에 따라 이러한 파일을 수정하여 vsftpd 서버의 인증 및 보안 정책을 변경할 수 있다. 각 파일의 내용과 설정은 시스템의 요구사항과 보안 정책에 따라 다를 수 있다.
PAM 기본 구조
![](https://velog.velcdn.com/images/hl08217/post/64a524f1-f732-4f67-a5b8-f4b9490dd4af/image.png)
예시![](https://velog.velcdn.com/images/hl08217/post/f2fd8c1c-30d8-47da-a663-62b7fc8a6c16/image.png)
Module Type
어떤 종류의 인증을 사용할 것인가를 지정하는 필드
![](https://velog.velcdn.com/images/hl08217/post/05a9c3fa-6dae-47d6-a135-5c7a4c9e6fb6/image.png)
Control Flag
결과에 따라 어떤 동작을 해야하는지 결정하는 필드![](https://velog.velcdn.com/images/hl08217/post/8253bf14-db2f-4c76-a0a7-7da6aeb823dc/image.png)
Module Name
사용하고자 하는 모듈의 경로와 이름을 지정하는 필드
PAM 모듈은 대부분 /lib/security or /etc/pam.d 디렉터리에 위치한다. ![](https://velog.velcdn.com/images/hl08217/post/ee638365-3f9b-4f00-9b81-cf361ecaa13e/image.png)
Module Arguments
모듈-인수는 모듈에게 전달되는 인수를 나타낸다. 각가의 모듈은 각각의 인수를 가지고 있으며, 모듈마다 인수가 필요할 수도 없을 수도 있다.![](https://velog.velcdn.com/images/hl08217/post/4944c938-85bc-47ce-b3f9-582da025a744/image.png)
PAM을 통한 인증과정
![](https://velog.velcdn.com/images/hl08217/post/9442e840-dac7-476a-9ece-fc0ffe531248/image.png)
![](https://velog.velcdn.com/images/hl08217/post/3b33020a-0b2a-42c8-9d3e-f6beb4be4c86/image.png)
![](https://velog.velcdn.com/images/hl08217/post/0c7cf71a-5c16-4cf1-8eda-f17190d2c2f7/image.png)
![](https://velog.velcdn.com/images/hl08217/post/c7465d65-888b-4bfc-925f-e5d2be635000/image.png)
참고 자료
https://www.igloo.co.kr/security-information/%EB%A6%AC%EB%88%85%EC%8A%A4-pam-%EB%AA%A8%EB%93%88%EC%9D%98-%EC%9D%B4%ED%95%B4/