Skip to main content

10 de julio de 2026

Unir dominios de una máquina virtual Ubuntu/Debian con Samba para True SSO

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

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.

Para integrar una máquina virtual de Ubuntu/Debian con un dominio de AD usando Samba y Winbind, 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ónDescripción
DIRECCIÓN_IP_dnsDirección IP del servidor de nombres DNS
midominio.comNombre DNS de su dominio de AD
MIDOMINIO.COMNombre DNS de su dominio de AD, en mayúsculas
mihostNombre del host de su máquina virtual Ubuntu/Debian
MIDOMINIONombre DNS del grupo de trabajo o el dominio NT que incluye su servidor Samba, en mayúsculas
nombredehost-adsNombre de host del servidor de AD
usuario-adminNombre de usuario del administrador del dominio de AD

Requisitos

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 mydomain.com, introduzca MYDOMAIN.COM.

    3. En Servidores de Kerberos para su reino, introduzca el nombre de host de su servidor AD (representado como ads_hostname 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 y como se muestra en el siguiente ejemplo.

    passwd: compat winbind
    group: compat winbind
    shadow: compat
    gshadow: files
    
  5. Si el sistema detecta automáticamente el servidor DNS correcto, omita este paso y continúe con el siguiente. 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. En los siguientes subpasos se 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 dns_IP_ADDRESS 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 agrega 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 siguiente ejemplo.

    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.

Pasos siguientes

Configurar True SSO con Samba en escritorios Ubuntu/Debian

¿Le resultó útil esta página?

Enviar comentarios sobre este tema

¿Le resultó útil este tema?

No incluya información personal ni confidencial.

Generando el enlace…