이 절차에서는 새 PAM 모듈을 추가하고 보호하고 테스트하는 방법을 보여 줍니다. 사이트별 보안 정책을 사용하려는 경우나 타사 응용 프로그램을 지원해야 할 경우에 새 모듈이 필요할 수 있습니다. PAM 모듈을 만들려면 Developer’s Guide to Oracle Solaris 11 Security 의 3 장, Writing PAM Applications and Services을 참조하십시오.
시작하기 전에
사이트별 PAM 구성 계획을 완료합니다.
root 역할을 맡아야 합니다. 자세한 내용은 Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.
root 소유권 및 444 사용 권한으로 모듈 파일을 보호합니다.
# cd /opt/pam_modules # ls -lR .: total 4 -r--r--r-- 1 root root 4570 Nov 27 12:34 pam_app1.so.1 drwxrwxrwx 2 root root 3 Nov 27 12:38 sparcv9 ./64: total 1 -r--r--r-- 1 root root 4862 Nov 27 12:38 pam_app1.so.1
32비트 모듈은 /opt/pam_modules 디렉토리에 있고 64비트 모듈은 64 하위 디렉토리에 있습니다.
다음 예에는 app1이라는 새 응용 프로그램에 대한 모듈이 나옵니다. 모듈의 서비스 이름은 응용 프로그램 이름과 같습니다. app1 service-name 파일을 /etc/pam.d 디렉토리에 만듭니다. 이 파일의 첫번째 항목은 app1 서비스를 개별 사용자에게 지정할 수 있도록 해줍니다.
# cd /etc/pam.d # pfedit app1 ... # PAM configuration # # app1 service # auth definitive pam_user_policy.so.1 auth required /opt/pam_modules/$ISA/pam.app1.so.1 debug
모듈 경로의 $ISA 토큰은 PAM 프레임워크가 호출 응용 프로그램에 대해 서비스 모듈의 적절한 32비트 또는 64비트 아키텍처 버전을 가리키도록 지시합니다. 32비트 응용 프로그램의 경우 /a/b/$ISA/module.so는 /a/b/module.so가 되고, 64비트 응용 프로그램의 경우에는 /a/b/64/module.so가 됩니다. 이 예제에서는 /opt/pam_modules 디렉토리에 32비트 pam.app1.so.1 서비스 모듈을 설치했고 /opt/pam_modules/64 디렉토리에 64비트 모듈을 설치했습니다.
자세한 내용은 pfedit(1M) 및 pam.conf(4) 매뉴얼 페이지를 참조하십시오.
선택한 사용자로만 app1 PAM 정책을 제한하려는 경우 Example 1–2를 참조하십시오.
login 또는 ssh를 사용하여 직접 로그인합니다. 그런 다음 새 모듈로 인해 영향을 받는 명령을 실행합니다. 해당 명령을 사용할 수 있도록 허용되는 사용자와 거부되는 사용자를 테스트합니다. 문제 해결에 대한 자세한 내용은 PAM 구성 오류 문제를 해결하는 방법을 참조하십시오.
수정된 PAM 정책을 지정하는 방법을 참조하십시오.
이 예에서 app1 서비스는 일부 사용자만 사용하므로 관리자가 해당 서비스를 사용자별 정책으로 추가합니다.
# cd /etc/pam.d # cp app1 /opt/local_pam/app1-conf # pfedit /opt/local_pam/app1-conf ## app1 service ## app1 auth definitive pam_user_policy.so.1 app1 auth required /opt/pam_modules/$ISA/pam_app1.so.1 debug
먼저 app1 파일을 pam.d 디렉토리에서 삭제합니다.
# rm /etc/pam.d/app1
그런 다음 app1-conf 정책을 시스템 관리자의 PAM 정책에 추가합니다.
# rolemod -K pam_policy=/opt/local_pam/app1-conf sysadmin예 1-3 권한 프로파일을 사용하여 사용자별 PAM 정책 설정
이 예에서는 pam_policy 보안 속성을 사용하여 서로 다른 서비스의 사용자가 인증되도록 합니다. any PAM 정책 파일은 /etc/security/pam_policy 디렉토리에 제공됩니다. 파일의 주석은 이 정책에 대해 설명합니다.
이 디렉토리의 파일은 수정하지 마십시오.
# profiles -p "PAM Per-User Policy of Any" \ 'set desc="Profile which sets pam_policy=any"; set pam_policy=any; exit;'
권한 프로파일을 지정하려면 수정된 PAM 정책을 지정하는 방법을 참조하십시오.