Para admitir True SSO en un escritorio Ubuntu, integre el escritorio con un dominio de Active Directory mediante las soluciones Samba y Winbind.

Utilice el siguiente procedimiento para integrar un escritorio Ubuntu con un dominio de AD.

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 escritorio Ubuntu. 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 escritorio Ubuntu
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

  • El DNS puede resolver el servidor de Active Directory (AD) en el sistema Linux.
  • El protocolo de tiempo de redes (NTP) está configurado en el sistema Linux.

Procedimiento

  1. En su escritorio Ubuntu, instale los paquetes samba y winbind.
    sudo apt install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind
  2. Cuando se le solicite, configure las opciones de autenticación de Kerberos tal como se muestra a continuación.
    1. 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.
    2. 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).
    3. 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. 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.
    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 de configuración de la conexión de su sistema, que se encuentra en /etc/NetworkManager/system-connections. Utilice el siguiente ejemplo.
      [ipv4]
      dns=dns_IP_ADDRESS
      dns-search=mydomain.com
      ignore-auto-dns=true
      method=auto
      Nota: Cuando se crea un nuevo escritorio virtual de clones instantáneos, se añade un nuevo adaptador de red virtual. Cualquier ajuste del adaptador de red (por ejemplo, el servidor DNS) que aparezca en la plantilla del escritorio virtual, se perderá cuando se añade el nuevo adaptador de red al escritorio virtual de clones instantáneos. Para evitar que se pierda la configuración del servidor DNS al añadir el nuevo adaptador de red a un escritorio virtual clonado, deberá especificar un servidor DNS en su sistema Linux.
    3. Especifique el servidor DNS editando el archivo de configuración /etc/resolv.conf, tal y como se muestra en el ejemplo siguiente.
      nameserver dns_IP_ADDRESS
      
      search mydomain.com
    4. Reinicie el sistema 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 su escritorio Ubuntu 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.
      • wbinfo -u
      • wbinfo -g
      • getend passwd
      • getend group
  12. Reinicie el sistema y vuelva a iniciar sesión.

Qué hacer a continuación

Configurar True SSO en escritorios Ubuntu