웹사이트 검색

SSSD 및 영역을 사용하여 Ubuntu를 Samba4 AD DC에 통합 - 15부


이 튜토리얼은 SSSDRealmd를 사용하여 Ubuntu 데스크톱 시스템을 Samba4 Active Directory 도메인에 가입시키는 방법을 안내합니다. > Active Directory에 대해 사용자를 인증하기 위한 서비스입니다.

요구사항:

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

1단계: 초기 구성

1. Ubuntu를 Active Directory에 가입하기 전에 호스트 이름이 올바르게 구성되었는지 확인하세요. hostnamectl 명령을 사용하여 시스템 이름을 설정하거나 /etc/hostname 파일을 수동으로 편집합니다.

sudo hostnamectl set-hostname your_machine_short_hostname
cat /etc/hostname
hostnamectl

2. 다음 단계에서는 아래 스크린샷에 표시된 대로 컴퓨터 네트워크 인터페이스 설정을 편집하고 Samba AD 도메인 컨트롤러를 가리키도록 적절한 IP 구성과 올바른 DNS IP 서버 주소를 추가합니다.

적절한 AD DNS IP 주소를 사용하여 LAN 시스템에 대한 IP 설정을 자동으로 할당하도록 구내에서 DHCP 서버를 구성한 경우 이 단계를 건너뛰고 계속 진행할 수 있습니다.

위 스크린샷에서 192.168.1.254192.168.1.253은 Samba4 도메인 컨트롤러의 IP 주소를 나타냅니다.

3. 네트워크 서비스를 다시 시작하여 GUI나 명령줄을 사용하여 변경 사항을 적용하고 도메인 이름에 대해 일련의 ping 명령을 실행하여 DNS 확인이 가능한지 테스트합니다. 예상대로 작동합니다. 또한 host 명령을 사용하여 DNS 확인을 테스트하세요.

sudo systemctl restart networking.service
host your_domain.tld
ping -c2 your_domain_name
ping -c2 adc1
ping -c2 adc2

4. 마지막으로 시스템 시간이 Samba4 AD와 동기화되어 있는지 확인하세요. 아래 명령을 실행하여 ntpdate 패키지를 설치하고 AD와 시간을 동기화합니다.

sudo apt-get install ntpdate
sudo ntpdate your_domain_name

2단계: 필수 패키지 설치

5. 이 단계에서는 Ubuntu를 Samba4 AD DC: RealmdSSSD 서비스에 연결하기 위해 필요한 소프트웨어와 필수 종속성을 설치합니다.

sudo apt install adcli realmd krb5-user samba-common-bin samba-libs samba-dsdb-modules sssd sssd-tools libnss-sss libpam-sss packagekit policykit-1 

6. 기본 영역 이름을 대문자로 입력하고 Enter 키를 눌러 설치를 계속합니다.

7. 다음으로, 다음 내용으로 SSSD 구성 파일을 만듭니다.

sudo nano /etc/sssd/sssd.conf

sssd.conf 파일에 다음 줄을 추가합니다.

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[sssd]
domains = tecmint.lan
config_file_version = 2
services = nss, pam
default_domain_suffix = TECMINT.LAN


