1.6. IdM 도메인 멤버에서 Samba 설정
Red Hat IdM(Identity Management) 도메인에 연결된 호스트에서 Samba를 설정할 수 있습니다. IdM의 사용자 및 또한 신뢰할 수 있는 AD(Active Directory) 도메인에서 사용 가능한 경우 Samba에서 제공하는 공유 및 프린터 서비스에 액세스할 수 있습니다.
IdM 도메인 멤버에서 Samba를 사용하는 것은 지원되지 않는 기술 프리뷰 기능이며 특정 제한 사항이 포함되어 있습니다. 예를 들어, IdM 신뢰 컨트롤러는 Active Directory 글로벌 카탈로그 서비스를 지원하지 않으며 DMCE/원격 프로시저 호출(DCE/RPC) 프로토콜을 사용하여 IdM 그룹 해결을 지원하지 않습니다. 결과적으로 AD 사용자는 다른 IdM 클라이언트에 로그인할 때 IdM 클라이언트에서 호스팅되는 Samba 공유 및 프린터에만 액세스할 수 있습니다. Windows 시스템에 로그인한 AD 사용자는 IdM 도메인 멤버에서 호스팅되는 Samba 공유에 액세스할 수 없습니다.
IdM 도메인 구성원에 Samba를 배포하는 고객은 Red Hat에 피드백을 제공하는 것이 좋습니다.
AD 도메인의 사용자가 Samba에서 제공하는 공유 및 프린터 서비스에 액세스해야 하는 경우 AES 암호화 유형이 AD인지 확인합니다. 자세한 내용은 GPO를 사용하여 Active Directory에서 AES 암호화 유형 활성화를 참조하십시오.
사전 요구 사항
- 호스트는 IdM 도메인에 클라이언트로 결합됩니다.
- IdM 서버와 클라이언트 모두 RHEL 9.0 이상에서 실행해야 합니다.
1.6.1. 도메인 멤버에 Samba를 설치하기 위해 IdM 도메인 준비
IdM 클라이언트에 Samba를 설정하려면 IdM 서버에서 ipa-adtrust-install
유틸리티를 사용하여 IdM 도메인을 준비해야 합니다.
ipa-adtrust-install
명령을 실행하는 시스템은 자동으로 AD 신뢰 컨트롤러가 됩니다. 그러나 IdM 서버에서 ipa-adtrust-install
을 한 번만 실행해야 합니다.
사전 요구 사항
- IdM 서버가 설치되어 있어야 합니다.
- 패키지를 설치하고 IdM 서비스를 다시 시작하려면 루트 권한이 필요합니다.
절차
필수 패키지를 설치합니다.
[root@ipaserver ~]# dnf install ipa-server-trust-ad samba-client
IdM 관리자로 인증합니다.
[root@ipaserver ~]# kinit admin
ipa-adtrust-install
유틸리티를 실행합니다.[root@ipaserver ~]# ipa-adtrust-install
IdM이 통합된 DNS 서버와 함께 설치된 경우 DNS 서비스 레코드가 자동으로 생성됩니다.
통합된 DNS 서버 없이 IdM을 설치한 경우,
ipa-adtrust-install
은 DNS에 수동으로 추가해야 하는 서비스 레코드 목록을 인쇄합니다.스크립트에서
/etc/samba/smb.conf
가 이미 존재하고 다시 작성됨을 묻는 메시지를 표시합니다.WARNING: The smb.conf already exists. Running ipa-adtrust-install will break your existing Samba configuration. Do you wish to continue? [no]:
yes
스크립트에서 이전 Linux 클라이언트가 신뢰할 수 있는 사용자로 작업할 수 있는 호환성 플러그인인
slapi-nis
플러그인을 구성하도록 프롬프트를 표시합니다.Do you want to enable support for trusted domains in Schema Compatibility plugin? This will allow clients older than SSSD 1.9 and non-Linux clients to work with trusted users. Enable trusted domains support in slapi-nis? [no]:
yes
SID 생성 작업을 실행하여 기존 사용자의 SID를 생성하라는 메시지가 표시됩니다.
Do you want to run the ipa-sidgen task? [no]:
yes
이는 리소스 집약적인 작업이므로 사용자가 많은 경우 한 번에 이 작업을 실행할 수 있습니다.
(선택 사항) 기본적으로 Dynamic RPC 포트 범위는 Windows Server 2008 이상에서는
49152-65535
로 정의됩니다. 환경에 대해 다른 Dynamic RPC 포트 범위를 정의해야 하는 경우 다른 포트를 사용하도록 Samba를 구성하고 방화벽 설정에서 해당 포트를 엽니다. 다음 예제에서는 포트 범위를55000-65000
으로 설정합니다.[root@ipaserver ~]# net conf setparm global 'rpc server dynamic port range' 55000-65000 [root@ipaserver ~]# firewall-cmd --add-port=55000-65000/tcp [root@ipaserver ~]# firewall-cmd --runtime-to-permanent
ipa
서비스를 다시 시작하십시오.[root@ipaserver ~]# ipactl restart
smbclient
유틸리티를 사용하여 Samba가 IdM 측에서 Kerberos 인증에 응답하는지 확인합니다.[root@ipaserver ~]#
smbclient -L ipaserver.idm.example.com -U user_name --use-kerberos=required
lp_load_ex: changing to config backend registry Sharename Type Comment --------- ---- ------- IPC$ IPC IPC Service (Samba 4.15.2) ...
1.6.2. IdM 클라이언트에 Samba 서버 설치 및 구성
IdM 도메인에 등록된 클라이언트에 Samba를 설치하고 구성할 수 있습니다.
사전 요구 사항
- IdM 서버와 클라이언트 모두 RHEL 9.0 이상에서 실행해야 합니다.
- IdM 도메인은 도메인 멤버에 Samba를 설치하기 위해 IdM 도메인 준비에 설명된 대로 준비됩니다.
- IdM에 AD로 신뢰가 구성된 경우 Kerberos에 대해 AES 암호화 유형을 활성화합니다. 예를 들어 GPO(그룹 정책 오브젝트)를 사용하여 AES 암호화 유형을 활성화합니다. 자세한 내용은 GPO를 사용하여 Active Directory에서 AES 암호화 활성화를 참조하십시오.
절차
ipa-client-samba
패키지를 설치합니다.[root@idm_client]# dnf install ipa-client-samba
ipa-client-samba
유틸리티를 사용하여 클라이언트를 준비하고 초기 Samba 구성을 생성합니다.[root@idm_client]# ipa-client-samba Searching for IPA server... IPA server: DNS discovery Chosen IPA master: idm_server.idm.example.com SMB principal to be created: cifs/idm_client.idm.example.com@IDM.EXAMPLE.COM NetBIOS name to be used: IDM_CLIENT Discovered domains to use: Domain name: idm.example.com NetBIOS name: IDM SID: S-1-5-21-525930803-952335037-206501584 ID range: 212000000 - 212199999 Domain name: ad.example.com NetBIOS name: AD SID: None ID range: 1918400000 - 1918599999 Continue to configure the system with these values? [no]: yes Samba domain member is configured. Please check configuration at /etc/samba/smb.conf and start smb and winbind services
기본적으로
ipa-client-
915는 사용자가 연결할 때 사용자의 홈 디렉터리를 동적으로 공유하는/etc/ controlPlane/dpdk.conf
파일에[homes]
섹션을 자동으로 추가합니다. 이 서버에 홈 디렉터리가 없거나 공유하려는 경우/etc/samba/smb.conf
에서 다음 행을 제거하십시오.[homes] read only = no
디렉토리와 프린터를 공유합니다. 자세한 내용은 다음을 참조하십시오.
로컬 방화벽에서 Samba 클라이언트에 필요한 포트를 엽니다.
[root@idm_client]# firewall-cmd --permanent --add-service=samba-client [root@idm_client]# firewall-cmd --reload
smb
및winbind
서비스를 활성화하고 시작합니다.[root@idm_client]# systemctl enable --now smb winbind
검증
samba-client
패키지가 설치된 다른 IdM 도메인 멤버에서 다음 확인 단계를 실행합니다.
Kerberos 인증을 사용하여 Samba 서버의 공유를 나열합니다.
$
smbclient -L idm_client.idm.example.com -U user_name --use-kerberos=required
lp_load_ex: changing to config backend registry Sharename Type Comment --------- ---- ------- example Disk IPC$ IPC IPC Service (Samba 4.15.2) ...
추가 리소스
-
ipa-client-ECDHE(1)
매뉴얼 페이지
1.6.3. IdM이 새 도메인을 신뢰하는 경우 ID 매핑 구성 수동 추가
Samba에는 사용자가 리소스에 액세스하는 각 도메인에 대한 ID 매핑 구성이 필요합니다. IdM 클라이언트에서 실행 중인 기존 Samba 서버에서 관리자가 Active Directory(AD) 도메인에 새 신뢰를 추가한 후 ID 매핑 구성을 수동으로 추가해야 합니다.
사전 요구 사항
- IdM 클라이언트에 Samba가 구성되어 있습니다. 그 후 IdM에 새로운 신뢰가 추가되었습니다.
- Kerberos에 대한 DES 및 RC4 암호화 유형은 신뢰할 수 있는 AD 도메인에서 비활성화해야 합니다. 보안상의 이유로 RHEL 9는 이러한 약한 암호화 유형을 지원하지 않습니다.
절차
호스트의 keytab을 사용하여 인증합니다.
[root@idm_client]# kinit -k
ipa idrange-find
명령을 사용하여 새 도메인의 기본 ID와 ID 범위 크기를 모두 표시합니다. 예를 들어 다음 명령은ad.example.com
도메인의 값을 표시합니다.[root@idm_client]# ipa idrange-find --name="AD.EXAMPLE.COM_id_range" --raw --------------- 1 range matched --------------- cn: AD.EXAMPLE.COM_id_range ipabaseid: 1918400000 ipaidrangesize: 200000 ipabaserid: 0 ipanttrusteddomainsid: S-1-5-21-968346183-862388825-1738313271 iparangetype: ipa-ad-trust ---------------------------- Number of entries returned 1 ----------------------------
다음 단계에서
ipabaseid
및ipaidrangesize
속성의 값이 필요합니다.사용 가능한 최고 ID를 계산하려면 다음 공식을 사용합니다.
maximum_range = ipabaseid + ipaidrangesize - 1
이전 단계의 값을 사용하면
ad.example.com
도메인에서 사용 가능한 가장 높은 ID는1918599999
(1918400000 + 200000 - 1)입니다./etc/samba/smb.conf
파일을 편집하고 도메인의 ID 매핑 구성을[global]
섹션에 추가합니다.idmap config AD : range = 1918400000 - 1918599999 idmap config AD : backend = sss
ipabaseid
속성의 값을 가장 낮은 값으로 지정하고 이전 단계에서 계산된 값을 범위의 가장 높은 값으로 지정합니다.smb
및winbind
서비스를 다시 시작합니다.[root@idm_client]# systemctl restart smb winbind
검증
Kerberos 인증을 사용하여 Samba 서버의 공유를 나열합니다.
$
smbclient -L idm_client.idm.example.com -U user_name --use-kerberos=required
lp_load_ex: changing to config backend registry Sharename Type Comment --------- ---- ------- example Disk IPC$ IPC IPC Service (Samba 4.15.2) ...