%20%E3%81%A7%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%AA%E3%81%84.png)
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 で直接設定すると、問題は修正されました。