pam_env.so는 정확히 무엇을 합니까?

pam_env.so는 정확히 무엇을 합니까?

다음 줄이 있습니다.

auth        required      pam_env.so

문서에는 다음과 같이 나와 있습니다.

첫 번째 모듈이 실행됩니다.pam_env에서는 선택적으로 에 지정된 환경 변수를 설정하거나 지울 수 있습니다 /etc/security/pam_env.conf. 이 모듈은 필수입니다. 인증을 계속하려면 성공적으로 실행되어야 합니다.

실용적인 UNIX와 인터넷 보안, 제3판 작성자: Simson Garfinkel, Gene Spafford, Alan Schwartz / 플러그형 인증 모듈(PAM)

엄청난! "성공적으로 실행"이란 정확히 무엇을 의미합니까? 변수를 로드한다는 것을 알고 있습니다 /etc/security/pam_env.conf (CentOS 및 Ubuntu에서는 모든 행이 주석 처리되어 있습니다). 이것이 정확히 무엇을 의미하는지 설명해 주시겠습니까?

이 모듈이 어떻게 실행되지 않습니까? 아니면 그냥 변수를 로드하는 것인데 이것이 인증과 무슨 관련이 있나요?

내가 읽고pam.conf맨페이지:

필수의

    PAM이 실패하면 결국 PAM-API가 실패를 반환하게 되지만 나머지쌓인모듈(이를 위해제공하다그리고 유형)이 호출되었습니다.

어쩌면 내가 뭔가를 놓친 것일 수도 있지만 이 주제에 대해 아무 것도 알려주지 않습니다.

대체로 세션이 아닌 인증 유형이 있는 이유는 무엇입니까?

답변1

매뉴얼 pam_env페이지에는 다음과 같이 나와 있습니다.

RETURN VALUES
   PAM_ABORT
       Not all relevant data or options could be gotten.

   PAM_BUF_ERR
       Memory buffer error.

   PAM_IGNORE
       No pam_env.conf and environment file was found.

   PAM_SUCCESS
       Environment variables were set.

또한 시스템이 심각하게 손상된 경우 pam_env.so 자체가 실행되지 않을 수 있으며(예: 파일 시스템 손상 또는 32비트 커널의 64비트 바이너리) 오류 값이 반환됩니다.

스택에 있는 이유는 auth후속 PAM 모듈이 설정된 내용에 따라 달라질 수 있기 때문입니다(그래서 거기에 있는 것입니다 required).

관련 정보