웹사이트 검색

Samba 및 Winbind를 사용하여 Ubuntu 16.04를 도메인 구성원으로 AD에 통합 - 8부


이 튜토리얼에서는 파일 및 디렉터리에 대한 로컬 ACL을 사용하여 AD 계정을 인증하기 위해 Ubuntu 시스템을 Samba4 Active Directory 도메인에 가입시키는 방법을 설명합니다. 도메인 컨트롤러 사용자를 위한 볼륨 공유를 생성하고 매핑합니다(파일 서버 역할).

요구사항:

  1. Ubuntu에서 Samba4를 사용하여 Active Directory 인프라 생성

1단계: Ubuntu를 Samba4 AD에 연결하기 위한 초기 구성

1. Ubuntu 호스트를 Active Directory DC에 연결하기 전에 일부 서비스가 로컬 시스템에 올바르게 구성되어 있는지 확인해야 합니다.

시스템의 중요한 측면은 호스트 이름을 나타냅니다. 도메인에 가입하기 전에 hostnamectl 명령을 사용하거나 /etc/hostname 파일을 수동으로 편집하여 적절한 시스템 이름을 설정하세요.


hostnamectl set-hostname your_machine_short_name
cat /etc/hostname
hostnamectl

2. 다음 단계에서는 적절한 IP 구성으로 컴퓨터 네트워크 설정을 열고 수동으로 편집합니다. 여기서 가장 중요한 설정은 도메인 컨트롤러를 다시 가리키는 DNS IP 주소입니다.

/etc/network/interfaces 파일을 편집하고 아래 스크린샷에 표시된 대로 적절한 AD IP 주소와 도메인 이름이 포함된 dns-nameservers 문을 추가하세요.

또한 동일한 DNS IP 주소와 도메인 이름이 /etc/resolv.conf 파일에 추가되었는지 확인하세요.

위 스크린샷에서 192.168.1.254192.168.1.253Samba4 AD DCTecmint.lan<의 IP 주소입니다.은 영역에 통합된 모든 시스템에서 쿼리되는 AD 도메인의 이름을 나타냅니다.

3. 새 네트워크 구성을 적용하려면 네트워크 서비스를 다시 시작하거나 시스템을 재부팅하세요. DNS 확인이 예상대로 작동하는지 테스트하려면 도메인 이름에 대해 ping 명령을 실행하세요.

AD DC는 FQDN으로 재생되어야 합니다. LAN 호스트에 대한 IP 설정을 자동으로 할당하도록 네트워크에서 DHCP 서버를 구성한 경우 AD DC IP 주소를 DHCP 서버 DNS 구성에 추가해야 합니다.


systemctl restart networking.service
ping -c2 your_domain_name

4. 필요한 마지막 중요한 구성은 시간 동기화로 표시됩니다. 아래 명령을 실행하여 AD DC를 사용하여 ntpdate 패키지, 쿼리 및 시간 동기화를 설치합니다.


sudo apt-get install ntpdate
sudo ntpdate -q your_domain_name
sudo ntpdate your_domain_name

5. 다음 단계에서는 아래 명령을 실행하여 Ubuntu 시스템이 도메인에 완전히 통합되는 데 필요한 소프트웨어를 설치합니다.


sudo apt-get install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind

Kerberos 패키지를 설치하는 동안 기본 영역의 이름을 입력하라는 메시지가 표시됩니다. 도메인 이름을 대문자로 사용하고 Enter 키를 눌러 설치를 계속하세요.

6. 모든 패키지 설치가 완료된 후 AD 관리 계정에 대해 Kerberos 인증을 테스트하고 아래 명령을 실행하여 티켓을 나열합니다.


kinit ad_admin_user
klist

2단계: Ubuntu를 Samba4 AD DC에 가입

7. Ubuntu 시스템을 Samba4 Active Directory 도메인에 통합하는 첫 번째 단계는 Samba 구성 파일을 편집하는 것입니다.

깨끗한 구성으로 시작하려면 다음 명령을 실행하여 패키지 관리자가 제공하는 Samba의 기본 구성 파일을 백업하십시오.


mv /etc/samba/smb.conf /etc/samba/smb.conf.initial
nano /etc/samba/smb.conf 

새 Samba 구성 파일에 아래 줄을 추가합니다.


[global]
        workgroup = TECMINT
        realm = TECMINT.LAN
        netbios name = ubuntu
        security = ADS
        dns forwarder = 192.168.1.1

idmap config * : backend = tdb        
idmap config *:range = 50000-1000000
	
   template homedir = /home/%D/%U
   template shell = /bin/bash
   winbind use default domain = true
   winbind offline logon = false
   winbind nss info = rfc2307
   winbind enum users = yes
   winbind enum groups = yes

  vfs objects = acl_xattr
  map acl inherit = Yes
  store dos attributes = Yes

작업 그룹, 영역, netbios 이름DNS 전달자 변수를 사용자 정의 설정으로 바꿉니다.

winbind 기본 도메인 사용 매개변수는 winbind 서비스가 정규화되지 않은 AD 사용자 이름을 AD 사용자로 처리하도록 합니다. AD 계정과 겹치는 로컬 시스템 계정 이름이 있는 경우 이 매개변수를 생략해야 합니다.

