스마트 카드 리디렉션을 위해 RHEL 또는 Rocky Linux 9.x/8.x VM(가상 시스템)을 AD(Active Directory) 도메인에 통합하려면 다음 절차를 사용합니다.
이 절차의 일부 예시는 AD 도메인의 DNS 이름과 같은 네트워크 구성의 엔티티를 나타내기 위해 자리 표시자 값을 사용합니다. 다음 표에 설명된 대로 자리 표시자 값을 구성과 관련된 정보로 바꿉니다.
자리 표시자 값 |
설명 |
dns_IP_ADDRESS |
DNS 이름 서버의 IP 주소 |
rhelsc.domain.com |
VM의 정규화된 호스트 이름 |
rhelsc |
VM의 정규화되지 않은 호스트 이름 |
domain.com |
AD 도메인의 DNS 이름 |
DOMAIN.COM |
AD 도메인의 DNS 이름(모두 대문자) |
DOMAIN |
Samba 서버를 포함하는 작업 그룹 또는 NT 도메인의 DNS 이름(모두 대문자) |
dnsserver.domain.com |
AD 서버의 호스트 이름 |
프로시저
- VM에서 다음을 수행합니다.
- 조직에 필요한 네트워크 및 DNS 설정을 구성합니다.
- IPv6를 해제합니다.
- 자동 DNS를 해제합니다.
- 다음 예와 유사하게 /etc/hosts 구성 파일을 구성합니다.
127.0.0.1 rhelsc.domain.com rhelsc localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
dns_IP_ADDRESS dnsserver.domain.com
- 다음 예와 유사하게 /etc/resolv.conf 구성 파일을 구성합니다.
# Generated by NetworkManager
search domain.com
nameserver dns_IP_ADDRESS
- AD 통합에 필요한 패키지를 설치합니다.
sudo yum install -y samba-common-tools oddjob-mkhomedir
- 시스템 ID 및 인증 소스를 지정합니다.
sudo authselect select sssd with-smartcard with-mkhomedir
- oddjobd 서비스를 시작합니다.
- 스마트 카드 인증을 지원하려면 /etc/sssd/sssd.conf 파일을 생성합니다.
sudo touch /etc/sssd/sssd.conf
sudo chmod 600 /etc/sssd/sssd.conf
sudo chown root:root /etc/sssd/sssd.conf
- 다음 예와 같이 필요한 콘텐츠를 /etc/sssd/sssd.conf에 추가합니다. [pam] 섹션에서 pam_cert_auth = True를 지정합니다.
[sssd]
config_file_version = 2
domains = domain.com
services = nss, pam, pac
[domain/DOMAIN.COM]
id_provider = ad
auth_provider = ad
chpass_provider = ad
access_provider = ad
cache_credentials = true
[pam]
pam_cert_auth = True
- (RHEL 또는 Rocky Linux 8.x) sssd 서비스를 사용하도록 설정합니다.
sudo systemctl enable sssd.service
sudo systemctl start sssd.service
- 다음 예와 유사하게 /etc/krb5.conf 구성 파일을 편집합니다.
# To opt out of the system crypto-policies configuration of krb5, remove the
# symlink at /etc/krb5.conf.d/crypto-policies which will not be recreated.
includedir /etc/krb5.conf.d/
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
pkinit_anchors = /etc/pki/tls/certs/ca-bundle.crt
spake_preauth_groups = edwards25519
default_realm = DOMAIN.COM
default_ccache_name = KEYRING:persistent:%{uid}
[realms]
DOMAIN.COM = {
kdc = dnsserver.domain.com
admin_server = dnsserver.domain.com
default_domain = dnsserver.domain.com
pkinit_anchors = FILE:/etc/pki/nssdb/certificate.pem
pkinit_cert_match = <KU>digitalSignature
pkinit_kdc_hostname = dnsserver.domain.com
}
[domain_realm]
.domain.com = DOMAIN.COM
domain.com = DOMAIN.COM
- 다음 예와 유사하게 /etc/samba/smb.conf 구성 파일을 편집합니다.
[global]
workgroup = DOMAIN
security = ads
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
password server = dnsserver.domain.com
realm = DOMAIN.COM
idmap config * : range = 16777216-33554431
template homedir =/home/DOMAIN/%U
template shell = /bin/bash
kerberos method = secrets and keytab
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
- 다음 예시와 같이 AD 도메인에 가입합니다.
sudo net ads join -U AdminUser
join 명령을 실행하면 다음 예와 유사한 출력이 반환됩니다.
Enter AdminUser's password:
Using short domain name -- DOMAIN
Joined 'rhelsc' to dns domain 'domain.com'
- VM이 AD 도메인에 성공적으로 가입되었는지 확인합니다.
sudo net ads testjoin
AD 가입이 성공하면 다음 출력이 반환됩니다.
Join is OK