pam_mkhomedir.so 无法与 nslcd + LDAP(Active Directory)一起使用

pam_mkhomedir.so 无法与 nslcd + LDAP(Active Directory)一起使用

我正在尝试pam_mkhomedir.so在首次登录时创建 LDAP 用户的本地主目录。我在使用 Ubuntu 20.04 LTS。

目前,用户通过 LDAP(Active Directory 后端)添加到我的服务器。这已使用 nslcd + nscd 配置。我按照此处的指南完成了所有配置:https://www.markturner.net/2019/09/27/ad-ldap-authentication-on-linux-hosts/

不幸的是,我似乎无法生成用户的主目录。更奇怪的是,当我深入调试时,发现用户的主目录是空白的。

以下是用户“jgoetz”尝试通过 SSH 连接的示例。用户可以登录,组工作正常,但无法创建主目录:

Oct 15 21:56:10 LDAP-Test6 sshd[3425]: Accepted password for jgoetz from 10.100.98.23 port 52602 ssh2
Oct 15 21:56:10 LDAP-Test6 sshd[3425]: pam_unix(sshd:session): session opened for user jgoetz by (uid=0)
Oct 15 21:56:10 LDAP-Test6 systemd-logind[689]: New session 16 of user jgoetz.
Oct 15 21:56:10 LDAP-Test6 mkhomedir_helper: PAM unable to create directory : No such file or directory

从最后一行可以看出,mkhomedir_helper 甚至没有尝试在 /home 中创建目录,从而导致错误。

有人能给我指出正确的方向吗?

感谢您的时间!

答案1

更新:我能够通过为每个用户在 Windows Active Directory(在我们的例子中是 LDAP 后端)中设置loginShellto/bin/bashhomeDirectoryto属性来解决这个问题。/home/username

一旦设置了此属性,用户的主目录就会通过 pam_mkhomedir.so 成功创建

不幸的是,我无法让 nslcd 在本地覆盖这些值,这在我们的例子中会更加理想,但直接在 AD 中设置这些属性确实解决了这个问题。

相关内容