請使用下列程序整合 RHEL 8.x 虛擬機器 (VM) 與 Active Directory (AD) 網域,以支援智慧卡重新導向。
備註: RHEL 8.x 桌面平台無法同時支援智慧卡重新導向和 Active Directory 單一登入 (SSO)。如果您在 RHEL 8.x 桌面平台上設定了智慧卡重新導向,則 Active Directory SSO 無法正常運作。
此程序中的某些範例使用預留位置值來代表您網路組態中的實體,例如 AD 網域的 DNS 名稱。請將預留位置值取代為您的組態特有的資訊,如下表所說明。
預留位置值 |
說明 |
dns_IP_ADDRESS |
DNS 名稱伺服器的 IP 位址 |
rhel8sc.domain.com |
RHEL 8.x 虛擬機器的完整主機名稱 |
rhel8sc |
RHEL 8.x 虛擬機器的非完整主機名稱 |
domain.com |
AD 網域的 DNS 名稱 |
DOMAIN.COM |
AD 網域的 DNS 名稱 (全部使用大寫字母) |
DOMAIN |
包含 Samba 伺服器的工作群組或 NT 網域的 DNS 名稱 (全部使用大寫字母) |
dnsserver.domain.com |
AD 伺服器的主機名稱 |
程序
- 在 RHEL 8.x 虛擬機器上,執行以下操作。
- 根據組織要求設定網路和 DNS 設定。
- 停用 IPv6。
- 停用自動 DNS。
- 設定 /etc/hosts 組態檔,使其具有類似於下列範例的內容。
127.0.0.1 rhel8sc.domain.com rhel8sc 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 整合所需的套件。
yum install -y samba-common-tools oddjob-mkhomedir
- 啟用 oddjobd 服務。
systemctl enable oddjobd.service
systemctl start oddjobd.service
- 指定系統身分和驗證來源。
authselect select sssd with-smartcard with-mkhomedir
- 啟動 oddjobd 服務。
systemctl enable oddjobd.service
systemctl start oddjobd.service
- 若要支援智慧卡驗證,請建立 /etc/sssd/sssd.conf 檔案。
touch /etc/sssd/sssd.conf
chmod 600 /etc/sssd/sssd.conf
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
- 啟用 sssd 服務。
systemctl enable sssd.service
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 網域,如下列範例所示。
net ads join -U AdminUser
執行
join 命令將傳回類似下列範例的輸出。
Enter AdminUser's password:
Using short domain name -- DOMAIN
Joined 'RHEL8SC' to dns domain 'domain.com'
- 確認 RHEL 8.x 虛擬機器已成功加入 AD 網域。
net ads testjoin
成功的 AD 加入將會傳回下列輸出。
Join is OK