要在 Ubuntu 桌面上启用 True SSO 功能,请安装 True SSO 功能依赖的库、支持受信任的身份验证的根 CA 证书以及 Horizon Agent。此外,您还必须编辑某些配置文件以完成身份验证设置。

可以使用以下过程在 Ubuntu 桌面上启用 True SSO。要在这些桌面上支持 True SSO,您必须安装 Horizon Agent 7.8 或更高版本。

前提条件

过程

  1. 在 Ubuntu 桌面上,安装 pkcs11 支持软件包。
    sudo apt install libpam-pkcs11
  2. 安装 libnss3-tools 软件包。
    sudo apt install libnss3-tools
  3. 安装根证书颁发机构 (Certification Authority, CA) 证书。
    1. 找到下载的根 CA 证书,并将其传输到 .pem 文件。
      openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    2. 创建 /etc/pki/nssdb 目录以包含系统数据库。
      sudo mkdir -p /etc/pki/nssdb
    3. 使用 certutil 命令将根 CA 证书安装到系统数据库 /etc/pki/nssdb 中。
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
    4. 将根 CA 证书复制到 /etc/pam_pkcs11/cacerts 目录中。
      mkdir -p /etc/pam_pkcs11/cacerts
      
      sudo cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
    5. 为根 CA 证书创建一个哈希链接。在 /etc/pam_pkcs11/cacerts 目录中,运行以下命令。
      pkcs11_make_hash_link
  4. 安装 Horizon Agent 软件包并启用 True SSO。
    sudo ./install_viewagent.sh -T yes
    注: 要使用 True SSO 功能,您必须安装 Horizon Agent 7.8 或更高版本。
  5. 将以下参数添加到 Horizon Agent 自定义配置文件 /etc/vmware/viewagent-custom.conf 中。使用以下示例,其中,NETBIOS_NAME_OF_DOMAIN 是您的组织的域的 NetBIOS 名称。
    NetbiosDomain=NETBIOS_NAME_OF_DOMAIN
  6. 编辑 /etc/pam_pkcs11/pam_pkcs11.conf 配置文件。
    1. 如果需要,请创建 /etc/pam_pkcs11/pam_pkcs11.conf 配置文件。在 /usr/share/doc/libpam-pkcs11/examples 中找到示例文件,将其复制到 /etc/pam_pkcs11 目录中,并将该文件重命名为 pam_pkcs11.conf。根据需要,将您的系统信息添加到文件内容中。
    2. 修改 /etc/pam_pkcs11/pam_pkcs11.conf 配置文件,以使其包含类似于以下示例的内容。
    注: 对于 Ubuntu 20.04,请将 ms 附加到 use_mappers 行的末尾。
    use_pkcs11_module = coolkey;
    pkcs11_module coolkey {
      module = /usr/lib/vmware/viewagent/sso/libvmwpkcs11.so;
      slot_num = 0;
      ca_dir = /etc/pam_pkcs11/cacerts;
      nss_dir = /etc/pki/nssdb;
    }
    
    mapper ms {
      debug = false;
      module = internal;
      # module = /usr/$LIB/pam_pkcs11/ms_mapper.so;
      ignorecase = false;
      # ignore domain name
      ignoredomain = true;
      domain = "DOMAIN.COM"; #<== Replace "DOMAIN.COM" with your organization's domain name
    }
    
    use_mappers = digest, cn, pwent, uid, mail, subject, null, ms;  #<== For Ubuntu 20.04, append "ms" at end of use_mappers
  7. 在 PAM 配置文件中修改 auth 参数。
    1. 打开 PAM 配置文件。
      • 对于 Ubuntu 16.04,请打开 /etc/pam.d/lightdm
      • 对于 Ubuntu 20.04/18.04,请打开 /etc/pam.d/gdm-vmwcred
    2. 编辑 PAM 配置文件,如以下示例中所示。
      auth requisite pam_vmw_cred.so
      auth sufficient pam_pkcs11.so try_first_pass
      
  8. 重新引导系统,然后重新登录。