사용자 지정 원격 서버에서 사용자와 그룹을 인증하고 가져오기 위해 NSS와 PAM 모듈을 만들었습니다.
시스템에서 이를 사용하도록 하려면 다음 줄을 추가합니다 /etc/pam.d/sshd
.
auth sufficient myPAMmodule.so
그리고 /etc/nsswitch.conf
:
passwd: files sss myNSSmodule
shadow: files sss myNSSmodule
group: files sss myNSSmodule
문제는 로컬 사용자와 SSH 연결을 할 때 내 모듈을 호출하지 않도록 이러한 항목(또는 다른 항목)을 구성하는 방법입니다.
내 모듈 앞에 충분한 Linux 모듈을 추가하십시오.
auth sufficient pam_env.so
꼭 필요한 것 같습니다. 내 모듈 없이 initgroups 행을 추가하여
initgroups: files sss
id 명령이 로컬 사용자에 대해서만 로컬로 작동하도록 만들었습니다(그러나 사용자의 기본 그룹만 가져옵니다).
하지만 실행할 때마다 ssh user@localhost
여전히 로컬 사용자의 원격 호출이 표시됩니다.