13.9. IdM 클라이언트의 인증 문제 해결을 위해 SSSD 서비스에서 디버깅 로그 수집
IdM 클라이언트에 IdM 사용자로 인증할 때 문제가 발생하는 경우 IdM 서버에 대한 사용자 정보를 검색할 수 있는지 확인합니다. IdM 서버에 대한 사용자 정보를 검색할 수 없는 경우 IdM 서버에서 정보를 검색하는 IdM 클라이언트에서 검색할 수 없습니다.
IdM 서버에서 인증 문제가 발생하지 않았다는 것을 확인한 후 IdM 서버와 IdM 클라이언트 모두에서 SSSD 디버깅 로그를 수집합니다.
사전 요구 사항
- 사용자는 IdM 서버가 아닌 IdM 클라이언트에 대한 인증 문제만 있습니다.
-
sssctl
명령을 실행하고 SSSD 서비스를 다시 시작하려면 루트 암호가 필요합니다.
절차
-
클라이언트에서 다음을 수행합니다. 텍스트 편집기에서
/etc/sssd/sssd.conf
파일을 엽니다. 클라이언트에서 다음을 수행합니다.
ipa_server
옵션을 파일의[domain]
섹션에 추가하고 IdM 서버로 설정합니다. 이렇게 하면 IdM 클라이언트가 다른 IdM 서버를 자동으로 검색하지 않으므로 이 테스트가 하나의 클라이언트와 서버로만 제한됩니다.[domain/example.com] ipa_server = server.example.com ...
-
클라이언트에서 다음을 수행합니다.
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 idmuser
[root@client ~]# sssctl cache-expire -u idmuser
서버 및 클라이언트에서 다음을 수행합니다. 이전 SSSD 로그를 제거하여 문제 해결 최소화.
[root@server ~]# sssctl logs-remove
[root@server ~]# sssctl logs-remove
클라이언트에서 다음을 수행합니다. 시도 전후에 타임스탬프를 수집하는 동안 인증 문제가 발생한 사용자로 전환합니다. 이러한 타임스탬프는 데이터 공간의 범위를 더 좁힙니다.
[root@client sssd]# date; su idmuser; date Mon Mar 29 16:20:13 EDT 2021 su: user idmuser 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.tar
Red Hat 기술 지원 케이스를 열고 다음을 제공합니다.
SSSD 디버그 로그:
-
sssd-logs-server-Mar29.tar
서버에서 -
클라이언트에서
sssd-logs-client-Mar29.tar
-
로그에 해당하는 요청의 타임스탬프 및 사용자 이름을 포함한 콘솔 출력입니다.
[root@client sssd]# date; su idmuser; date Mon Mar 29 16:20:13 EDT 2021 su: user idmuser does not exist Mon Mar 29 16:20:14 EDT 2021