Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.2. Kerberos를 사용하여 IdM에 로그인

IdM은 Kerberos 프로토콜을 사용하여 SSO(Single Sign-On)를 지원합니다. Kerberos를 사용하면 사용자가 올바른 사용자 이름과 암호만 제공하면 되며 시스템에서 자격 증명을 다시 요청하지 않고 IdM 서비스에 액세스할 수 있습니다.
기본적으로 IdM 도메인의 멤버인 시스템만 Kerberos를 사용하여 IdM에 인증할 수 있습니다. 그러나 Kerberos 인증을 위해 외부 시스템을 구성할 수도 있습니다. 자세한 내용은 5.4.4절. “웹 UI로 Kerberos 인증을 위한 외부 시스템 구성” 을 참조하십시오.

kinit사용

명령줄에서 IdM에 로그인하려면 kinit 유틸리티를 사용합니다.
참고
kinit 를 사용하려면>- <5-workstation 패키지가 설치되어 있어야 합니다.
사용자 이름을 지정하지 않고 실행하면 kinit 가 로컬 시스템에 현재 로그인한 사용자의 사용자 이름으로 IdM에 로그인합니다. 예를 들어 로컬 시스템에서 local_user 로 로그인한 경우 kinit 를 실행하면 local_user IdM 사용자로 인증합니다.
[local_user@server ~]$ kinit
Password for local_user@EXAMPLE.COM:
참고
로컬 사용자의 사용자 이름이 IdM의 사용자 항목과 일치하지 않으면 인증 시도가 실패합니다.
다른 IdM 사용자로 로그인하려면 필요한 사용자 이름을 매개 변수로 kinit 유틸리티에 전달합니다. 예를 들어 admin 사용자로 로그인하려면 다음을 수행합니다.
[local_user@server ~]$ kinit admin
Password for admin@EXAMPLE.COM:

자동으로 Kerberos 티켓 얻기

IdM 클라이언트 시스템의 데스크탑 환경에 성공적으로 로그인한 후 PAM(pluggable authentication module) 및 SSSD는 사용자의 TGT를 자동으로 가져오도록 구성할 수 있습니다. 이렇게 하면 로그인 후 사용자가 kinit 를 실행할 필요가 없습니다.
SSSD에 ID 및 인증 공급자로 IdM이 구성된 IdM 시스템에서는 사용자가 해당 Kerberos 주체 이름으로 로그인한 후 SSSD가 TGT를 자동으로 가져옵니다.
iPXE _krb5 구성에 대한 자세한 내용은 pam_krb5(8) 매뉴얼 페이지를 참조하십시오. PAM에 대한 일반 정보는 시스템 수준 인증 가이드 를 참조하십시오.

여러 Kerberos 티켓 저장

기본적으로 Kerberos는 로그인된 사용자당 하나의 티켓만 인증 정보 캐시에 저장합니다. 사용자가 kinit 를 실행할 때마다 Kerberos는 현재 저장된 티켓을 새 티켓으로 덮어씁니다. 예를 들어 kinit 를 사용하여 user_A 로 인증하는 경우, user_B 로 다시 인증한 후 user_A 의 티켓이 손실됩니다.
사용자에 대한 다른 TGT를 가져와 저장하려면 이전 캐시의 콘텐츠를 덮어쓰지 않도록 다른 자격 증명 캐시를 설정합니다. 다음 두 가지 방법 중 하나로 이 작업을 수행할 수 있습니다.
  • 내보내기 KRB5CCNAME=path_to_different_cache 명령을 실행한 다음 kinit 를 사용하여 티켓을 가져옵니다.
  • kinit -c path_to_different_cache 명령을 실행한 다음 KRB5CCNAME 변수를 재설정합니다.
기본 인증 정보 캐시에 저장된 원래 TGT를 복원하려면 다음을 수행합니다.
  1. kdestroy 명령을 실행합니다.
  2. unset $KRB5CCNAME 명령을 사용하여 기본 인증 정보 캐시 위치를 복원합니다.

현재 로그인 사용자 확인 중

현재 저장 및 인증에 사용되는 TGT를 확인하려면 klist 유틸리티를 사용하여 캐시된 티켓을 나열합니다. 다음 예에서 캐시에는 user_A 의 티켓이 포함되어 있습니다. 즉, 현재 user_A 만 IdM 서비스에 액세스할 수 있습니다.
$ klist
Ticket cache: KEYRING:persistent:0:0
Default principal: user_A@EXAMPLE.COM

Valid starting     	Expires            	Service principal
11/10/2015 08:35:45  	11/10/2015 18:35:45  	krbtgt/EXAMPLE.COM@EXAMPLE.COM