12.9. IdM 클라이언트의 인증 문제 해결을 위해 SSSD 서비스에서 디버깅 로그 수집
IdM 클라이언트에 IdM 사용자로 인증할 때 문제가 발생하는 경우 IdM 서버에 대한 사용자 정보를 검색할 수 있는지 확인합니다. IdM 서버에 대한 사용자 정보를 검색할 수 없는 경우 IdM 서버에서 정보를 검색하는 IdM 클라이언트에서 검색할 수 없습니다.
IdM 서버에서 인증 문제가 발생하지 않았다는 것을 확인한 후 IdM 서버와 IdM 클라이언트 모두에서 SSSD 디버깅 로그를 수집합니다.
사전 요구 사항
- 사용자는 IdM 서버가 아닌 IdM 클라이언트에 대한 인증 문제만 있습니다.
-
sssctl명령을 실행하고 SSSD 서비스를 다시 시작하려면 루트 암호가 필요합니다.
절차
-
클라이언트에서 다음을 수행합니다. 텍스트 편집기에서
/etc/sssd/sssd.conf파일을 엽니다. 클라이언트에서 다음을 수행합니다. 파일의
[domain]섹션에ipa_server옵션을 추가하고 FQDN(정규화된 도메인 이름)을 사용하여 IdM 서버로 설정합니다. 이렇게 하면 IdM 클라이언트가 다른 IdM 서버를 자동으로 검색하지 않으므로 이 테스트가 하나의 클라이언트와 서버로만 제한됩니다.[domain/<idm_domain_name>] ipa_server = <idm_server_fqdn> ...-
클라이언트에서 다음을 수행합니다.
sssd.conf파일을 저장하고 닫습니다. 클라이언트에서 다음을 수행합니다. SSSD 서비스를 다시 시작하여 구성 변경 사항을 로드합니다.
[root@client ~]# systemctl restart sssd서버 및 클라이언트에서 다음을 수행합니다. 자세한 SSSD 디버그 로깅을 활성화합니다.
[root@server ~]# sssctl debug-level 6[root@client ~]# sssctl debug-level 6서버 및 클라이언트에서 다음을 수행합니다. 인증 문제가 발생한 사용자에게 SSSD 캐시에 있는 개체를 무효화하므로 LDAP 데이터베이스를 우회하지 않고 SSSD에 이미 캐시된 정보를 검색하지 않습니다.
[root@server ~]# sssctl cache-expire -u <idm_user>[root@client ~]# sssctl cache-expire -u <idm_user>서버 및 클라이언트에서 다음을 수행합니다. 이전 SSSD 로그를 제거하여 문제 해결 최소화.
[root@server ~]# sssctl logs-remove[root@server ~]# sssctl logs-remove클라이언트에서 다음을 수행합니다. 시도 전후에 타임스탬프를 수집하는 동안 인증 문제가 발생한 사용자로 전환합니다. 이러한 타임스탬프는 데이터 공간의 범위를 더 좁힙니다.
[root@client sssd]# date; su <idm_user>; date Mon Mar 29 16:20:13 EDT 2021 su: user idm_user does not exist Mon Mar 29 16:20:14 EDT 2021선택 사항: 서버 및 클라이언트에서 다음을 수행합니다. 자세한 SSSD 로그를 계속 수집하지 않으려면 디버그 수준을 낮추십시오.
[root@server ~]# sssctl debug-level 0[root@client ~]# sssctl debug-level 0서버 및 클라이언트에서 다음을 수행합니다. 실패한 요청에 대한 정보는 SSSD 로그를 검토합니다.
- 클라이언트 로그에서 클라이언트의 요청을 검토합니다.
- 서버 로그에서 클라이언트의 요청을 검토합니다.
- 서버 로그에서 요청 결과를 검토합니다.
- 서버에서 요청의 결과를 수신한 클라이언트의 결과를 검토합니다.
인증 문제의 원인을 확인할 수 없는 경우:
IdM 서버 및 IdM 클라이언트에서 최근에 생성한 SSSD 로그를 수집합니다. 호스트 이름 또는 역할에 따라 레이블을 지정합니다.
[root@server ~]# sssctl logs-fetch sssd-logs-server-Mar29.tar[root@client ~]# sssctl logs-fetch sssd-logs-client-Mar29.tarRed Hat 기술 지원 케이스를 열고 다음을 제공합니다.
SSSD 디버그 로그:
-
sssd-logs-server-Mar29.tar서버에서 -
클라이언트에서
sssd-logs-client-Mar29.tar
-
로그에 해당하는 요청의 타임스탬프 및 사용자 이름을 포함한 콘솔 출력입니다.
[root@client sssd]# date; su <idm_user>; date Mon Mar 29 16:20:13 EDT 2021 su: user idm_user does not exist Mon Mar 29 16:20:14 EDT 2021