Linux 에서 PAM 모듈이 구성되었는지 확인하는 방법

LinuxBeginner
지금 연습하기

소개

이 랩에서는 Linux 에서 PAM (Pluggable Authentication Modules) 모듈이 구성되었는지 확인하는 방법을 배우게 됩니다. PAM 구성 파일의 표준 위치를 살펴보고, 다양한 서비스가 인증 및 기타 보안 기능을 위해 PAM 을 어떻게 활용하는지 이해하기 위해 해당 내용을 검토할 것입니다.

먼저 /etc/pam.d/ 디렉토리의 내용을 나열하여 서비스별 PAM 구성 파일을 식별하는 것으로 시작합니다. 다음으로, cat 명령을 사용하여 이러한 구성 파일의 내용을 보고 서비스에 적용된 특정 PAM 모듈과 규칙을 이해하는 방법을 배우게 됩니다. 마지막으로, /lib/security 디렉토리를 탐색하여 시스템에서 사용 가능한 PAM 모듈 파일을 확인합니다.

ls /etc/pam.d로 PAM 설정 확인

이 단계에서는 PAM (Pluggable Authentication Modules) 을 탐색하기 시작합니다. PAM 은 시스템 관리자가 애플리케이션이 사용자를 인증하는 방식을 구성할 수 있도록 하는 강력한 프레임워크입니다. 각 애플리케이션이 자체적으로 인증을 처리하는 대신, PAM 을 사용할 수 있으며, 이는 인증, 권한 부여 및 계정 관리를 중앙 집중식으로 유연하게 관리할 수 있는 방법을 제공합니다.

PAM 을 인증을 위한 교체 가능한 빌딩 블록 세트로 생각할 수 있습니다. 애플리케이션 자체를 변경하지 않고도 다양한 인증 방법 (예: 비밀번호, 스마트 카드 또는 생체 인식) 을 처리하기 위해 다양한 모듈을 연결할 수 있습니다.

PAM 의 구성 파일은 일반적으로 /etc/pam.d/ 디렉토리에 있습니다. 이 디렉토리의 각 파일은 login, sudo, ssh 등과 같이 PAM 을 사용하는 특정 서비스 또는 애플리케이션에 해당합니다.

/etc/pam.d/ 디렉토리의 내용을 나열하여 이 시스템에 어떤 PAM 구성 파일이 있는지 확인해 보겠습니다. 디렉토리 내용을 나열하는 데 사용되는 ls 명령을 사용합니다.

아직 열려 있지 않은 경우 터미널을 엽니다. 데스크탑 왼쪽에서 Xfce Terminal 아이콘을 찾을 수 있습니다.

다음 명령을 입력하고 Enter 키를 누릅니다.

ls /etc/pam.d/

다음과 유사한 파일 목록이 표시됩니다 (정확한 목록은 시스템 구성에 따라 약간 다를 수 있습니다).

atd
chfn
chpasswd
chsh
cron
...
sudo
su
systemd-user
...

여기에 나열된 각 파일은 특정 서비스에 대한 PAM 구성 파일입니다. 예를 들어, sudo 파일에는 sudo 명령에 대한 PAM 구성이 포함되어 있으며, login 파일에는 사용자 로그인을 위한 구성이 포함되어 있습니다.

이러한 파일을 나열하면 시스템에서 인증 및 기타 보안 관련 작업에 PAM 을 사용하는 서비스가 무엇인지 알 수 있습니다.

다음 단계로 진행하려면 계속을 클릭하십시오.

cat /etc/pam.conf로 PAM 설정 확인

이전 단계에서 /etc/pam.d/의 개별 PAM 구성 파일을 확인했습니다. 대부분의 최신 시스템은 /etc/pam.d/ 디렉토리 구조를 사용하지만, 일부 이전 구성 또는 특정 설정에서는 여전히 단일 중앙 집중식 구성 파일인 /etc/pam.conf를 사용할 수 있습니다.

/etc/pam.conf 파일이 존재하고 사용되는 경우, 서로 다른 서비스, 모듈 유형, 제어 플래그 및 사용될 특정 PAM 모듈에 대한 규칙이 포함되어 있습니다. 이 파일의 각 줄은 일반적으로 특정 서비스에 대한 규칙을 정의합니다.

