1.5. AD 도메인 멤버 서버로 Samba 설정
AD 또는 NT4 도메인을 실행 중인 경우 Samba를 사용하여 Red Hat Enterprise Linux 서버를 도메인에 멤버로 추가하여 다음을 얻을 수 있습니다.
- 다른 도메인 구성원의 도메인 리소스에 액세스
-
sshd
와 같은 로컬 서비스에 도메인 사용자를 인증합니다 - 공유 디렉토리 및 서버에서 호스트된 프린터 파일 역할을 파일 및 인쇄 서버
1.5.1. AD 도메인에 RHEL 시스템 연결
Samba Winbind는 RHEL(Red Hat Enterprise Linux) 시스템을 Active Directory(AD)와 연결하기 위한 SSSD(System Security Services Daemon) 대안입니다. realmd
를 사용하여 Samba Winbind를 구성하여 RHEL 시스템을 AD 도메인에 연결할 수 있습니다.
절차
AD에 Kerberos 인증을 위한 더 이상 사용되지 않는 RC4 암호화 유형이 필요한 경우 RHEL에서 이러한 암호에 대한 지원을 활성화합니다.
# update-crypto-policies --set DEFAULT:AD-SUPPORT
다음 패키지를 설치합니다.
# dnf install realmd oddjob-mkhomedir oddjob samba-winbind-clients \ samba-winbind samba-common-tools samba-winbind-krb5-locator krb5-workstation
도메인 구성원에서 디렉터리 또는 프린터를 공유하려면
samba
패키지를 설치합니다.# dnf install samba
기존
/etc/samba/smb.conf
Samba 구성 파일을 백업합니다.# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
도메인에 가입합니다. 예를 들어
ad.example.com
이라는 도메인에 가입하려면 다음을 수행합니다.# realm join --membership-software=samba --client-software=winbind ad.example.com
이전 명령을 사용하면
realm
유틸리티가 자동으로 수행됩니다.-
ad.example.com
도메인 멤버십에 대한/etc/samba/smb.conf
파일을 만듭니다. -
사용자 및 그룹 조회에 대한
winbind
모듈을/etc/nsswitch.conf
파일에 추가합니다. -
/etc/pam.d/
디렉토리에서 PAM(Pluggable Authentication Module) 구성 파일을 업데이트합니다. -
winbind
서비스를 시작하고 시스템이 부팅될 때 서비스가 시작됩니다.
-
-
선택적으로
/etc/samba/smb.conf
파일에서 대체 ID 매핑 백엔드 또는 사용자 지정된 ID 매핑 설정을 설정합니다.
자세한 내용은 Samba ID 매핑 이해 및 구성을 참조하십시오.
winbind
서비스가 실행 중인지 확인합니다.# systemctl status winbind ... Active: active (running) since Tue 2018-11-06 19:10:40 CET; 15s ago
중요Samba를 활성화하여 도메인 사용자 및 그룹 정보를 쿼리하려면
smb
를 시작하기 전에winbind
서비스를 실행해야 합니다.디렉터리 및 프린터를 공유하는
samba
패키지를 설치한 경우smb
서비스를 활성화하고 시작합니다.# systemctl enable --now smb
-
선택적으로 Active Directory에 로컬 로그인을 인증하는 경우
winbind_krb5_localauth
플러그인을 활성화합니다. MIT Kerberos 용으로 로컬 권한 부여 플러그인 사용을 참조하십시오.
검증
AD 도메인의 AD 관리자 계정과 같은 AD 사용자의 세부 정보를 표시합니다.
# getent passwd "AD\administrator" AD\administrator:*:10000:10000::/home/administrator@AD:/bin/bash
AD 도메인에서 도메인 사용자 그룹의 멤버를 쿼리합니다.
# getent group "AD\Domain Users" AD\domain users:x:10000:user1,user2
선택적으로 파일 및 디렉터리에 대한 권한을 설정할 때 도메인 사용자와 그룹을 사용할 수 있는지 확인합니다. 예를 들어
/srv/samba/example.txt
파일의 소유자를AD\administrator
로 설정하고 그룹을AD\Domain Users
로 설정하려면 다음을 수행합니다.# chown "AD\administrator":"AD\Domain Users" /srv/samba/example.txt
Kerberos 인증이 예상대로 작동하는지 확인합니다.
AD 도메인 멤버에서
administrator@AD.EXAMPLE.COM
주체의 티켓을 받습니다.# kinit administrator@AD.EXAMPLE.COM
캐시된 Kerberos 티켓을 표시합니다.
# klist Ticket cache: KCM:0 Default principal: administrator@AD.EXAMPLE.COM Valid starting Expires Service principal 01.11.2018 10:00:00 01.11.2018 20:00:00 krbtgt/AD.EXAMPLE.COM@AD.EXAMPLE.COM renew until 08.11.2018 05:00:00
사용 가능한 도메인을 표시합니다.
# wbinfo --all-domains BUILTIN SAMBA-SERVER AD
추가 리소스
- 더 이상 사용되지 않는 RC4 암호를 사용하지 않으려면 AD에서 AES 암호화 유형을 활성화할 수 있습니다. see
- GPO를 사용하여 Active Directory의 AES 암호화 유형 활성화
-
realm(8)
매뉴얼 페이지
1.5.2. MIT Kerberos용 로컬 인증 플러그인 사용
winbind
서비스는 Active Directory 사용자를 도메인 구성원에게 제공합니다. 관리자는 특정 상황에서 도메인 사용자가 도메인 구성원에서 실행 중인 SSH 서버와 같은 로컬 서비스에 인증할 수 있도록 설정하려고 합니다. Kerberos를 사용하여 도메인 사용자를 인증할 때 winbind_krb5_localauth
플러그인을 활성화하여 winbind
서비스를 통해 Kerberos 주체를 Active Directory 계정에 올바르게 매핑하십시오.
예를 들어 Active Directory 사용자의 sAMAccountName
속성이 EXAMPLE
으로 설정되어 있고 사용자가 사용자 이름 소문자로 로그인하려고 하면 Kerberos는 대문자로 사용자 이름을 반환합니다. 이로 인해 항목이 일치하지 않고 인증이 실패합니다.
winbind_krb5_localauth
플러그인을 사용하면 계정 이름이 올바르게 매핑됩니다. 이는 GSSAPI 인증에만 적용되며 초기 티켓 부여 티켓(TGT)은 받지 않습니다.
사전 요구 사항
- Samba는 Active Directory의 멤버로 구성되어 있습니다.
- Red Hat Enterprise Linux는 Active Directory에 대한 로그인 시도를 인증합니다.
-
winbind
서비스가 실행 중입니다.
절차
/etc/krb5.conf
파일을 편집하고 다음 섹션을 추가합니다.
[plugins] localauth = { module = winbind:/usr/lib64/samba/krb5/winbind_krb5_localauth.so enable_only = winbind }
추가 리소스
-
winbind_krb5_localauth(8)
man page.