Ubuntu 데스크톱에서 스마트 카드 리디렉션을 지원하려면 Samba 및 Winbind 솔루션을 사용하여 기본 VM(가상 시스템)을 AD(Active Directory) 도메인에 통합합니다.

스마트 카드 리디렉션을 위해 Ubuntu VM을 AD 도메인에 통합하려면 다음 절차를 사용합니다.

이 절차의 일부 예시는 AD 도메인의 DNS 이름과 같은 네트워크 구성의 엔티티를 나타내기 위해 자리 표시자 값을 사용합니다. 다음 표에 설명된 대로 자리 표시자 값을 구성과 관련된 정보로 바꿉니다.

자리 표시자 값 설명
dns_IP_ADDRESS DNS 이름 서버의 IP 주소
mydomain.com AD 도메인의 DNS 이름
MYDOMAIN.COM AD 도메인의 DNS 이름(모두 대문자)
MYDOMAIN Samba 서버를 포함하는 작업 그룹 또는 NT 도메인의 DNS 이름(모두 대문자)
ads-hostname AD 서버의 호스트 이름
ads-hostname.mydomain.com AD 서버의 FQDN(정규화된 도메인 이름)
mytimeserver.mycompany.com NTP 시간 서버의 DNS 이름
AdminUser VM 관리자의 사용자 이름

프로시저

  1. Ubuntu VM에서 /etc/hostname 구성 파일을 편집하여 VM의 호스트 이름을 정의합니다.
  2. DNS를 구성합니다.
    1. DNS 서버 이름 및 IP 주소를 /etc/hosts 구성 파일에 추가합니다.
    2. 다음 예와 같이 DNS 이름 서버의 IP 주소와 AD 도메인의 DNS 이름을 /etc/network/interfaces 구성 파일에 추가합니다.
      dns-nameservers dns_IP_ADDRESS
      dns-search mydomain.com
  3. resolvconfig 패키지를 설치합니다.
    1. 설치 명령을 실행합니다.
      apt-get install -y resolvconf
      시스템이 패키지를 설치하고 재부팅하도록 허용합니다.
    2. 다음 명령을 실행하여 /etc/resolv.conf 파일에서 DNS 구성을 확인합니다.
      cat /etc/resolv.conf
      명령이 다음 예시와 유사한 출력을 반환하는지 확인합니다.
      nameserver dns_IP_ADDRESS
      search mydomain.com
  4. 네트워크 시간 동기화를 구성합니다.
    1. ntpdate 패키지를 설치합니다.
      apt-get install -y ntpdate
    2. 다음 예시와 같이 NTP 서버 정보를 /etc/systemd/timesyncd.conf 구성 파일에 추가합니다.
      [Time]
      NTP=mytimeserver.mycompany.com
  5. NTP 서비스를 다시 시작합니다.
    sudo service ntpdate restart
  6. 필요한 AD 가입 패키지를 설치합니다.
    1. 설치 명령을 실행합니다.
      apt-get install -y samba krb5-config krb5-user winbind libpam-winbind
          libnss-winbind
    2. 기본 Kerberos 영역을 묻는 설치 메시지가 표시되면 AD 도메인의 DNS 이름을 대문자로 입력합니다(예: MYDOMAIN.COM). 그런 다음, 확인을 선택합니다.
  7. 다음 예시와 같이 /etc/krb5.conf 구성 파일을 편집합니다.
    [libdefaults]
          dns_lookup_realm = false
          ticket_lifetime = 24h
          renew_lifetime = 7d
          forwardable = true
          rdns = false
          default_realm = MYDOMAIN.COM
          default_ccache_name = KEYRING:persistent:%{uid}
    
    [realms]
          MYDOMAIN.COM = {
                kdc = ads-hostname.mydomain.com
                admin_server = ads-hostname.mydomain.com
                default_domain = ads-hostname.mydomain.com
                pkinit_anchors = FILE:/etc/pki/nssdb/certificate.pem
                pkinit_cert_match = <KU>digitalSignature
                pkinit_kdc_hostname = ads-hostname.mydomain.com
          }
    
    [domain_realm]
          .mydomain.com = MYDOMAIN.COM
          mydomain.com = MYDOMAIN.COM
  8. Kerberos 인증을 확인하려면 다음 명령을 실행합니다.
    kinit Administrator@MYDOMAIN.COM
    
    klist
    명령이 다음 예시와 유사한 출력을 반환하는지 확인합니다.
    Ticket cache: FILE:/tmp/krb5cc_0
    Default principal: Administrator@MYDOMAIN.COMValid starting        Expires                Service principal
    2019-05-27T17:12:03   2019-05-28T03:12:03    krbtgt/MYDOMAIN.COM@MYDOMAIN.COM
            renew until 2019-05-28T17:12:03    
    
  9. 다음 예시와 같이 /etc/samba/smb.conf 구성 파일을 편집합니다.
    [global]
          workgroup = MYDOMAIN  
          realm = MYDOMAIN.COM
          password server = ads-hostname.mydomain.com
          security = ads
          kerberos method = secrets only
          winbind use default domain = true
          winbind offline logon = false 
          template homedir =/home/%D/%U
          template shell = /bin/bash 
          client use spnego = yes
          client ntlmv2 auth = yes
          encrypt passwords = yes
          passdb backend = tdbsam
          winbind enum users = yes
          winbind enum groups = yes
          idmap uid = 10000-20000
          idmap gid = 10000-20000
  10. AD 도메인에 가입하고 통합을 확인합니다.
    1. AD 가입 명령을 실행합니다.
      net ads join -U AdminUser@mydomain.com
      systemctl stop samba-ad-dc
      systemctl enable smbd nmbd winbind
      systemctl restart smbd nmbd winbind
    2. 다음 예시와 같이 /etc/nsswitch.conf 구성 파일을 수정합니다.
      passwd:    compat systemd winbind
      group:     compat systemd winbind
      shadow:    compat
      gshadow:   files
    3. AD 가입 결과를 확인하려면 다음 명령을 실행하고 올바른 출력을 반환하는지 확인합니다.
      wbinfo -u
      
      wbinfo -g
    4. Winbind 이름 서비스 스위치를 확인하려면 다음 명령을 실행하고 올바른 출력을 반환하는지 확인합니다.
      getent group|grep 'domain admins'
      
      getent passwd|grep 'ads-hostname'
  11. 모든 PAM 프로파일을 사용하도록 설정합니다.
    pam-auth-update
    PAM 구성 화면에서 로그인 시 홈 디렉토리 생성을 포함하는 모든 PAM 프로파일을 선택한 다음, 확인을 선택합니다.

다음에 수행할 작업

Ubuntu 가상 시스템에서 스마트 카드 리디렉션 설정