다음 줄이 있습니다.
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
).