要在 SLED/SLES 桌面上支持智能卡重定向,需使用 Samba 和 Winbind 解决方案将基础虚拟机 (VM) 与 Active Directory (AD) 域集成在一起。
可以使用以下过程将 SLED/SLES 虚拟机与 AD 域集成以进行智能卡重定向。
该过程中的一些示例使用占位符值以表示网络配置中的实体,例如,AD 域的 DNS 名称。请将占位符值替换为您的配置特定的信息,如下表中所述。
占位符值 |
描述 |
dns_IP_ADDRESS |
DNS 名称服务器的 IP 地址 |
mydomain.com |
AD 域的 DNS 名称 |
MYDOMAIN.COM |
AD 域的 DNS 名称,全部为大写字母 |
MYDOMAIN |
包含 Samba 服务器的工作组或 NT 域的 DNS 名称,全部为大写字母 |
ads-hostname |
AD 服务器的主机名 |
ads-hostname.mydomain.com |
AD 服务器的完全限定域名 (FQDN) |
mytimeserver.mycompany.com |
NTP 时间服务器的 DNS 名称 |
AdminUser |
虚拟机管理员的用户名 |
前提条件
确认 SLED/SLES 虚拟机满足
设置智能卡重定向中所述的系统要求。
过程
- 为 SLED/SLES 虚拟机配置网络设置。
- 通过编辑 /etc/hostname 和 /etc/hosts 配置文件来定义虚拟机的主机名。
- 配置 DNS 服务器 IP 地址,并禁用自动 DNS。对于 SLES 虚拟机,还需禁用通过 DHCP 更改主机名。
- 要配置网络时间同步,请将 NTP 服务器信息添加到 /etc/ntp.conf 文件中,如以下示例中所示。
server mytimeserver.mycompany.com
- 安装所需的 AD 加入软件包。
# zypper in krb5-client samba-winbind
- 更新 krb5 库,如以下示例中所示。
- 编辑所需的配置文件。
- 编辑 /etc/samba/smb.conf 文件,如以下示例中所示。
[global]
workgroup = MYDOMAIN
usershare allow guests = NO
idmap gid = 10000-20000
idmap uid = 10000-20000
kerberos method = secrets and keytab
realm = MYDOMAIN.COM
security = ADS
template homedir = /home/%D/%U
template shell = /bin/bash
winbind use default domain=true
winbind offline logon = yes
winbind refresh tickets = yes
[homes]
...
- 编辑 /etc/krb5.conf 文件,如以下示例中所示。
[libdefaults]
default_realm = MYDOMAIN.COM
clockskew = 300
[realms]
MYDOMAIN.COM = {
kdc = ads-hostname.mydomain.com
default_domain = mydomain.com
admin_server = ads-hostname.mydomain.com
}
[logging]
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmind.log
default = SYSLOG:NOTICE:DAEMON
[domain_realm]
.mydomain.com = MYDOMAIN.COM
mydomain.com = MYDOMAIN.COM
[appdefaults]
pam = {
ticket_lifetime = 1d
renew_lifetime = 1d
forwardable = true
proxiable = false
minimum_uid = 1
}
- 编辑 /etc/security/pam_winbind.conf 文件,如以下示例中所示。
cached_login = yes
krb5_auth = yes
krb5_ccache_type = FILE
- 编辑 /etc/nsswitch.conf 文件,如以下示例中所示。
passwd: compat winbind
group: compat winbind
- 加入 AD 域,如以下示例中所示。
# net ads join -U AdminUser
- 启用 Winbind 服务。
- 要启用并启动 Winbind,请运行以下命令序列。
# pam-config --add --winbind
# pam-config -a --mkhomedir
# systemctl enable winbind
# systemctl start winbind
- 要确保 AD 用户可以登录到桌面而无需重新启动 Linux 服务器,请运行以下命令序列。
# systemctl stop nscd
# nscd -i passwd
# nscd -i group
# systemctl start nscd
- 要确认 AD 加入成功,请运行以下命令并检查是否返回正确的输出。