Esta guía te permitirá integrar Ubuntu (versiones 25.10 / 26.04) en un dominio de Active Directory gestionado por Samba 4 (también válido para dominios Windows), permitiendo no solo la autenticación centralizada, sino también la gestión de políticas de grupo mediante ADSys.
A parte de Samba 4, que no necesita presentación por aquí, ya que hay bastante material en éste blog sobre él; usaremos SSSD, que es el daemon que gestiona la autenticación local y el acceso a servicios de directorio remotos en GNU Linux. También usaremos realm, que es una herramienta simplificada para descubrir y unirse a dominios de AD sin configurar manualmente archivos complejos y ADSys, una solución de Canonical para gestionar clientes Ubuntu mediante GPOs (Objetos de Directiva de Grupo) de Active Directory.
Debemos asegurarnos que nuestro equipo cliente con Ubuntu se encuentra en la misma red del servidor AD (en nuestro caso es un AlmaLinux con Samba 4).
Unir Ubuntu al Dominio FCLD.LOCAL
Actualización e Instalación
Primero, actualizamos el sistema e instalamos los paquetes necesarios para la integración y la gestión de políticas.
fraterneo@ubuntu-client:~$ sudo apt update && sudo apt upgrade -y fraterneo@ubuntu-client:~$ sudo apt install -y realmd sssd sssd-tools libnss-sss libpam-sss adcli adsys krb5-user smbclient samba-common-bin packagekit
*Durante el proceso de instalación Kerberos pide el realm del dominio, lo escribimos en mayúsculas: FCLD.LOCAL
Descubrimiento del Dominio
Verificamos que Ubuntu puede ver el dominio fcld.local y que identifica los paquetes requeridos.
fraterneo@ubuntu-client:~$ realm discover fcld.local type: kerberos realm-name: FCLD.LOCAL domain-name: fcld.local configured: no server-software: active-directory client-software: sssd required-package: sssd-tools required-package: sssd required-package: libnss-sss required-package: libpam-sss required-package: adcli required-package: samba-common-binUnión al Dominio
Ejecutamos la unión oficial. Usaremos el parámetro -v (verbose) para ver el progreso detallado. El sistema solicitará la contraseña del administrador del dominio.
fraterneo@ubuntu-client:~$ sudo realm join -v --user=Administrator FCLD.LOCAL * Resolving: _ldap._tcp.fcld.local * Performing LDAP DSE lookup on: 10.42.0.1 * Successfully discovered: fcld.local Password for Administrator: * Unconditionally checking packages * Resolving required packages * LANG=C /usr/sbin/adcli join --verbose --domain fcld.local --domain-realm FCLD.LOCAL --domain-controller 10.42.0.1 --login-type user --login-user Administrator --stdin-password * Using domain name: fcld.local * Calculated computer account name from fqdn: UBUNTU-CLIENT * Using domain realm: fcld.local * Sending NetLogon ping to domain controller: 10.42.0.1 * Received NetLogon info from: sambapdc01.fcld.local * Wrote out krb5.conf snippet to /var/cache/realmd/adcli-krb5-7eOcHR/krb5.d/adcli-krb5-conf-Y0LkRU * Authenticated as user: Administrator@FCLD.LOCAL * Using GSS-SPNEGO for SASL bind * Looked up short domain name: FCLD * Looked up domain SID: S-1-5-21-87385115-388024416-2340584732 * Received NetLogon info from: sambapdc01.fcld.local * Using fully qualified name: ubuntu-client * Using domain name: fcld.local * Using computer account name: UBUNTU-CLIENT * Using domain realm: fcld.local * Calculated computer account name from fqdn: UBUNTU-CLIENT * Generated 120 character computer password * Using keytab: FILE:/etc/krb5.keytab * Found computer account for UBUNTU-CLIENT$ at: CN=UBUNTU-CLIENT,CN=Computers,DC=fcld,DC=local * Trying to set computer password with Kerberos * Set computer password * Retrieved kvno '3' for computer account in directory: CN=UBUNTU-CLIENT,CN=Computers,DC=fcld,DC=local * Checking host/UBUNTU-CLIENT * Added host/UBUNTU-CLIENT * Checking RestrictedKrbHost/UBUNTU-CLIENT * Added RestrictedKrbHost/UBUNTU-CLIENT * Discovered which keytab salt to use * Added the entries to the keytab: UBUNTU-CLIENT$@FCLD.LOCAL: FILE:/etc/krb5.keytab * Added the entries to the keytab: host/UBUNTU-CLIENT@FCLD.LOCAL: FILE:/etc/krb5.keytab * Added the entries to the keytab: RestrictedKrbHost/UBUNTU-CLIENT@FCLD.LOCAL: FILE:/etc/krb5.keytab * /usr/sbin/update-rc.d sssd enable * /usr/sbin/service sssd restart * Successfully enrolled machine in realmConfiguración de Inicio de Sesión
Para que Ubuntu cree automáticamente una carpeta de inicio (/home/usuario@dominio) la primera vez que un usuario de AD inicie sesión:
fraterneo@ubuntu-client:~$ sudo pam-auth-update --enable mkhomedirOptimización de SSSD
Debemos ajustar el archivo de configuración para definir cómo se comportarán los nombres de usuario y las rutas de las carpetas. Edítalo y asegúrate de que luzca así:
fraterneo@ubuntu-client:~$ sudo nano /etc/sssd/sssd.conf [sssd] domains = fcld.local config_file_version = 2 services = nss, pam [domain/fcld.local] default_shell = /bin/bash krb5_store_password_if_offline = True cache_credentials = True krb5_realm = FCLD.LOCAL realmd_tags = manages-system joined-with-adcli id_provider = ad fallback_homedir = /home/%u@%d ad_domain = fcld.local use_fully_qualified_names = True ldap_id_mapping = True access_provider = ad auth_provider = ad
Reinicia el sistema tras este paso para aplicar los cambios globales. Al regresar nos logueamos en Ubuntu como administrator@fcld.local y clave de administrator del dominio.
![]() |
| Login de Ubuntu que ya muestra que podemos loguearnos como un usuario del dominio fcld.local |
Gestión de Políticas
ADSys permite que el administrador de AD controle Ubuntu usando archivos .admx (plantillas de directiva).
Generar las Plantillas
Desde el cliente Ubuntu, generamos los archivos de política necesarios:
administrator@fcld.local@ubuntu-client:~$ adsysctl policy admx allSubir Políticas al Servidor AD (Samba 4)
Utilizaremos smbclient para crear las rutas en el volumen SYSVOL del servidor y subir las plantillas. Esto permitirá que el Editor de Directivas de Grupo en Windows (o herramientas de Samba) reconozca las opciones de Ubuntu.
Crear directorios en el servidor:
administrator@fcld.local@ubuntu-client:~$ smbclient //sambapdc01/sysvol -U Administrator@FCLD.LOCAL -c 'mkdir "/fcld.local/Policies/PolicyDefinitions"' administrator@fcld.local@ubuntu-client:~$ smbclient //sambapdc01/sysvol -U Administrator@FCLD.LOCAL -c 'mkdir "/fcld.local/Policies/PolicyDefinitions/en-US"'Subir archivos .admx (plantilla principal) y .adml (archivo de idioma):
administrator@fcld.local@ubuntu-client:~$ smbclient //sambapdc01/sysvol -U Administrator@FCLD.LOCAL -c 'put "/home/administrator@fcld.local/Ubuntu.admx" "/fcld.local/Policies/PolicyDefinitions/Ubuntu.admx"' Password for [Administrator@FCLD.LOCAL]: putting file /home/administrator@fcld.local/Ubuntu.admx as \fcld.local\Policies\PolicyDefinitions\Ubuntu.admx (42374.5 kb/s) (average 42375.0 kb/s) administrator@fcld.local@ubuntu-client:~$ smbclient //sambapdc01/sysvol -U Administrator@FCLD.LOCAL -c 'put "/home/administrator@fcld.local/Ubuntu.adml" "/fcld.local/Policies/PolicyDefinitions/en-US/Ubuntu.adml"' Password for [Administrator@FCLD.LOCAL]: putting file /home/administrator@fcld.local/Ubuntu.adml as \fcld.local\Policies\PolicyDefinitions\en-US\Ubuntu.adml (32838.6 kb/s) (average 32839.0 kb/s)Validación de la Integración
Para confirmar que todo está funcionando correctamente, ejecuta estos tres comandos:
Estado del Realm:
administrator@fcld.local@ubuntu-client:~$ realm discover fcld.local type: kerberos realm-name: FCLD.LOCAL domain-name: fcld.local configured: kerberos-member server-software: active-directory client-software: sssd required-package: sssd-tools required-package: sssd required-package: libnss-sss required-package: libpam-sss required-package: adcli required-package: samba-common-bin login-formats: %U@fcld.local login-policy: allow-realm-loginsDebería mostrar configured: kerberos-member.
Obtener Ticket de Kerberos:
administrator@fcld.local@ubuntu-client:~$ kinit administrator Password for administrator@FCLD.LOCAL: Warning: Your password will expire in 36 days on Fri 08 May 2026 03:15:41 PM ASTListar Tickets activos:
administrator@fcld.local@ubuntu-client:~$ klist Ticket cache: FILE:/tmp/krb5cc_257600500_Yg6ycZ Default principal: Administrator@FCLD.LOCAL Valid starting Expires Service principal 04/01/2026 17:35:51 04/02/2026 03:35:51 krbtgt/FCLD.LOCAL@FCLD.LOCAL renew until 04/08/2026 17:35:51
Si ves un ticket para krbtgt/FCLD.LOCAL@FCLD.LOCAL, la comunicación segura está establecida.
Puedes ampliar aún más sobre ADSys y lo que te permite hacer al manejar las políticas para Ubuntu desde Active Directory consultando la documentación oficial de Ubuntu sobre Group Policy, ADSys, Configuración de AD y Unión Manual.









0 comments:
Publicar un comentario