
我試圖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 後端)中設定loginShell
to/bin/bash
和homeDirectory
to屬性來解決此問題。/home/username
設定此屬性後,pam_mkhomedir.so 成功建立使用者的主目錄
不幸的是,我無法讓 nslcd 在本地覆蓋這些值,這在我們的情況下會更加理想,但直接在 AD 中設定這些屬性確實糾正了問題。