8.8. SSSD サービスからデバッグログを収集し、IdM サーバーによる認証問題のトラブルシューティング
IdM ユーザーが IdM サーバーへの認証を試行する際に問題が発生した場合は、サーバー上の SSSD サービスで詳細なデバッグロギングを有効にし、ユーザーに関する情報の取得を試行するログを収集します。
前提条件
-
sssctl
コマンドを実行して SSSD サービスを再起動するには、root パスワードが必要です。
手順
IdM サーバーで詳細な SSSD デバッグロギングを有効にします。
[root@server ~]# sssctl debug-level 6
認証問題が発生しているユーザーの SSSD キャッシュでオブジェクトを無効にするため、LDAP サーバーを省略し、SSSD がすでにキャッシュされている情報を取得しません。
[root@server ~]# sssctl cache-expire -u idmuser
古い SSSD ログを削除して、トラブルシューティングのデータセットを最小限に抑える。
[root@server ~]# sssctl logs-remove
認証問題が発生し、試行前後にタイムスタンプを収集する際に、ユーザーが認証問題が発生しようと試みます。これらのタイムスタンプは、データセットのスコープをさらに絞り込むことができます。
[root@server sssd]# date; su idmuser; date Mon Mar 29 15:33:48 EDT 2021 su: user idmuser does not exist Mon Mar 29 15:33:49 EDT 2021
(オプション) 詳細な SSSD ログの収集を続行しない場合は、デバッグレベルを下げます。
[root@server ~]# sssctl debug-level 2
障害のある要求に関する情報を SSSD ログで確認します。たとえば、
/var/log/sssd/sssd_example.com.log
ファイルを確認すると、SSSD サービスがcn=accounts,dc=example,dc=com
LDAP サブツリーでユーザーを見つけられなかったことを示しています。これは、ユーザーが存在しないか、別の場所に存在することを示しています。(Mon Mar 29 15:33:48 2021) [sssd[be[example.com]]] [dp_get_account_info_send] (0x0200): Got request for [0x1][BE_REQ_USER][name=idmuser@example.com] ... (Mon Mar 29 15:33:48 2021) [sssd[be[example.com]]] [sdap_get_generic_ext_step] (0x0400): calling ldap_search_ext with [(&(uid=idmuser)(objectclass=posixAccount)(uid=)(&(uidNumber=)(!(uidNumber=0))))][cn=accounts,dc=example,dc=com]. (Mon Mar 29 15:33:48 2021) [sssd[be[example.com]]] [sdap_get_generic_op_finished] (0x0400): Search result: Success(0), no errmsg set (Mon Mar 29 15:33:48 2021) [sssd[be[example.com]]] [sdap_search_user_process] (0x0400): Search for users, returned 0 results. (Mon Mar 29 15:33:48 2021) [sssd[be[example.com]]] [sysdb_search_by_name] (0x0400): No such entry (Mon Mar 29 15:33:48 2021) [sssd[be[example.com]]] [sysdb_delete_user] (0x0400): Error: 2 (No such file or directory) (Mon Mar 29 15:33:48 2021) [sssd[be[example.com]]] [sysdb_search_by_name] (0x0400): No such entry (Mon Mar 29 15:33:49 2021) [sssd[be[example.com]]] [ipa_id_get_account_info_orig_done] (0x0080): Object not found, ending request
認証問題の原因を判断できない場合は、以下を行います。
最近生成した SSSD ログを収集します。
[root@server ~]# sssctl logs-fetch sssd-logs-Mar29.tar
Red Hat テクニカルサポートケースを作成し、以下を提供します。
-
SSSD ログ:
sssd-logs-Mar29.tar
ログに対応する要求のタイムスタンプおよびユーザー名を含むコンソールの出力。
[root@server sssd]# date; id idmuser; date Mon Mar 29 15:33:48 EDT 2021 id: ‘idmuser’: no such user Mon Mar 29 15:33:49 EDT 2021
-
SSSD ログ: