可以使用以下过程将 RHEL 或 Rocky Linux 9.x/8.x 虚拟机 (VM) 与 Active Directory (AD) 域集成以进行智能卡重定向。
该过程中的一些示例使用占位符值以表示网络配置中的实体,例如,AD 域的 DNS 名称。请将占位符值替换为您的配置特定的信息,如下表中所述。
| 占位符值 | 描述 |
|---|---|
| dns_IP_ADDRESS | DNS 名称服务器的 IP 地址 |
| rhelsc.domain.com | 虚拟机的完全限定主机名 |
| rhelsc | 虚拟机的非限定主机名 |
| domain.com | AD 域的 DNS 名称 |
| DOMAIN.COM | AD 域的 DNS 名称,全部为大写字母 |
| DOMAIN | 包含 Samba 服务器的工作组或 NT 域的 DNS 名称,全部为大写字母 |
| dnsserver.domain.com | AD 服务器的主机名 |
步骤
-
在虚拟机上,执行以下操作。
-
根据组织要求配置网络和 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 -
指定系统身份和身份验证源。
sudo authselect select sssd with-smartcard with-mkhomedir -
启动
oddjobd服务。-
(RHEL 或 Rocky Linux 8.x)运行以下命令。
sudo systemctl enable oddjobd.service sudo systemctl start oddjobd.service -
(RHEL 或 Rocky Linux 9.x)运行以下命令。
sudo systemctl enable --now oddjobd.service
-
-
要支持智能卡身份验证,请创建
/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' -
确认虚拟机已成功加入 AD 域。
sudo net ads testjoin成功的 AD 加入操作将返回以下输出。
Join is OK
后续步骤
此页面对您有帮助吗?