A.2. SSSD 및 sudo 디버깅 로그를 사용하여 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 패키지에 포함되어 있습니다.