Ubuntu 데스크톱에서 True SSO를 지원하려면 Samba 및 Winbind 솔루션을 사용하여 데스크톱을 Active Directory 도메인과 통합합니다.

Ubuntu 데스크톱을 AD 도메인과 통합하려면 다음 절차를 사용합니다.

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

자리 표시자 값 설명
dns_IP_ADDRESS DNS 이름 서버의 IP 주소
mydomain.com AD 도메인의 DNS 이름
MYDOMAIN.COM AD 도메인의 DNS 이름(모두 대문자)
myhost Ubuntu 데스크톱의 호스트 이름
MYDOMAIN Samba 서버를 포함하는 작업 그룹 또는 NT 도메인의 DNS 이름(모두 대문자)
ads-hostname AD 서버의 호스트 이름
admin-user AD 도메인 관리자의 사용자 이름

사전 요구 사항

  • AD(Active Directory) 서버는 Linux 시스템에서 DNS로 확인할 수 있습니다.
  • NTP(Network Time Protocol)는 Linux 시스템에서 구성됩니다.

프로시저

  1. Ubuntu 데스크톱에서 sambawinbind 패키지를 설치합니다.
    sudo apt install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind
  2. 메시지가 표시되면 다음과 같이 Kerberos 인증 설정을 구성합니다.
    1. 기본 Kerberos 버전 5 영역으로 AD 도메인의 DNS 이름을 모두 대문자로 입력합니다.
      예를 들어, AD 도메인 이름이 mydomain.com이면 MYDOMAIN.COM을 입력합니다.
    2. 사용자 영역에 대한 Kerberos 서버에 AD 서버의 호스트 이름(이 절차 전체의 예시에서 ads_hostname으로 표시)을 입력합니다.
    3. Kerberos 영역에 대한 관리 서버에 AD 서버의 호스트 이름을 다시 입력합니다.
  3. PAM 구성을 업데이트합니다.
    1. PAM 구성 페이지를 엽니다.
      pam-auth-update
    2. 로그인 시 홈 디렉토리 생성을 선택하고 확인을 선택합니다.
  4. 다음 예시에 표시된 것처럼 /etc/nsswitch.conf 구성 파일을 편집합니다.
    passwd: compat winbind
    group: compat winbind
    shadow: compat
    gshadow: files
  5. 자동 생성된 resolv.conf 파일이 AD 도메인을 검색 도메인으로 참조하도록 하려면 시스템 연결에 대한 NetworkManager 설정을 편집합니다.
    1. NetworkManager 제어판을 열고 시스템 연결에 대한 IPv4 설정으로 이동합니다. 방법으로 자동(DHCP) 주소만을 선택합니다. DNS 서버 텍스트 상자에 DNS 이름 서버의 IP 주소(이 절차 전체의 예시에서 dns_IP_ADDRESS로 표시)를 입력합니다. 그런 후 저장을 클릭합니다.
    2. /etc/NetworkManager/system-connections에 있는 시스템 연결에 대한 구성 파일을 편집합니다. 다음 예시를 사용하십시오.
      [ipv4]
      dns=dns_IP_ADDRESS
      dns-search=mydomain.com
      ignore-auto-dns=true
      method=auto
      참고: 새 인스턴트 클론 가상 데스크톱이 생성될 때 새 가상 네트워크 어댑터가 추가됩니다. 인스턴트 클론 가상 데스크톱에 새 네트워크 어댑터가 추가되면 가상 데스크톱 템플릿에서 DNS 서버와 같은 네트워크 어댑터의 모든 설정이 손실됩니다. 복제된 가상 데스크톱에 새 네트워크 어댑터를 추가할 때 DNS 서버 설정이 손실되지 않도록 하려면 Linux 시스템에서 DNS 서버를 지정해야 합니다.
    3. 다음 예시에 표시된 것처럼 /etc/resolv.conf 구성 파일을 편집하여 DNS 서버를 지정합니다.
      nameserver dns_IP_ADDRESS
      
      search mydomain.com
    4. 시스템을 재부팅하고 다시 로그인합니다.
  6. 다음 예시에 표시된 것처럼 /etc/hosts 구성 파일을 편집합니다.
    127.0.0.1     localhost
    127.0.1.1     myhost.mydomain.com myhost
  7. 다음 예시와 같이 /etc/samba/smb.conf 구성 파일을 편집합니다.
    [global]
    security = ads
    realm = MYDOMAIN.COM
    workgroup = MYDOMAIN
    idmap uid = 10000-20000
    idmap gid = 10000-20000
    winbind enum users = yes
    winbind enum groups = yes
    template homedir = /home/%D/%U
    template shell = /bin/bash
    client use spnego = yes
    client ntlmv2 auth = yes
    encrypt passwords = yes
    winbind use default domain = yes
    restrict anonymous = 2
    kerberos method = secrets and keytab
    winbind refresh tickets = true
  8. smbd 서비스를 다시 시작합니다.
    sudo systemctl restart smbd.service
  9. 다음 예시와 비슷한 컨텐츠를 포함하도록 /etc/krb5.conf 구성 파일을 편집합니다.
    [libdefaults]
          default_realm = MYDOMAIN.COM
          dns_lookup_realm = true
          dns_lookup_kdc = true
    
    [realms]
          MYDOMAIN.COM = {
                kdc = ads-hostname
                admin_server = ads-hostname 
          }
    
    [domain_realm]
          .mydomain.com = MYDOMAIN.COM
          mydomain.com = MYDOMAIN.COM
    
  10. Ubuntu 데스크톱을 AD 도메인에 가입합니다.
    1. Kerberos 티켓을 시작합니다.
       sudo kinit admin-user
      메시지가 표시되면 관리자 암호를 입력합니다.
    2. 티켓이 성공적으로 생성되었는지 확인합니다.
      sudo klist
      이 명령은 해당하는 유효 시작 시간 및 만료 시간을 포함하여 티켓에 대한 정보를 반환합니다.
    3. Kerberos keytab 파일을 생성합니다.
      sudo net ads keytab create -U admin-user
    4. AD 도메인에 가입합니다.
      sudo net ads join -U admin-user
  11. Winbind 서비스를 다시 시작하고 확인합니다.
    1. Winbind 서비스를 다시 시작합니다.
      sudo systemctl restart winbind.service 
    2. Winbind 서비스를 확인하려면 다음 명령을 실행하고 올바른 출력을 반환하는지 확인합니다.
      • wbinfo -u
      • wbinfo -g
      • getend passwd
      • getend group
  12. 시스템을 재부팅하고 다시 로그인합니다.

다음에 수행할 작업

Ubuntu 데스크톱에서 True SSO 구성