ある仮想マシンでこれを実行していますが、私が作成した別のマシンで動作させることができないため、インストールまたは設定した内容を文書化できなかったようです。私はGoogleとここを見ましたが、私が見つけたほとんどは、挨拶に「その他...」ログインフィールドを表示したり、最初にFreeIPAが正しく機能するようにすることに関連していました。
実行した手順:Ubuntu / Mate 16.04の新規インストールの作成、すべてのアップデート/アップグレードの実行、FreeIPAにマシンを追加、freeipa-clientのインストール、ipa-client-installの設定と実行、新しいVMがFreeIPAに正しく登録されていることを確認し、テストのためにFreeIPAにのみ存在するマイコンピュータと他のユーザーのコンピュータにSSHで接続しました。これらすべてがうまくいきます。 FQDNを使用せずにさまざまなホストを表示し、ローカルのpasswdファイルにないユーザーを使用できます。
しかし、Mate GUIを使用してユーザーをssh経由で正常にログインできるFreeIPAのユーザーに切り替えようとすると(そうでなければ、ユーザーにまだホームディレクトリがないため、すぐに失敗してログイン画面に戻ります)、「パスワードが間違っています。もう一度やり直してください。」というエラーが発生します。この画面でログインできる唯一のユーザーは、ローカルで定義したユーザーです。万が一に備えてFreeIPAユーザー所有のホームディレクトリを作ってみましたが、あまり違いはありませんでした。
そのため、sshはログインプロセスでlightdmまたは他のコンポーネントで解決できない名前を解決しています。 lightdm ログには、FreeIPA でのみ定義されたユーザー「student」が表示されます。
[+6783.50s] DEBUG: Continue authentication
[+6784.83s] DEBUG: Session pid=25854: Authentication complete with return value 0: Success
[+6784.83s] DEBUG: Authenticate result for user student: Success
[+6784.83s] DEBUG: User student authorized, but no account of that name exists
[+6784.84s] DEBUG: Greeter start authentication for student
[+6784.84s] DEBUG: Seat seat0: Failed to work out session ID to mark
[+6784.84s] DEBUG: Session pid=25872: Started with service 'lightdm', username 'student'
[+6784.84s] DEBUG: Session pid=25854: Exited with return value 0
[+6784.84s] DEBUG: Seat seat0: Session stopped
[+6784.85s] DEBUG: Session pid=25872: Got 1 message(s) from PAM
[+6784.85s] DEBUG: Prompt greeter with 1 message(s)
これはすべてがうまく機能するUbuntu / Mateシステムとは著しく異なります。ログは次のとおりです。
[+50005.95s] DEBUG: Continue authentication
[+50006.20s] DEBUG: Session pid=10425: Authentication complete with return value 0: Success
[+50006.20s] DEBUG: Authenticate result for user student: Success
[+50006.20s] DEBUG: User student authorized
[+50006.20s] DEBUG: Greeter sets language en_GB
[+50006.23s] DEBUG: Greeter requests session mate
失敗中、認証ログには次の情報が表示されます。
Aug 20 18:19:26 client2 lightdm: pam_unix(lightdm:auth): authentication failure; logname= uid=0 euid=0 tty=:1 ruser= rhost= user=student
Aug 20 18:19:27 client2 lightdm: pam_sss(lightdm:auth): authentication success; logname= uid=0 euid=0 tty=:1 ruser= rhost= user=student
Aug 20 18:19:27 client2 lightdm: PAM unable to dlopen(pam_kwallet.so): /lib/security/pam_kwallet.so: cannot open shared object file: No such file or directory
Aug 20 18:19:27 client2 lightdm: PAM adding faulty module: pam_kwallet.so
Aug 20 18:19:27 client2 lightdm: PAM unable to dlopen(pam_kwallet5.so): /lib/security/pam_kwallet5.so: cannot open shared object file: No such file or directory
Aug 20 18:19:27 client2 lightdm: PAM adding faulty module: pam_kwallet5.so
Aug 20 18:19:27 client2 lightdm: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "student"
LDAPにアクセスできるようにいくつかのパッケージを追加する必要があるという漠然とした印象を受けましたが、多くの調査の終わりに何も明らかにされていません。作業中のシステムと機能していないシステムを表示または調整する方法については、さらに詳しい手順がありますが、ここでは少しパニックになります。
これは妥当な理由のように見えますが、/etc/pam.dでエラーを指す違いを見つけることができません。https://stackoverflow.com/questions/14983807/ldap-login-works-via-terminal-but-doesnt-work-via-gui。
これは誰にもモーニングコールですか?
答え1
答えは以下にあります。
https://help.ubuntu.com/lts/serverguide/sssd-ad.html
特に、「pam_mkhomedirを持つホームディレクトリ(オプション)」に関する部分
セッション pam_mkhomedir.so skel=/etc/skel/umask=0022 必須
/etc/pam.d/common-sessionでオプションでsssdを呼び出した後にこれを追加しました。