Para admitir True SSO en escritorios Ubuntu/Debian, integre la máquina virtual base con un dominio de Active Directory (AD) mediante las soluciones Samba y Winbind.

Para integrar una máquina virtual de Ubuntu/Debian con un dominio de AD, utilice el siguiente procedimiento.

Algunos ejemplos incluidos en el procedimiento utilizan valores de marcador de posición para representar entidades en su configuración de red, como el nombre de host de su máquina virtual. Reemplace los valores de marcador de posición con información específica de su configuración, tal y como se describe en la siguiente tabla.

Valor del marcador de posición Descripción
DIRECCIÓN_IP_dns Dirección IP del servidor de nombres DNS
midominio.com Nombre DNS de su dominio de AD
MIDOMINIO.COM Nombre DNS de su dominio de AD, en mayúsculas
mihost Nombre del host de su máquina virtual Ubuntu/Debian
MIDOMINIO Nombre DNS del grupo de trabajo o el dominio NT que incluye su servidor Samba, en mayúsculas
nombredehost-ads Nombre de host del servidor de AD
usuario-admin Nombre de usuario del administrador del dominio de AD

Requisitos previos

Compruebe que:
  • El DNS puede resolver el servidor de AD en la máquina virtual.
  • El protocolo de tiempo de redes (NTP) está configurado en la máquina virtual.

Procedimiento

  1. En la máquina virtual Ubuntu/Debian, instale los paquetes samba y winbind.
    sudo apt install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind
  2. Configure la configuración de autenticación de Kerberos.
    1. Si la ventana de la configuración de autenticación de Kerberos no aparece en el sistema, ejecute el siguiente comando para mostrarla.
      sudo dpkg-reconfigure krb5-config
    2. En Reino predeterminado de la versión 5 de Kerberos, introduzca el nombre de DNS de su dominio de AD en mayúsculas.
      Por ejemplo, si el nombre del dominio de AD es midominio.com, introduzca MIDOMINIO.COM.
    3. En Servidores de Kerberos para su reino, introduzca el nombre de host de su servidor AD (representado como nombrehost_ads en los ejemplos de este procedimiento).
    4. En Servidor administrativo para su reino de Kerberos, introduzca de nuevo el nombre de host de su servidor AD.
  3. Actualice la configuración PAM.
    1. Abra la página de configuración de PAM.
      pam-auth-update
    2. Seleccione Crear el directorio del usuario (home) al iniciar sesión y, a continuación, seleccione Aceptar.
  4. Edite el archivo de configuración /etc/nsswitch.conf, tal como se muestra en el ejemplo siguiente.
    passwd: compat winbind
    group: compat winbind
    shadow: compat
    gshadow: files
  5. (opcional) Si el sistema detecta automáticamente el servidor DNS correcto, omita este paso y continúe con el siguiente paso. Si el sistema no detecta el servidor DNS correcto, complete este paso para establecer el servidor DNS manualmente.
    Para asegurarse de que el archivo generado automáticamente resolv.conf hace referencia a su dominio de AD como un dominio de búsqueda, edite la opción NetworkManager con la conexión de su sistema. Los siguientes subpasos proporcionan las instrucciones de ejemplo para un sistema Ubuntu 20.04.
    1. Abra el panel de control de NetworkManager y desplácese a Ajustes de IPv4 de la conexión de su sistema. En Método, seleccione Solo direcciones automáticas (DHCP). En Servidores DNS, introduzca la dirección IP de su servidor DNS (representado como DIRECCIÓN_IP_dns en los ejemplos de este procedimiento). A continuación, haga clic en Guardar.
    2. Edite el archivo /etc/dhcp/dhclient.conf, tal y como se muestra en el siguiente ejemplo.
      supersede domain-name "mydomain.com";
      prepend domain-name-servers dns_IP_ADDRESS;
    3. Edite el archivo /etc/systemd/resolved.conf, tal y como se muestra en el siguiente ejemplo.
      DNS=dns_IP_ADDRESS
      Domains="mydomain.com"
      Nota: Cuando se crea un nuevo escritorio virtual de clones instantáneos, se añade un nuevo adaptador de red virtual. Cuando agrega el adaptador de red a un escritorio virtual clonado, la plantilla de escritorio virtual borrará la configuración del adaptador de red, como el servidor DNS. Para mantener la configuración del servidor DNS al agregar un nuevo adaptador de red, debe especificar un servidor DNS para la máquina virtual.
    4. Especifique el servidor DNS editando el archivo de configuración /etc/resolv.conf, tal y como se muestra en el ejemplo siguiente. Si aparece una advertencia, puede ignorarla y continuar con los cambios.
      nameserver dns_IP_ADDRESS
      
      search mydomain.com
    5. Reinicie la máquina virtual y vuelva a iniciar sesión.
  6. Edite el archivo de configuración /etc/hosts, tal y como se muestra en el ejemplo siguiente.
    127.0.0.1     localhost
    127.0.1.1     myhost.mydomain.com myhost
  7. Edite el archivo de configuración /etc/samba/smb.conf, tal y como se muestra en el siguiente ejemplo.
    [global]
    security = ads
    realm = MYDOMAIN.COM
    workgroup = MYDOMAIN
    idmap uid = 10000-20000
    idmap gid = 10000-20000
    winbind enum users = yes
    winbind enum groups = yes
    template homedir = /home/%D/%U
    template shell = /bin/bash
    client use spnego = yes
    client ntlmv2 auth = yes
    encrypt passwords = yes
    winbind use default domain = yes
    restrict anonymous = 2
    kerberos method = secrets and keytab
    winbind refresh tickets = true
  8. Reinicie el servicio smbd.
    sudo systemctl restart smbd.service
  9. Edite el archivo de configuración /etc/krb5.conf de manera que tenga un contenido similar al del ejemplo siguiente.
    [libdefaults]
          default_realm = MYDOMAIN.COM
          dns_lookup_realm = true
          dns_lookup_kdc = true
    
    [realms]
          MYDOMAIN.COM = {
                kdc = ads-hostname
                admin_server = ads-hostname 
          }
    
    [domain_realm]
          .mydomain.com = MYDOMAIN.COM
          mydomain.com = MYDOMAIN.COM
    
  10. Una la máquina virtual Ubuntu/Debian al dominio de AD.
    1. Inicie un ticket de Kerberos.
       sudo kinit admin-user
      Cuando se le solicite, introduzca su contraseña de administrador.
    2. Compruebe que el ticket se ha creado correctamente.
      sudo klist
      Este comando le permitirá consultar información sobre el ticket, incluida la fecha de inicio válida y la fecha de expiración.
    3. Cree un archivo keytab de Kerberos.
      sudo net ads keytab create -U admin-user
    4. Únase al dominio de AD.
      sudo net ads join -U admin-user
  11. Reinicie y verifique el servicio Winbind.
    1. Reinicie el servicio Winbind.
      sudo systemctl restart winbind.service 
    2. Para verificar el servicio Winbind, ejecute los siguientes comandos y compruebe que devuelven el resultado correcto.
      • sudo wbinfo -u
      • sudo wbinfo -g
      • sudo getent passwd
      • sudo getent group
  12. Reinicie la máquina virtual y vuelva a iniciar sesión.

Qué hacer a continuación

Configurar True SSO en escritorios Ubuntu/Debian