若要在 RHEL/CentOS 8.x 桌面平台上支援 True SSO,您必須先將系統與 Active Directory (AD) 網域整合。接著,您必須修改系統上的特定組態以支援 True SSO 功能。

若要在 RHEL/CentOS 8.1 桌面平台上支援 True SSO,您必須安裝 Horizon Agent 7.12 或更新版本。

若要在 RHEL/CentOS 8.0 桌面平台上支援 True SSO,您必須安裝 Horizon Agent 7.11 或更新版本。

備註: 即時複製 RHEL 8.x 桌面平台不支援 True SSO。

此程序中的某些範例使用預留位置值來代表您網路組態中的實體,例如 AD 網域的 DNS 名稱。請將預留位置值取代為您的組態特有的資訊,如下表所說明。

預留位置值 說明
mydomain.com AD 網域的 DNS 名稱
MYDOMAIN.COM AD 網域的 DNS 名稱 (全部使用大寫字母)
MYDOMAIN NetBIOS 網域的名稱

必要條件

  • 確認 Active Directory (AD) 伺服器可在 RHEL/CentOS 8.x 系統上由 DNS 解析。
  • 設定系統的主機名稱。
  • 設定系統上的網路時間通訊協定 (NTP)。

程序

  1. 在 RHEL/CentOS 8.x 系統上,確認與 Active Directory 的網路連線。
    # realm discover mydomain.com
  2. 安裝所需的相依性套件。
    # yum install oddjob oddjob-mkhomedir sssd adcli samba-common-tools
  3. 加入 AD 網域。
    # realm join --verbose mydomain.com -U administrator
  4. 下載根 CA 憑證,並將其複製到所需的目錄作為 .pem 檔案。
    # openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    
    # cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
  5. 修改 /etc/sssd/sssd.conf 組態檔,如下列範例所示。
    [sssd]
    domains = mydomain.com
    config_file_version = 2
    services = nss, pam
     
    [domain/mydomain.com]
    ad_domain = mydomain.com
    krb5_realm = IMYDOMAIN.COM
    realmd_tags = manages-system joined-with-adcli
    cache_credentials = True
    id_provider = ad
    krb5_store_password_if_offline = True
    default_shell = /bin/bash
    ldap_id_mapping = True
    use_fully_qualified_names = False        <---------------- Use short name for user
    fallback_homedir = /home/%u@%d
    access_provider = ad
    ad_gpo_map_interactive = +gdm-vmwcred    <---------------- Add this line for SSO
     
    [pam]                                    <---------------- Add pam section for certificate logon
    pam_cert_auth = True                     <---------------- Add this line to enable certificate logon for system
    pam_p11_allowed_services = +gdm-vmwcred  <---------------- Add this line to enable certificate logon for VMware Horizon Agent
     
    [certmap/mydomain.com/truesso]          <---------------- Add this section and following lines to set match and map rule for certificate user
    matchrule = <EKU>msScLogin
    maprule = (|(userPrincipal={subject_principal})(samAccountName={subject_principal.short_name}))
    domains = mydomain.com
    priority = 10
  6. 安裝 Horizon Agent 套件,並啟用 True SSO。
    # sudo ./install_viewagent.sh -T yes
    備註: 若要使用 True SSO 功能,您必須為 Linux 發行版安裝必要的 Horizon Agent 版本,如下表所述。
    Linux 發行版 Horizon Agent
    RHEL/CentOS 8.1 Horizon Agent7.12 或更新版本
    RHEL/CentOS 8.0 Horizon Agent7.11 或更新版本
  7. 修改 /etc/vmware/viewagent-custom.conf 組態檔,使其包含下列行。
    NetbiosDomain = MYDOMAIN
  8. 將系統重新開機,然後重新登入。