若要為 Linux 桌面平台設定 Single Sign-On (SSO),您必須執行一些組態步驟。

VMware Horizon 8 Single Sign-On 模組會與 Linux 中的 PAM (插入式驗證模組) 通訊,並且不依賴於您用來整合 Linux 虛擬機器與 Active Directory (AD) 的方法。Horizon 8 SSO 已知可與整合 Linux 虛擬機器和 AD 的 OpenLDAP 及 Winbind 解決方案搭配使用。

依預設,SSO 會假設 AD 的 sAMAccountName 屬性為登入識別碼。為確保對 SSO 使用正確的登入識別碼,如果您使用 OpenLDAP 或 Winbind 解決方案,則必須執行下列設定步驟:

  • 針對 OpenLDAP,將 sAMAccountName 設定為 uid
  • 針對 Winbind,新增下列陳述式至組態檔 /etc/samba/smb.conf
    winbind use default domain = true
如果使用者必須指定要登入的網域名稱,您必須在 Linux 桌面平台上設定 SSOUserFormat 選項。如需詳細資訊,請參閱 在 Linux 桌面平台上設定組態檔中的選項。SSO 一律使用大寫的簡短網域名稱。例如,如果網域為 mydomain.com,SSO 會使用 MYDOMAIN 作為網域名稱。因此,設定 SSOUserFormat 選項時,您必須指定 MYDOMAIN。關於簡短和完整網域名稱,所適用的規則如下:
  • 針對 OpenLDAP,您必須使用大寫的簡短網域名稱。
  • Winbind 支援完整和簡短網域名稱。

AD 支援在登入名稱中使用特殊字元,但 Linux 不支援。因此,設定 SSO 時請勿在登入名稱中使用特殊字元。

在 AD 中,如果使用者的 UserPrincipalName (UPN) 屬性和 sAMAccount 屬性不符,而且使用者使用 UPN 登入,SSO 將會失敗。例如,如果您在 AD mycompany.com 中有使用者 juser,但使用者的 UPN 設定為 juser123@mycompany.com 而非 juser@mycompany.com,SSO 將會失敗。因應措施是讓使用者使用 sAMAccount 中儲存的名稱來登入。例如,juser

Horizon Agent 不要求使用者名稱區分大小寫。您必須確保 Linux 作業系統可以處理不區分大小寫的使用者名稱。
  • 針對 Winbind,使用者名稱預設不區分大小寫。
  • 針對 OpenLDAP,Ubuntu 使用 NSCD 來驗證使用者,並且預設不區分大小寫。
  • RHEL、Rocky Linux 和 CentOS 使用 SSSD 來驗證使用者,並且預設區分大小寫。若要變更設定,請編輯檔案 /etc/sssd/sssd.conf,並在 [domain/default] 區段新增下列程式行:
    case_sensitive = false

如果您的 Linux 虛擬機器安裝了多個桌面平台環境,請參閱桌面平台環境,以選取要與 SSO 搭配使用的桌面平台環境。