A.2. SSSD および sudo Debugging Logs を使用した sudo のトラブルシューティング


A.2.1. SSSD および sudo デバッグロギング

デバッグロギング機能により、SSSD および sudo に関する追加情報を記録できます。

sudo デバッグログファイル

sudo デバッグを有効にするには、以下の手順に従います。
  1. 以下の行を /etc/sudo.conf に追加します。
    Debug sudo /var/log/sudo_debug.log all@debug
    Debug sudoers.so /var/log/sudo_debug.log all@debug
  2. デバッグするユーザーとして sudo コマンドを実行します。
/var/log/sudo_debug.log ファイルが自動的に作成され、以下のような質問に回答するための詳細情報が提供されます。
  • sudo コマンドの実行時にユーザーと環境についてどのような情報が利用できますか?
    sudo[22259] settings: debug_flags=all@debug
    sudo[22259] settings: run_shell=true
    sudo[22259] settings: progname=sudo
    sudo[22259] settings: network_addrs=192.0.2.1/255.255.255.0 fe80::250:56ff:feb9:7d6/ffff:ffff:ffff:ffff::
    sudo[22259] user_info: user=user_name
    sudo[22259] user_info: pid=22259
    sudo[22259] user_info: ppid=22172
    sudo[22259] user_info: pgid=22259
    sudo[22259] user_info: tcpgid=22259
    sudo[22259] user_info: sid=22172
    sudo[22259] user_info: uid=10000
    sudo[22259] user_info: euid=0
    sudo[22259] user_info: gid=554801393
    sudo[22259] user_info: egid=554801393
    sudo[22259] user_info: groups=498,6004,6005,7001,106501,554800513,554801107,554801108,554801393,554801503,554802131,554802244,554807670
    sudo[22259] user_info: cwd=/
    sudo[22259] user_info: tty=/dev/pts/1
    sudo[22259] user_info: host=client
    sudo[22259] user_info: lines=31
    sudo[22259] user_info: cols=237
  • sudo ルールの取得に使用されるデータソース。
    sudo[22259] <- sudo_parseln @ ./fileops.c:178 := sudoers: files sss
  • SSSD プラグインは以下の行で始まります。
    sudo[22259] <- sudo_sss_open @ ./sssd.c:305 := 0
  • SSSD が返すルールの数
    sudo[22259] Received 3 rule(s)
  • ルールが一致しているかどうか。
    sudo[22259] sssd/ldap sudoHost 'ALL' ... MATCH!
    sudo[22259] <- user_in_group @ ./pwutil.c:1010 := false

SSSD デバッグログファイル

SSSD デバッグを有効にするには、以下を実行します。
  1. /etc/sssd/sssd.conf ファイルの [sudo] セクションおよび [domain/domain_name] セクションに debug_level オプションを追加します。
    [domain/domain_name]
    debug_level = 0x3ff0
    ...
    [sudo]
    debug_level = 0x3ff0
  2. SSSD を再起動します。
    # systemctl restart sssd
  3. sudo コマンドを実行して、デバッグ情報をログファイルに書き込みます。
以下のログファイルが作成されます。
ドメインログファイル: /var/log/sssd/sssd_domain_name.log
このログファイルは、以下のような質問に回答するのに役立ちます。
  • SSSD が返すルールの数
    [sdap_sudo_refresh_load_done] (0x0400): Received 4-rules rules
  • SSSD はサーバーからどの sudo ルールをダウンロードしましたか。
    [sssd[be[LDAP.PB]]] [sysdb_save_sudorule] (0x0400): Adding sudo rule demo-name
  • マッチングルールはキャッシュに保存されますか。
    [sdap_sudo_refresh_load_done] (0x0400): Sudoers is successfully stored in cache
  • サーバーからルールをダウンロードするために使用されたのはどのフィルターですか。
    [sdap_get_generic_ext_step] (0x0400): calling ldap_search_ext with [(&(objectClass=sudoRole)(|(!(sudoHost=*))(sudoHost=ALL)(sudoHost=client.example.com)(sudoHost=client)(sudoHost=192.0.2.1)(sudoHost=192.0.2.0/24)(sudoHost=2620:52:0:224e:21a:4aff:fe23:1394)(sudoHost=2620:52:0:224e::/64)(sudoHost=fe80::21a:4aff:fe23:1394)(sudoHost=fe80::/64)(sudoHost=+*)(|(sudoHost=*\\*)(sudoHost=*?*)(sudoHost=*\2A*)(sudoHost=*[*]*))))][dc=example,dc=com]
    このフィルターを使用して、IdM データベースのルールを検索します。
    # ldapsearch -x -D "cn=Directory Manager" -W -H ldap://server.example.com -b dc=example,dc=com '(&(objectClass=sudoRole)...)'
sudo レスポンダーログファイル: /var/log/sssd/sssd_sudo.log
このログファイルは、以下のような質問に回答するのに役立ちます。
  • SSSD が返すルールの数
    [sssd[sudo]] [sudosrv_get_sudorules_from_cache] (0x0400): Returning 4-rules rules for [user@idm.example.com]
  • SSSD のキャッシュの検索に適用されたフィルター。
    [sudosrv_get_sudorules_query_cache] (0x0200): Searching sysdb with [(&(objectClass=sudoRule)(|(sudoUser=ALL)(sudoUser=user)(sudoUser=#10001)(sudoUser=%group-1)(sudoUser=%user)(sudoUser=+*)))]
  • SSSD キャッシュから返されるルールを検索するにはどうすればいいですか。以下のフィルターを使用してルールを検索します。
    # ldbsearch -H /var/lib/sss/db/cache_domain_name.ldb -b cn=sysdb '(&(objectClass=sudoRule)...)'
    注記
    ldbsearch ユーティリティーは、ldb-tools パッケージに含まれています。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.