[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%d/%u
access_provider = ad

auth_provider = ad
chpass_provider = ad
access_provider = ad
ldap_schema = ad
dyndns_update = true
dyndns_refresh_interval = 43200
dyndns_update_ptr = true
dyndns_ttl = 3600

다음 매개변수의 도메인 이름을 적절하게 바꾸십시오.

domains = tecmint.lan
default_domain_suffix = TECMINT.LAN
[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN

8. 다음으로 아래 명령을 실행하여 SSSD 파일에 대한 적절한 권한을 추가합니다.

sudo chmod 700 /etc/sssd/sssd.conf

9. 이제 Realmd 구성 파일을 열고 편집하고 다음 줄을 추가합니다.

sudo nano /etc/realmd.conf

Realmd.conf 파일 발췌:

[active-directory]
os-name = Linux Ubuntu
os-version = 17.04

[service]
automatic-install = yes

 [users]
default-home = /home/%d/%u
default-shell = /bin/bash

[tecmint.lan]
user-principal = yes
fully-qualified-names = no

10. 수정해야 할 마지막 파일은 Samba 데몬에 속합니다. 편집을 위해 /etc/samba/smb.conf 파일을 열고 파일 시작 부분, [global] 섹션 뒤에 다음 코드 블록을 추가합니다. 아래 이미지.

 workgroup = TECMINT
   client signing = yes
   client use spnego = yes
   kerberos method = secrets and keytab
   realm = TECMINT.LAN
   security = ads

도메인 이름 값, 특히 도메인 이름과 일치하도록 영역 값을 바꾸고 testparm 명령을 실행하여 구성이 확인되었는지 확인하세요. 파일에 오류가 없습니다.

sudo testparm

11. 필요한 사항을 모두 변경한 후 AD 관리 계정을 사용하여 Kerberos 인증을 테스트하고 아래 명령을 실행하여 티켓을 나열하십시오.

sudo kinit [email 
sudo klist

3단계: Ubuntu를 Samba4 영역에 가입

12. Ubuntu 시스템을 Samba4 Active Directory에 연결하려면 아래 그림과 같이 일련의 명령을 수행해야 합니다. 영역 바인딩이 예상대로 작동하도록 하려면 관리자 권한이 있는 AD DC 계정의 이름을 사용하고 이에 따라 도메인 이름 값을 바꾸십시오.

sudo realm discover -v DOMAIN.TLD
sudo realm list
sudo realm join TECMINT.LAN -U ad_admin_user -v
sudo net ads join -k

13. 도메인 바인딩이 수행된 후 아래 명령을 실행하여 모든 도메인 계정이 컴퓨터에서 인증되도록 허용되는지 확인하세요.

sudo realm permit --all

이후 아래 예와 같이 realm 명령을 사용하여 도메인 사용자 계정 또는 그룹에 대한 액세스를 허용하거나 거부할 수 있습니다.

sudo realm deny -a
realm permit --groups ‘domain.tld\Linux Admins’
realm permit [email 
realm permit DOMAIN\\User2

14. RSAT 도구가 설치된 Windows 컴퓨터에서 AD UC를 열고 컴퓨터 컨테이너로 이동하여 이름이 있는 개체 계정이 있는지 확인할 수 있습니다. 귀하의 컴퓨터가 생성되었습니다.

4단계: AD 계정 인증 구성

15. 도메인 계정으로 Ubuntu 시스템에서 인증하려면 루트 권한으로 pam-auth-update 명령을 실행하고 자동 생성 옵션을 포함한 모든 PAM 프로필을 활성화해야 합니다. 첫 번째 로그인 시 각 도메인 계정의 홈 디렉터리입니다.

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

sudo pam-auth-update

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

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

17. Active Directory 사용자가 Linux의 명령줄에서 비밀번호를 변경할 수 없는 경우 /etc/pam.d/common-password 파일을 열고 use_authtok 문을 비밀번호 줄에서 최종적으로 보면 아래 발췌문과 같습니다.

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

18. 마지막으로 아래 명령을 실행하여 Realmd 및 SSSD 서비스를 다시 시작하고 활성화하여 변경 사항을 적용합니다.

sudo systemctl restart realmd sssd
sudo systemctl enable realmd sssd

19. Ubuntu 시스템이 영역에 성공적으로 통합되었는지 테스트하려면 winbind 패키지 설치를 실행하고 wbinfo 명령을 실행하여 아래 그림과 같이 도메인 계정 및 그룹을 나열합니다.

sudo apt-get install winbind
wbinfo -u
wbinfo -g

20. 또한 특정 도메인 사용자 또는 그룹에 대해 getent 명령을 실행하여 Winbind nsswitch 모듈을 확인합니다.

sudo getent passwd your_domain_user
sudo getent group ‘domain admins’

21. 아래 명령에 설명된 대로 Linux id 명령을 사용하여 AD 계정에 대한 정보를 얻을 수도 있습니다.

id tecmint_user

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

su - your_ad_user

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

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

sudo usermod -aG sudo [email 

도메인 계정으로 Ubuntu에 로그인하고 apt update 명령을 실행하여 루트 권한을 확인하여 시스템을 업데이트하세요.

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

%domain\ [email        		 ALL=(ALL:ALL) ALL

25. Ubuntu 데스크탑에 도메인 계정 인증을 사용하려면 /usr/share/lightdm/lightdm.conf.d/50-ubuntu를 편집하여 LightDM 디스플레이 관리자를 수정하세요. conf 파일에 다음 두 줄을 추가하고 lightdm 서비스를 다시 시작하거나 머신을 재부팅하여 변경 사항을 적용합니다.

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

your_domain_username 또는 your_domain_username@your_domain.tld 구문을 사용하여 도메인 계정으로 Ubuntu 데스크탑에 로그인합니다.

26. Samba AD 계정에 짧은 이름 형식을 사용하려면 /etc/sssd/sssd.conf 파일을 편집하고 [sssd] 에 다음 줄을 추가하세요. 블록은 아래 그림과 같습니다.

full_name_format = %1$s

변경 사항을 적용하려면 SSSD 데몬을 다시 시작하세요.

sudo systemctl restart sssd

Bash 프롬프트는 도메인 이름에 대응하는 이름을 추가하지 않고 AD 사용자의 짧은 이름으로 변경됩니다.

27. sssd.conf에 설정된 enumerate=true 인수로 인해 로그인할 수 없는 경우 아래 명령을 실행하여 SSD 캐시 데이터베이스를 지워야 합니다. :

rm /var/lib/sss/db/cache_tecmint.lan.ldb

그게 다야! 이 가이드는 주로 Samba4 Active Directory와의 통합에 중점을 두고 있지만 Ubuntu와 Realmd 및 SSSD 서비스를 Microsoft Windows Server Active Directory에 통합하기 위해 동일한 단계를 적용할 수 있습니다.