Para habilitar la función True SSO en una máquina virtual Ubuntu/Debian, instale las bibliotecas de las que depende la función True SSO, la entidad de certificación (CA) raíz para poder usar la autenticación de confianza, y Horizon Agent. Si una CA subordinada también emite la autenticación True SSO, debe instalar toda la cadena de certificados de CA raíz y subordinadas. Para completar la configuración de autenticación, debe editar algunos archivos de configuración.

Nota: Si lo prefiere, puede configurar True SSO con la solución de unión de dominios SSSD, como se describe en Configurar True SSO con SSSD en escritorios Ubuntu/Debian.

Utilice el siguiente procedimiento para habilitar True SSO con Samba en una máquina virtual Ubuntu/Debian.

Requisitos previos

Procedimiento

  1. En la máquina virtual, instale el paquete de soporte de pkcs11.
    sudo apt install libpam-pkcs11
  2. Instale el paquete para libnss3-tools.
    sudo apt install libnss3-tools
  3. Instale el certificado de CA raíz o la cadena de certificados.
    1. Busque el certificado de CA raíz o la cadena de certificados que descargó y transfiéralos a un archivo PEM.
      sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    2. Cree el directorio /etc/pki/nssdb para contener la base de datos del sistema.
      sudo mkdir -p /etc/pki/nssdb
    3. El comando certutil le permitirá instalar el certificado CA raíz o la cadena de certificados en la base de datos del sistema /etc/pki/nssdb.
      Reemplace el certificado de CA raíz en el siguiente comando de ejemplo con el nombre del certificado de CA raíz en la base de datos del sistema.
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
    4. Cree el directorio /etc/pam_pkcs11/cacerts y copie el certificado de CA raíz o la cadena de certificados allí.
      sudo mkdir -p /etc/pam_pkcs11/cacerts
      sudo cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
    5. Cree un vínculo hash para el certificado de CA raíz o la cadena de certificados. En el directorio /etc/pam_pkcs11/cacerts, ejecute el siguiente comando.
      sudo pkcs11_make_hash_link
  4. Instale el paquete Horizon Agent con True SSO habilitado.
    sudo ./install_viewagent.sh -T yes
  5. Agregue el siguiente parámetro al archivo de configuración personalizada de Horizon Agent /etc/vmware/viewagent-custom.conf. Utilice el siguiente ejemplo, donde NOMBRE_NETBIOS_DEL_DOMINIO es el nombre de NetBIOS del dominio de su organización.
    NetbiosDomain=NETBIOS_NAME_OF_DOMAIN
  6. Edite el archivo de configuración /etc/pam_pkcs11/pam_pkcs11.conf.
    1. Si es necesario, cree el archivo de configuración /etc/pam_pkcs11/pam_pkcs11.conf. Busque el archivo de ejemplo en /usr/share/doc/libpam-pkcs11/examples, cópielo en el directorio /etc/pam_pkcs11 y cámbiele el nombre por pam_pkcs11.conf. Añada la información de su sistema al contenido del archivo según sea necesario.
    2. Modifique el archivo de configuración /etc/pam_pkcs11/pam_pkcs11.conf para que incluya contenido similar al siguiente ejemplo.
      Nota: Para Ubuntu 20.04 o versiones posteriores, anexe ms al final de la línea 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. En el terminal Linux, establezca los permisos de acceso para el archivo de configuración /etc/krb5.conf en 644, como se muestra en el siguiente ejemplo.
    sudo chmod 644 /etc/krb5.conf

    Compruebe que los permisos se hayan modificado.

    ls -l /etc/krb5.conf
    
    -rw-r--r-- 1 root root xxx xx xx xxxx /etc/krb5.conf
    Nota: Si no modifica los permisos de /etc/krb5.conf según lo especificado, es posible que la función True SSO no funcione.
  8. Reinicie la máquina virtual y vuelva a iniciar sesión.