要在 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 虚拟机满足 设置智能卡重定向中所述的系统要求。

过程

  1. 为 SLED/SLES 虚拟机配置网络设置。
    1. 通过编辑 /etc/hostname/etc/hosts 配置文件来定义虚拟机的主机名。
    2. 配置 DNS 服务器 IP 地址,并关闭自动 DNS。对于 SLES 虚拟机,还需关闭通过 DHCP 更改主机名
    3. 要配置网络时间同步,请将 NTP 服务器信息添加到 /etc/ntp.conf 文件中,如以下示例中所示。
      server mytimeserver.mycompany.com
  2. 安装所需的 AD 加入软件包。
    zypper in krb5-client samba-winbind
  3. 更新 krb5 库,如以下示例中所示。
    zypper up krb5
  4. 编辑所需的配置文件。
    1. 编辑 /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]
              ...
    2. 编辑 /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
              }
    3. 编辑 /etc/security/pam_winbind.conf 文件,如以下示例中所示。
      cached_login = yes
      krb5_auth = yes
      krb5_ccache_type = FILE
    4. 编辑 /etc/nsswitch.conf 文件,如以下示例中所示。
      passwd: compat winbind
      group: compat winbind
  5. 加入 AD 域,如以下示例中所示。
    net ads join -U AdminUser
  6. 启用 Winbind 服务。
    1. 要启用并启动 Winbind,请运行以下命令序列。
      pam-config --add --winbind
      pam-config -a --mkhomedir
      systemctl enable winbind
      systemctl start winbind
    2. 要确保 AD 用户可以登录到桌面而无需重新启动 Linux 服务器,请运行以下命令序列。
      systemctl stop nscd
      nscd -i passwd
      nscd -i group
      systemctl start nscd
  7. 要确认 AD 加入成功,请运行以下命令并检查是否返回正确的输出。
    wbinfo -u
    wbinfo -g

下一步做什么

继续在 SLED/SLES 虚拟机上设置智能卡重定向