도메인에 가입된 Linux - PAM mkhomedir은 SSH 루트로 소유된 homedir을 생성합니다.

도메인에 가입된 Linux - PAM mkhomedir은 SSH 루트로 소유된 homedir을 생성합니다.

현재 저는 Active Directory 도메인에 가입되어 있고 사용자 관리를 위해 SSSD를 사용하는 다수의 Linux 시스템을 보유하고 있습니다. 대부분은 ubuntu이고 일부는 Raspian입니다.

저는 pam_mkhomedir.so를 사용하여 /etc/pam.d/common-session을 통해 모든 도메인 로그인에 대해 로컬로 홈 디렉터리를 만듭니다.

session required pam_mkhomedir.so skel=/etc/skel/ umask=0077

이는 로컬 콘솔 로그인에도 적용됩니다 su [domainuser]. /home/[domain]/[user]에 디렉터리가 생성됩니다. 그러나 사용자가 SSH를 통해 처음으로 로그인하면(일반적으로 서버의 경우) 디렉터리가 올바른 사용자가 아닌 root:root가 소유하게 됩니다.

나는 이것에 대해 겁이 났고, 내가 찾을 수 있는 모든 것을 시도했습니다. 어떤 아이디어가 있나요?

답변1

알고보니 관련이 없는 일이었습니다 - DOH.

LDAP 속성에서 키를 가져오기 위해 ssh AuthorizedKeysCommand에 대한 사용자 정의 bash 스크립트를 실행 중입니다. 사용자의 홈 디렉터리에 캐시된 버전의 키를 쓰고 있습니다.존재하지 않는 경우 경로를 만듭니다..

결과적으로, 적어도 키 기반 인증을 사용할 때 디렉토리가 이미 존재하기 때문에 이로 인해 pam_mkhomedir이 실행되지 않습니다. 따라서 pam mkdir은 전혀 문제가 되지 않습니다.

이 스크립트를 제거하면 완벽하게 작동했습니다. 이제 SSH 키 캐시를 홈 디렉토리 외부에 저장하도록 스크립트를 다시 작성했으며 모든 것이 예상대로 작동합니다.

유사한 문제가 있을 수 있는 다른 사람들에게 상기시키기 위해 여기에 이것을 기록하십시오. 고정관념에서 벗어나 pam_mkhomedir이 예상할 때, 특히 사용자 정의 스크립트가 실행될 때 실제로 실행되는지 확인하십시오.

관련 정보