Para habilitar o recurso True SSO em uma máquina virtual (VM) Ubuntu/Debian, instale as bibliotecas das quais o recurso True SSO depende, o certificado raiz da Autoridade de Certificação (CA) para oferecer suporte à autenticação confiável e Horizon Agent. Se a autenticação True SSO também for emitida por uma autoridade de certificação subordinada, você deverá instalar toda a cadeia de certificados de certificados de autoridade de certificação raiz e subordinada. Para concluir a configuração da autenticação, você deve editar alguns arquivos de configuração.

Observação: Como alternativa, você pode configurar o True SSO usando a solução de ingresso no domínio do SSSD, conforme descrito em Configurar o True SSO com SSSD em desktops Ubuntu/Debian.

Use o procedimento a seguir para habilitar o True SSO com o Samba em uma VM Ubuntu/Debian.

Pré-requisitos

Procedimento

  1. Na VM, instale o pacote de suporte pkcs11.
    sudo apt install libpam-pkcs11
  2. Instale o pacote libnss3-tools.
    sudo apt install libnss3-tools
  3. Instale o certificado de CA raiz ou a cadeia de certificados.
    1. Localize o certificado de CA raiz ou a cadeia de certificados que você baixou e transfira-o para um arquivo PEM.
      sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    2. Crie um diretório /etc/pki/nssdb para conter o banco de dados do sistema.
      sudo mkdir -p /etc/pki/nssdb
    3. Use o comando certutil para instalar o certificado de CA raiz ou a cadeia de certificados no banco de dados do sistema /etc/pki/nssdb.
      Substitua "certificado de CA raiz" no seguinte comando de exemplo pelo nome do certificado de CA raiz no banco de dados do sistema.
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
    4. Crie um diretório /etc/pam_pkcs11/cacerts e copie o certificado de CA raiz ou a cadeia de certificados nesse diretório.
      sudo mkdir -p /etc/pam_pkcs11/cacerts
      sudo cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
    5. Crie um link de hash para o certificado de CA raiz ou a cadeia de certificados. No diretório /etc/pam_pkcs11/cacerts, execute o seguinte comando.
      sudo pkcs11_make_hash_link
  4. Instale o pacote Horizon Agent, com o True SSO ativado.
    sudo ./install_viewagent.sh -T yes
  5. Adicione o seguinte parâmetro ao Horizon Agent arquivo de configuração personalizada /etc/vmware/viewagent-custom.conf. Use o exemplo a seguir, em que NETBIOS_NAME_OF_DOMAIN é o nome NetBIOS do domínio da sua organização.
    NetbiosDomain=NETBIOS_NAME_OF_DOMAIN
  6. Edite o arquivo de configuração /etc/pam_pkcs11/pam_pkcs11.conf.
    1. Se necessário, crie o arquivo de configuração /etc/pam_pkcs11/pam_pkcs11.conf. Localize o arquivo de exemplo em /usr/share/doc/libpam-pkcs11/examples, copie-o para o diretório /etc/pam_pkcs11 e renomeie o arquivo para pam_pkcs11. conf. Adicione as informações do seu sistema ao conteúdo do arquivo conforme necessário.
    2. Modifique o arquivo de configuração /etc/pam_pkcs11/pam_pkcs11.conf para que ele inclua conteúdo semelhante ao exemplo a seguir.
      Observação: Para o Ubuntu 20.04 ou posterior, anexe ms ao final da linha 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 or later, append "ms" at end of use_mappers
  7. No terminal Linux, defina as permissões de acesso para o arquivo de configuração /etc/krb5.conf como 644, conforme mostrado no exemplo a seguir.
    sudo chmod 644 /etc/krb5.conf

    Verifique se as permissões foram modificadas.

    ls -l /etc/krb5.conf
    
    -rw-r--r-- 1 root root xxx xx xx xxxx /etc/krb5.conf
    Observação: Se você não modificar as permissões de /etc/krb5.conf conforme especificado, o recurso True SSO poderá não funcionar.
  8. Reinicie a VM e faça login novamente.