8. 이제 아래 명령을 실행하여 모든 삼바 데몬을 다시 시작하고 불필요한 서비스를 중지 및 제거하고 시스템 전체에서 삼바 서비스를 활성화해야 합니다.


sudo systemctl restart smbd nmbd winbind
sudo systemctl stop samba-ad-dc
sudo systemctl enable smbd nmbd winbind

9. 다음 명령을 실행하여 Ubuntu 시스템을 Samba4 AD DC에 연결합니다. 영역 바인딩이 예상대로 작동하려면 관리자 권한이 있는 AD DC 계정의 이름을 사용하십시오.


sudo net ads join -U ad_admin_user

10. RSAT 도구가 설치된 Windows 시스템에서 AD UC를 열고 컴퓨터 컨테이너로 이동할 수 있습니다. 여기에 Ubuntu에 가입된 컴퓨터가 나열되어야 합니다.

3단계: AD 계정 인증 구성

11. 로컬 시스템에서 AD 계정에 대한 인증을 수행하려면 로컬 시스템에서 일부 서비스와 파일을 수정해야 합니다.

먼저 The Name Service Switch(NSS) 구성 파일을 열고 편집합니다.


sudo nano /etc/nsswitch.conf

다음으로 아래 발췌에 설명된 대로 passwd 및 group 행에 대한 winbind 값을 추가합니다.


passwd:         compat winbind
group:          compat winbind

12. Ubuntu 시스템이 영역에 성공적으로 통합되었는지 테스트하려면 wbinfo 명령을 실행하여 도메인 계정 및 그룹을 나열하세요.


wbinfo -u
wbinfo -g

13. 또한 getent 명령을 실행하여 Winbind nsswitch 모듈을 확인하고 grep과 같은 필터를 통해 결과를 파이프하여 다음으로만 출력 범위를 좁힙니다. 특정 도메인 사용자 또는 그룹.


sudo getent passwd| grep your_domain_user
sudo getent group|grep 'domain admins'

14. 도메인 계정으로 Ubuntu 시스템에서 인증하려면 루트 권한으로 pam-auth-update 명령을 실행하고 winbind 서비스에 필요한 모든 항목을 추가해야 합니다. 첫 번째 로그인 시 각 도메인 계정에 대한 홈 디렉터리를 자동으로 생성합니다.

[space] 키를 눌러 모든 항목을 확인하고 확인을 눌러 구성을 적용하세요.


sudo pam-auth-update

15. Debian 시스템에서는 인증된 도메인 사용자를 위한 홈을 자동으로 생성하려면 /etc/pam.d/common-account 파일과 다음 줄을 수동으로 편집해야 합니다.


session    required    pam_mkhomedir.so    skel=/etc/skel/    umask=0022

16. Active Directory 사용자가 Linux의 명령줄에서 비밀번호를 변경할 수 있도록 하려면 /etc/pam.d/common-password 를 엽니다. 파일을 삭제하고 비밀번호 줄에서 use_authtok 문을 제거하면 최종적으로 아래 발췌 내용과 같습니다.


password       [success=1 default=ignore]      pam_winbind.so try_first_pass

17. Samba4 AD 계정으로 Ubuntu 호스트에서 인증하려면 su – 명령 다음에 도메인 사용자 이름 매개변수를 사용하세요. AD 계정에 대한 추가 정보를 얻으려면 id 명령을 실행하십시오.


su - your_ad_user

도메인 사용자의 현재 디렉터리를 보려면 pwd 명령을 사용하고, 비밀번호를 변경하려면 passwd 명령을 사용하세요.

18. Ubuntu 시스템에서 루트 권한이 있는 도메인 계정을 사용하려면 아래 명령을 실행하여 sudo 시스템 그룹에 AD 사용자 이름을 추가해야 합니다.


sudo usermod -aG sudo your_domain_user

도메인 계정으로 Ubuntu에 로그인하고 apt-get update 명령을 실행하여 도메인 사용자에게 루트 권한이 있는지 확인하여 시스템을 업데이트하세요.

19. 도메인 그룹에 대한 루트 권한을 추가하려면 visudo 명령을 사용하여 /etc/sudoers 파일 편집을 열고 그림과 같이 다음 줄을 추가합니다. 아래 스크린샷에서.


%YOUR_DOMAIN\\your_domain\  group       		 ALL=(ALL:ALL) ALL

도메인 그룹 이름에 포함된 공백을 이스케이프하거나 첫 번째 백슬래시를 이스케이프하려면 백슬래시를 사용하세요. 위의 예에서 TECMINT 영역의 도메인 그룹 이름은 "domain admins "입니다.

앞의 백분율 기호 (%) 기호는 사용자 이름이 아닌 그룹을 참조하고 있음을 나타냅니다.

20. Ubuntu의 그래픽 버전을 실행 중이고 도메인 사용자로 시스템에 로그인하려는 경우 /usr/share/lightdm을 편집하여 LightDM 디스플레이 관리자를 수정해야 합니다. /lightdm.conf.d/50-ubuntu.conf 파일에 다음 줄을 추가하고 머신을 재부팅하여 변경 사항을 반영합니다.


greeter-show-manual-login=true
greeter-hide-users=true

이제 your_domain_username, your_domain_username@your_domain.tld 또는 your_domain\your_domain_username 형식을 사용하는 도메인 계정으로 Ubuntu 데스크탑에 로그인을 수행할 수 있습니다. .