Skip to main content

2026 年 4 月 16 日

在 Ubuntu/Debian 桌面平台上設定「使用 Samba 的 True SSO」

若要在 Ubuntu/Debian 虛擬機器 (VM) 上啟用 True SSO 功能,請安裝 True SSO 功能所需的程式庫、支援受信任驗證的根憑證授權機構 (CA) 憑證,以及 Horizon Agent。如果 True SSO 驗證也由次級 CA 核發,則必須安裝根和次級 CA 憑證的整個憑證鏈結。若要完成驗證設定,您必須編輯部分組態檔。

**附註:**您也可以使用 SSSD 網域加入解決方案來設定 True SSO,如在 Ubuntu/Debian 桌面平台上設定「使用 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. 安裝啟用 True SSO 的 Horizon Agent 套件。

    sudo ./install_viewagent.sh -T yes
    
  5. 將下列參數新增至 Horizon Agent 自訂組態檔 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 組態檔,使其內容與下列範例類似。

    附註:

    • 對於 module 這一行,您必須向 Omnissa 支援團隊取得適用於您的 Horizon 版本的特定檔案路徑名稱。將以下範例中的 module-file 替換為您從 Omnissa 支援團隊取得的值。

    • 針對 Ubuntu 20.04 或更新版本,將 ms 附加至 use_mappers 一行的結尾。

      use_pkcs11_module = coolkey;
      pkcs11_module coolkey {
        module = module-file;
        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. 重新啟動虛擬機器,並重新登入。

此頁面對您有幫助嗎?

針對本主題提供意見回饋

本主題對您有幫助嗎?

請勿填寫任何個人或機密資訊。

正在產生連結…