beyondlinuxfromscratch:installedpackages:linux-pam-1.6.0

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
beyondlinuxfromscratch:installedpackages:linux-pam-1.6.0 [2024/06/18 23:09] – 만듦 baecybeyondlinuxfromscratch:installedpackages:linux-pam-1.6.0 [2024/06/18 23:43] (현재) baecy
줄 7: 줄 7:
 ---- ----
  
 +===== Linux-PAM-1.6.0 =====
 +
 +==== Linux PAM 소개 ====
 +
 +Linux PAM 패키지에는 로컬 시스템 관리자가 애플리케이션 프로그램이 사용자를 인증하는 방법을 제어하는 데 사용하는 플러그형 인증 모듈(PAM: Pluggable Authentication Modules)이 포함되어 있습니다.
 +
 +이 패키지는 LFS 12.1 플랫폼을 사용하여 빌드하고 제대로 작동하는 것으로 알려져 있습니다.
 +
 +=== 패키지 정보 ===
 +
 +  * **다운로드:** [[https://github.com/linux-pam/linux-pam/releases/download/v1.6.0/Linux-PAM-1.6.0.tar.xz|Linux-PAM-1.6.0.tar.xz]]
 +  * MD5: <clipb>41a10af5fc35a7be472ae9864338e64a</clipb>
 +  * 다운로드 크기: 1.0 MB
 +  * 디스크 공간: 39 MB (테스트 포함)
 +  * 빌드 시간: 0.4 SBU (테스트 포함)
 +
 +=== 추가 다운로드 ===
 +
 +== 선택적 문서 ==
 +
 +  * **다운로드:** [[https://github.com/linux-pam/linux-pam/releases/download/v1.6.0/Linux-PAM-1.6.0-docs.tar.xz|Linux-PAM-1.6.0-docs.tar.xz]]
 +  * **MD5**: <clipb>db41b71435df078658b3db1f57bb2a49</clipb>
 +  * 다운로드 크기: 456 KB
 + 
 +=== Linux PAM 종속성 ===
 +
 +== 선택 ==
 +
 +  * [[.:libnsl-2.0.1]]
 +  * [[.:libtirpc-1.3.4]]
 +  * [[.:rpcsvc-proto-1.4.4]]
 +  * [[.:Berkeley DB]] Deprecated
 +  * [[.:libaudit]]
 +  * [[.:libeconf]]
 +  * [[.:Prelude]]
 +
 +<WRAP info center round 90%>
 +**참고** \\
 +Linux PAM을 설치 및 구성한 후 [[.:Shadow-4.14.5]] 및 [[.:Systemd-255]]를 다시 설치하고 재구성해야 합니다.
 +
 +Linux-PAM-1.4.0 이상에서는 pam_cracklib 모듈이 기본적으로 설치되지 않습니다. 강력한 비밀번호를 적용하려면 [[.:libpwquality-1.4.5]]를 사용하세요.
 +</WRAP>
 +
 +----
 +
 +==== Linux PAM 설치 ====
 +
 +추가 문서를 다운로드했다면 다음 명령을 실행하여 압축을 풉니다.
 +
 +<code bash>
 +tar -xf ../Linux-PAM-1.6.0-docs.tar.xz --strip-components=1
 +</code>
 +
 +다음과 같이 컴파일하고 링크합니다.
 +
 +<code bash>
 +./configure --prefix=/usr                        \
 +            --sbindir=/usr/sbin                  \
 +            --sysconfdir=/etc                    \
 +            --libdir=/usr/lib                    \
 +            --enable-securedir=/usr/lib/security \
 +            --docdir=/usr/share/doc/Linux-PAM-1.6.0 &&
 +make
 +</code>
 +
 +결과를 테스트하려면 적절한 ''/etc/pam.d/other'' 구성 파일이 있어야 합니다.
 +
 +<WRAP alert center round 90%>
 +**Linux PAM 재설치 또는 업그레이드** \\
 +Linux PAM이 설치되어 작동 중인 시스템에서 ''/etc/pam.d''의 파일을 부주의하게 수정할 경우 시스템을 완전히 사용할 수 없게 될 수 있으므로 주의하세요. 테스트를 실행하려는 경우 새로 ''/etc/pam.d/other'' 파일을 만들 필요는 없습니다. 기존 파일을 테스트에 사용할 수 있습니다.
 +
 +또한 **make install**은 ''/etc/security''와 ''/etc/environment''의 구성 파일을 덮어쓴다는 점에 유의해야 합니다. 해당 파일을 수정한 경우 반드시 백업하세요.
 +</WRAP>
 +
 +처음 설치하는 경우 //root// 사용자로 다음과 같이 구성 파일을 만듭니다.
 +
 +<code bash>
 +install -v -m755 -d /etc/pam.d &&
 +
 +cat > /etc/pam.d/other << "EOF"
 +auth     required       pam_deny.so
 +account  required       pam_deny.so
 +password required       pam_deny.so
 +session  required       pam_deny.so
 +EOF
 +</code>
 +
 +이제 **make check**를 실행하여 테스트를 실행합니다. 설치를 계속하기 전에 테스트에서 오류가 발생하지 않았는지 확인하세요. 테스트가 매우 길다는 점에 유의하세요. 출력을 로그 파일로 리디렉션하여 꼼꼼히 검사할 수 있도록 하세요.
 +
 +처음 설치하는 경우 //root// 사용자로 다음과 같이 앞서 만든 구성 파일을 제거합니다.
 +
 +<code bash>
 +rm -fv /etc/pam.d/other
 +</code>
 +
 +이제 //root// 사용자로
 +
 +<code bash>
 +make install &&
 +chmod -v 4755 /usr/sbin/unix_chkpwd
 +</code>
 +
 +----
 +
 +==== 명령 설명 ====
 +
 +  * //--enable-securedir=/usr/lib/security//: \\ PAM 모듈의 설치 위치를 설정합니다.
 +  * **chmod -v 4755 /usr/sbin/unix_chkpwd**: \\ 루트 프로세스가 아닌 프로세스가 섀도 파일에 액세스할 수 있도록 **unix_chkpwd** 보조 프로그램의 setuid 비트가 켜져 있어야 합니다.
 +
 +----
 +
 +==== Linux-PAM 설정 ====
 +
 +=== 설정 파일 ===
 +
 +''/etc/security/*'', ''/etc/pam.d/*''
 +
 +=== 설정 정보 ===
 +
 +설정 정보는 ''/etc/pam.d/''에 위치합니다. 다음은 예제 파일 입니다.
 +
 +<code bash>
 +# Begin /etc/pam.d/other
 +
 +auth            required        pam_unix.so     nullok
 +account         required        pam_unix.so
 +session         required        pam_unix.so
 +password        required        pam_unix.so     nullok
 +
 +# End /etc/pam.d/other
 +</code>
 +
 +다음과 같이 //root// 사용자로 몇 가지 일반적인 설정 파일을 생성합니다. 
 +
 +<code bash>
 +install -vdm755 /etc/pam.d &&
 +cat > /etc/pam.d/system-account << "EOF" &&
 +# Begin /etc/pam.d/system-account
 +
 +account   required    pam_unix.so
 +
 +# End /etc/pam.d/system-account
 +EOF
 +
 +cat > /etc/pam.d/system-auth << "EOF" &&
 +# Begin /etc/pam.d/system-auth
 +
 +auth      required    pam_unix.so
 +
 +# End /etc/pam.d/system-auth
 +EOF
 +
 +cat > /etc/pam.d/system-session << "EOF" &&
 +# Begin /etc/pam.d/system-session
 +
 +session   required    pam_unix.so
 +
 +# End /etc/pam.d/system-session
 +EOF
 +
 +cat > /etc/pam.d/system-password << "EOF"
 +# Begin /etc/pam.d/system-password
 +
 +# use yescrypt hash for encryption, use shadow, and try to use any
 +# previously defined authentication token (chosen password) set by any
 +# prior module.
 +password  required    pam_unix.so       yescrypt shadow try_first_pass
 +
 +# End /etc/pam.d/system-password
 +EOF
 +</code>
 +
 +강력한 비밀번호 지원 정책을 사용하려면 [[.:libpwquality-1.4.5]]를 설치하고 해당 페이지의 안내에 따라 강력한 비밀번호를 지원하는 pam_pwquality PAM 모듈을 구성하세요.
 +
 +그런 다음 제한적인 ''/etc/pam.d/other'' 구성 파일을 추가합니다. 이 파일을 사용하면 해당 애플리케이션에 대한 구성 파일이 존재하지 않으면 PAM을 인식하는 프로그램이 실행되지 않습니다.
 +
 +<code bash>
 +cat > /etc/pam.d/other << "EOF"
 +# Begin /etc/pam.d/other
 +
 +auth        required        pam_warn.so
 +auth        required        pam_deny.so
 +account     required        pam_warn.so
 +account     required        pam_deny.so
 +password    required        pam_warn.so
 +password    required        pam_deny.so
 +session     required        pam_warn.so
 +session     required        pam_deny.so
 +
 +# End /etc/pam.d/other
 +EOF
 +</code>
 +
 +여러가지 필드와 허용되는 항목에 대해 알아볼 수 있는 좋은 출발점은 PAM 매뉴얼 페이지(**man pam**)에서 확인할 수 있습니다. 자세한 내용은 [[https://www.docs4dev.com/docs/en/linux-pam/1.1.2/reference/Linux-PAM_SAG.html|Linux-PAM 시스템 관리자 가이드]]를 참조하세요.
 +
 +<WRAP info center round 90%>
 +**중요** \\ 
 +이제 [[.:Shadow-4.14.5]] 및 [[.:Systemd-255]] 패키지를 다시 설치해야 합니다.
 +</WRAP>
 +
 +----
 +
 +==== 패키지 구성 ====
 +
 +  * **설치된 프로그램:** \\ faillock, mkhomedir_helper, pam_namespace_helper, pam_timestamp_check, pwhistory_helper, unix_chkpwd 그리고 unix_update
 +  * **설치된 라이브러리:** \\ libpam.so, libpamc.so, libpam_misc.so
 +  * **설치된 디렉토리** \\ /etc/security, /usr/lib/security, /usr/include/security 및 /usr/share/doc/Linux-PAM-1.6.0
 +
 +=== 간략한 설명 ===
 +
 +  * **faillock** \\ 인증 실패 레코드 파일을 표시하고 수정합니다.
 +  * **mkhomedir_helper** \\ 홈 디렉터리를 생성하는 헬퍼 바이너리.
 +  * **pam_namespace_helper** \\ 사용자 세션의 개인 네임스페이스를 구성하는 데 사용되는 헬퍼 프로그램.
 +  * **pwhistory_helper** \\ 암호 해시를 passwd 또는 shadow에서 opasswd로 전송하는 헬퍼 프로그램입니다.
 +  * **pam_timestamp_check** \\ 기본 타임스탬프가 유효한지 확인하는 데 사용됩니다.
 +  * **unix_chkpwd** \\ 현재 사용자의 비밀번호를 확인하는 헬퍼 바이너리입니다.
 +  * **unix_update** \\ 주어진 사용자의 암호를 업데이트하는 헬퍼 바이너리입니다.
 +  * libpam.so \\ 애플리케이션과 PAM 모듈 간의 인터페이스를 제공합니다.
  • beyondlinuxfromscratch/installedpackages/linux-pam-1.6.0.1718752165.txt.gz
  • 마지막으로 수정됨: 2024/06/18 23:09
  • 저자 baecy