/etc/pam.conf 파일이 있는지 확인하고 cat 명령을 사용하여 내용을 확인해 보겠습니다. cat 명령은 파일의 내용을 표시하는 데 사용됩니다.

터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.

cat /etc/pam.conf

이 시스템에서는 파일이 존재하지 않거나 비어 있음을 나타내는 출력을 볼 가능성이 높습니다. 이는 앞서 언급했듯이 시스템이 PAM 구성을 위해 주로 /etc/pam.d/ 디렉토리를 사용하기 때문입니다.

cat: /etc/pam.conf: No such file or directory

이 출력은 시스템이 단일 /etc/pam.conf 파일 대신 /etc/pam.d/의 개별 파일에 의존함을 확인합니다. 서로 다른 Linux 배포판 또는 이전 시스템으로 작업할 때 이러한 차이점을 이해하는 것이 중요합니다.

이 특정 시스템에서는 /etc/pam.conf가 사용되지 않지만, 해당 파일의 존재와 목적을 아는 것은 PAM 에 대한 완전한 이해를 위해 중요합니다.

다음 단계로 이동하려면 계속을 클릭하십시오.

/lib/security 에서 PAM 모듈 검토

이전 단계에서 PAM 구성 파일을 살펴보았습니다. 이러한 파일은 PAM 에 서로 다른 서비스에 어떤 모듈을 사용할지 알려줍니다. 이제 실제 PAM 모듈이 시스템에 저장되는 위치를 살펴보겠습니다.

PAM 모듈은 일반적으로 특정 인증, 권한 부여, 계정 또는 세션 관리 작업을 위한 코드를 포함하는 공유 라이브러리 (.so로 끝나는 파일) 입니다. 이러한 모듈은 일반적으로 /lib/x86_64-linux-gnu/security/ 또는 /lib/security/와 같은 디렉토리에 있습니다. 이 시스템에서는 /lib/x86_64-linux-gnu/security/에 있습니다.

사용 가능한 PAM 모듈을 확인하기 위해 /lib/x86_64-linux-gnu/security/ 디렉토리의 내용을 나열해 보겠습니다. 다시 ls 명령을 사용합니다.

터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.

ls /lib/x86_64-linux-gnu/security/

각각 다른 PAM 모듈을 나타내는 긴 파일 목록이 표시됩니다. 파일 이름은 일반적으로 pam_로 시작하고 모듈 이름이 뒤따르며 .so로 끝납니다.

pam_access.so
pam_cap.so
pam_chauthtok.so
pam_cracklib.so
...
pam_unix.so
pam_usw.so
pam_winbind.so

예를 들어, pam_unix.so는 전통적인 Unix 비밀번호 인증에 사용되는 일반적인 모듈입니다. pam_cracklib.so는 비밀번호 강도를 확인하는 데 사용됩니다.

이 디렉토리를 탐색하면 이 시스템에서 PAM 을 통해 사용할 수 있는 다양한 인증 및 보안 기능에 대한 아이디어를 얻을 수 있습니다. /etc/pam.d/의 구성 파일은 각 서비스에 대한 인증 프로세스를 정의하기 위해 이러한 .so 파일을 참조합니다.

/etc/pam.d/의 구성 파일과 /lib/x86_64-linux-gnu/security/의 모듈 파일 간의 관계를 이해하는 것이 PAM 의 작동 방식을 이해하는 데 핵심입니다.

이 랩을 완료하려면 계속을 클릭하십시오.

요약

이 랩에서는 Linux 에서 PAM (Pluggable Authentication Modules, 플러그형 인증 모듈) 탐구를 시작했습니다. PAM 이 다양한 서비스에 대한 인증, 권한 부여 및 계정 관리를 관리하기 위한 유연한 프레임워크를 제공한다는 것을 배웠습니다. sudo, login, ssh와 같은 서로 다른 서비스에 대한 개별 PAM 구성 파일을 식별하기 위해 ls 명령을 사용하여 /etc/pam.d/ 디렉토리의 내용을 나열하는 것으로 시작했습니다. 이를 통해 시스템에서 PAM 을 활용하는 서비스에 대한 초기 개요를 얻었습니다.