A.2. SSSD および sudo Debugging Logs を使用した sudo のトラブルシューティング
A.2.1. SSSD および sudo デバッグロギング リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
デバッグロギング機能により、SSSD および sudo に関する追加情報を記録できます。
sudo デバッグログファイル
sudo デバッグを有効にするには、以下の手順に従います。
- 以下の行を
/etc/sudo.conf
に追加します。Debug sudo /var/log/sudo_debug.log all@debug Debug sudoers.so /var/log/sudo_debug.log all@debug
Debug sudo /var/log/sudo_debug.log all@debug Debug sudoers.so /var/log/sudo_debug.log all@debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - デバッグするユーザーとして sudo コマンドを実行します。
/var/log/sudo_debug.log
ファイルが自動的に作成され、以下のような質問に回答するための詳細情報が提供されます。
- sudo コマンドの実行時にユーザーと環境についてどのような情報が利用できますか?
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - sudo ルールの取得に使用されるデータソース。
sudo[22259] <- sudo_parseln @ ./fileops.c:178 := sudoers: files sss
sudo[22259] <- sudo_parseln @ ./fileops.c:178 := sudoers: files sss
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - SSSD プラグインは以下の行で始まります。
sudo[22259] <- sudo_sss_open @ ./sssd.c:305 := 0
sudo[22259] <- sudo_sss_open @ ./sssd.c:305 := 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - SSSD が返すルールの数
sudo[22259] Received 3 rule(s)
sudo[22259] Received 3 rule(s)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ルールが一致しているかどうか。
sudo[22259] sssd/ldap sudoHost 'ALL' ... MATCH! sudo[22259] <- user_in_group @ ./pwutil.c:1010 := false
sudo[22259] sssd/ldap sudoHost 'ALL' ... MATCH! sudo[22259] <- user_in_group @ ./pwutil.c:1010 := false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
SSSD デバッグログファイル
SSSD デバッグを有効にするには、以下を実行します。
/etc/sssd/sssd.conf
ファイルの[sudo]
セクションおよび[domain/domain_name]
セクションにdebug_level
オプションを追加します。[domain/domain_name] debug_level = 0x3ff0 ... [sudo] debug_level = 0x3ff0
[domain/domain_name] debug_level = 0x3ff0 ... [sudo] debug_level = 0x3ff0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - SSSD を再起動します。
systemctl restart sssd
# systemctl restart sssd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - sudo コマンドを実行して、デバッグ情報をログファイルに書き込みます。
以下のログファイルが作成されます。
- ドメインログファイル:
/var/log/sssd/sssd_domain_name.log
- このログファイルは、以下のような質問に回答するのに役立ちます。
- SSSD が返すルールの数
[sdap_sudo_refresh_load_done] (0x0400): Received 4-rules rules
[sdap_sudo_refresh_load_done] (0x0400): Received 4-rules rules
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - SSSD はサーバーからどの sudo ルールをダウンロードしましたか。
[sssd[be[LDAP.PB]]] [sysdb_save_sudorule] (0x0400): Adding sudo rule demo-name
[sssd[be[LDAP.PB]]] [sysdb_save_sudorule] (0x0400): Adding sudo rule demo-name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - マッチングルールはキャッシュに保存されますか。
[sdap_sudo_refresh_load_done] (0x0400): Sudoers is successfully stored in cache
[sdap_sudo_refresh_load_done] (0x0400): Sudoers is successfully stored in cache
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - サーバーからルールをダウンロードするために使用されたのはどのフィルターですか。
[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]
[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]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このフィルターを使用して、IdM データベースのルールを検索します。ldapsearch -x -D "cn=Directory Manager" -W -H ldap://server.example.com -b dc=example,dc=com '(&(objectClass=sudoRole)...)'
# ldapsearch -x -D "cn=Directory Manager" -W -H ldap://server.example.com -b dc=example,dc=com '(&(objectClass=sudoRole)...)'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 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[sudo]] [sudosrv_get_sudorules_from_cache] (0x0400): Returning 4-rules rules for [user@idm.example.com]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - SSSD のキャッシュの検索に適用されたフィルター。
[sudosrv_get_sudorules_query_cache] (0x0200): Searching sysdb with [(&(objectClass=sudoRule)(|(sudoUser=ALL)(sudoUser=user)(sudoUser=#10001)(sudoUser=%group-1)(sudoUser=%user)(sudoUser=+*)))]
[sudosrv_get_sudorules_query_cache] (0x0200): Searching sysdb with [(&(objectClass=sudoRule)(|(sudoUser=ALL)(sudoUser=user)(sudoUser=#10001)(sudoUser=%group-1)(sudoUser=%user)(sudoUser=+*)))]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - SSSD キャッシュから返されるルールを検索するにはどうすればいいですか。以下のフィルターを使用してルールを検索します。
ldbsearch -H /var/lib/sss/db/cache_domain_name.ldb -b cn=sysdb '(&(objectClass=sudoRule)...)'
# ldbsearch -H /var/lib/sss/db/cache_domain_name.ldb -b cn=sysdb '(&(objectClass=sudoRule)...)'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ldbsearch
ユーティリティーは、ldb-tools パッケージに含まれています。