system-auth 및 Password-auth의 pam_systemd.so 행은 어디에서 왔습니까?

system-auth 및 Password-auth의 pam_systemd.so 행은 어디에서 왔습니까?

인증을 위해 SSSD를 사용하도록 서버를 변환한 후 SSH를 통해 서버에 연결할 때 다음 줄로 인해 긴(10-20초) 중단이 발생합니다 /etc/pam.d/system-auth./etc/pam.d/password-auth

-session     optional      pam_systemd.so

이 줄을 제거하면 중단 문제가 해결되었지만 물론 authconfig --update --enablesssd실행할 때마다 해당 줄이 포함된 파일이 다시 생성됩니다.

이 줄이 생성되는 것을 어떻게 방지할 수 있나요? 그 원인은 무엇입니까? 삭제 /etc/systemd/logind.conf하고 다시 실행해도 그대로네요 authconfig...

system-auth에 대한 password-auth매뉴얼 페이지에는 pam_systemd유용한 정보가 없는 것 같지만 아마도 그것은 단지 내 의견일 수도 있습니다.

답변1

관련 매뉴얼 페이지는 를 사용하여 호출할 수 있습니다 man authconfig.

EL 변형에서 구성 파일은 이지만 /etc/sysconfig/authconfig설명서에서는 설정을 지정하지 않습니다 systemd. CentOS7/RHEL7 authconfig에서는 /usr/share/authconfig/authconfig.py.

command -v authconfig
ls -l /usr/bin/authconfig

/usr/share/authconfig이 파일 에는 authinfo.py에 대한 참조가 포함됩니다 systemd.

cd /usr/share/authconfig
grep systemd *

이 파일에는 "스택"을 정의하는 여러 배열이 있습니다. 특히 세션에 대해 지정된 배열이 있습니다. 사람들이 이 값을 변경할 수 있습니다.진짜도착하다잘못된그런 다음 변경 사항이 원하는 효과를 가져왔는지 테스트합니다. 그러나 업데이트 시 이 파일을 덮어쓸 수도 있습니다.

[True, SESSION, LOGIC_OPTIONAL, "systemd", []]

구성 라인을 직접 호출 하는 대신 구성 라인을 제거하는 스크립트를 작성할 수 있습니다 authconfig.

#!/usr/bin/env bash
# 
# File: /usr/local/sbin/enable_sssd.sh
#
authconfig --update --enablesssd
sed -ie "/-session[[:space:]]\+optional[[:space:]]\+pam_systemd.so/d" /etc/pam.d/system-auth
sed -ie "/-session[[:space:]]\+optional[[:space:]]\+pam_systemd.so/d" /etc/pam.d/password-auth

PAM 세션 소프트웨어는 로그인 세션을 생성하고 삭제합니다. 따라서 PAM 세션 핸들러는 utmp환경 수정, 설정, Kerberos 티켓 저장 등과 같은 작업을 수행합니다. 그러나 session sufficient pam_sss.so세션 도 처리해야 합니다 .

관련 정보