Skip to main content

2026 年 5 月 8 日

在 Ubuntu/Debian 桌面上配置“使用 Samba 的 True SSO”

要在 Ubuntu/Debian 虚拟机 (VM) 上启用 True SSO 功能,请安装 True SSO 功能所依赖的库、支持受信任的身份验证的根证书颁发机构 (CA) 证书以及 Horizon Agent。如果 True SSO 身份验证也由从属 CA 颁发,则必须安装包含根 CA 证书和从属 CA 证书的完整证书链。要完成身份验证设置,必须编辑某些配置文件。

**注意:**或者,您也可以按在 Ubuntu/Debian 桌面上配置“使用 SSSD 的 True SSO”中所述,使用 SSSD 域加入解决方案配置 True SSO。

可以使用以下过程在 Ubuntu/Debian 虚拟机上启用“使用 Samba 的 True SSO”。

必备条件

步骤

  1. 在虚拟机上,安装 pkcs11 支持软件包。

    sudo apt install libpam-pkcs11
    
  2. 安装 libnss3-tools 软件包。

    sudo apt install libnss3-tools
    
  3. 安装根 CA 证书或证书链。

    1. 找到您下载的根 CA 证书或证书链,并将其传输到 PEM 文件。

      sudo 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 中。

      将以下示例命令中的“root CA cert”替换为系统数据库中根 CA 证书的名称。

      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
      
    4. 创建 /etc/pam_pkcs11/cacerts 目录,然后将根 CA 证书或证书链复制到该目录中。

      sudo mkdir -p /etc/pam_pkcs11/cacerts
      sudo cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
      
    5. 为根 CA 证书或证书链创建哈希链接。在 /etc/pam_pkcs11/cacerts 目录中,运行以下命令。

      sudo pkcs11_make_hash_link
      
  4. 安装 Horizon Agent 软件包并启用 True SSO。

    sudo ./install_viewagent.sh -T yes
    
  5. 将以下参数添加到 Horizon Agent 自定义配置文件 /etc/omnissa/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/omnissa/viewagent/sso/libhznpkcs11.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 or later, append "ms" at end of use_mappers
      
  7. 在 Linux 终端中,将 /etc/krb5.conf 配置文件的访问权限设置为 644,如以下示例中所示。

    sudo chmod 644 /etc/krb5.conf
    

    验证是否已修改权限。

    
    ls -l /etc/krb5.conf
    
    -rw-r--r-- 1 root root xxx xx xx xxxx /etc/krb5.conf
    

    **注意:**如果未按指定方式修改 /etc/krb5.conf 的权限,True SSO 功能可能无法正常使用。

  8. 重新启动虚拟机,然后重新登录。

此页面对您有帮助吗?

对本主题提供反馈

本主题对您有帮助吗?

请勿填写任何个人信息或机密信息。

正在生成链接…