Integre Ubuntu a Samba4 AD DC con SSSD y Realm - Parte 15


Este tutorial lo guiará sobre cómo unir una máquina de escritorio Ubuntu en un dominio de Active Directory Samba4 con servicios SSSD y Realmd para autenticar a los usuarios en un Active Directory.

  1. Cree una infraestructura de Active Directory con Samba4 en Ubuntu

Paso 1: Configuraciones iniciales

1. Antes de comenzar a unir Ubuntu en un Active Directory, asegúrese de que el nombre de host esté configurado correctamente. Utilice el comando hostnamectl para establecer el nombre de la máquina o edite manualmente el archivo/etc/hostname.

$ sudo hostnamectl set-hostname your_machine_short_hostname
$ cat /etc/hostname
$ hostnamectl

2. En el siguiente paso, edite la configuración de la interfaz de red de la máquina y agregue las configuraciones de IP adecuadas y las direcciones de servidor IP de DNS correctas para apuntar al controlador de dominio de Samba AD como se ilustra en la siguiente captura de pantalla.

Si ha configurado un servidor DHCP en sus instalaciones para asignar automáticamente la configuración de IP para sus máquinas LAN con las direcciones IP de AD DNS adecuadas, puede omitir este paso y seguir adelante.

En la captura de pantalla anterior, 192.168.1.254 y 192.168.1.253 representan las direcciones IP de los controladores de dominio Samba4.

3. Reinicie los servicios de red para aplicar los cambios usando la GUI o desde la línea de comando y emita una serie de comando ping contra su nombre de dominio para probar si la resolución de DNS está funcionando como se esperaba. Además, use el comando host para probar la resolución de DNS.

$ sudo systemctl restart networking.service
$ host your_domain.tld
$ ping -c2 your_domain_name
$ ping -c2 adc1
$ ping -c2 adc2

4. Finalmente, asegúrese de que la hora de la máquina esté sincronizada con Samba4 AD. Instale el paquete ntpdate y sincronice la hora con el AD emitiendo los siguientes comandos.

$ sudo apt-get install ntpdate
$ sudo ntpdate your_domain_name

Paso 2: Instale los paquetes necesarios

5. En este paso, instale el software necesario y las dependencias requeridas para unir Ubuntu a los servicios Samba4 AD DC: Realmd y SSSD.

$ sudo apt install adcli realmd krb5-user samba-common-bin samba-libs samba-dsdb-modules sssd sssd-tools libnss-sss libpam-sss packagekit policykit-1 

6. Ingrese el nombre del reino predeterminado con mayúsculas y presione la tecla Enter para continuar con la instalación.

7. A continuación, cree el archivo de configuración SSSD con el siguiente contenido.

$ sudo nano /etc/sssd/sssd.conf

Agregue las siguientes líneas al archivo sssd.conf.

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[sssd]
domains = tecmint.lan
config_file_version = 2
services = nss, pam
default_domain_suffix = TECMINT.LAN


[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%d/%u
access_provider = ad

auth_provider = ad
chpass_provider = ad
access_provider = ad
ldap_schema = ad
dyndns_update = true
dyndns_refresh_interval = 43200
dyndns_update_ptr = true
dyndns_ttl = 3600

Asegúrese de reemplazar el nombre de dominio en los siguientes parámetros en consecuencia:

domains = tecmint.lan
default_domain_suffix = TECMINT.LAN
[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN

8. A continuación, agregue los permisos adecuados para el archivo SSSD emitiendo el siguiente comando:

$ sudo chmod 700 /etc/sssd/sssd.conf

9. Ahora, abra y edite el archivo de configuración de Realmd y agregue las siguientes líneas.

$ sudo nano /etc/realmd.conf

Extracto del archivo Realmd.conf:

[active-directory]
os-name = Linux Ubuntu
os-version = 17.04

[service]
automatic-install = yes

 [users]
default-home = /home/%d/%u
default-shell = /bin/bash

[tecmint.lan]
user-principal = yes
fully-qualified-names = no

10. El último archivo que necesita modificar pertenece al demonio Samba. Abra el archivo /etc/samba/smb.conf para editarlo y agregue el siguiente bloque de código al principio del archivo, después de la sección [global] como se ilustra en la imagen de abajo.

 workgroup = TECMINT
   client signing = yes
   client use spnego = yes
   kerberos method = secrets and keytab
   realm = TECMINT.LAN
   security = ads

Asegúrese de reemplazar el valor del nombre de dominio, especialmente el valor del reino para que coincida con su nombre de dominio y ejecute el comando testparm para verificar si el archivo de configuración no contiene errores.

$ sudo testparm

11. Una vez que haya realizado todos los cambios necesarios, pruebe la autenticación Kerberos con una cuenta administrativa de AD y enumere el ticket emitiendo los siguientes comandos.

$ sudo kinit [email protected]
$ sudo klist

Paso 3: Únase a Ubuntu a Samba4 Realm

12. Para unir la máquina Ubuntu a Samba4 Active Directory, emita la siguiente serie de comandos como se ilustra a continuación. Utilice el nombre de una cuenta de AD DC con privilegios de administrador para que el enlace al reino funcione como se esperaba y reemplace el valor del nombre de dominio en consecuencia.

$ sudo realm discover -v DOMAIN.TLD
$ sudo realm list
$ sudo realm join TECMINT.LAN -U ad_admin_user -v
$ sudo net ads join -k

13. Después de que se realizó el enlace de dominio, ejecute el siguiente comando para asegurarse de que todas las cuentas de dominio puedan autenticarse en la máquina.

$ sudo realm permit --all

Posteriormente, puede permitir o denegar el acceso a una cuenta de usuario de dominio o un grupo usando el comando realm como se presenta en los ejemplos a continuación.

$ sudo realm deny -a
$ realm permit --groups ‘domain.tld\Linux Admins’
$ realm permit [email protected]
$ realm permit DOMAIN\\User2

14. Desde una máquina Windows con herramientas RSAT instaladas, puede abrir AD UC y navegar al contenedor Computadoras y verificar si se ha creado una cuenta de objeto con el nombre de su máquina.

Paso 4: configurar la autenticación de cuentas de AD

15. Para autenticarse en una máquina Ubuntu con cuentas de dominio, debe ejecutar el comando pam-auth-update con privilegios de root y habilitar todos los perfiles PAM, incluida la opción de crear automáticamente directorios de inicio para cada cuenta de dominio en el primer inicio de sesión.

Verifique todas las entradas presionando la tecla [espacio] y presione Aceptar para aplicar la configuración.

$ sudo pam-auth-update

16. En los sistemas, edite manualmente el archivo /etc/pam.d/common-account y la siguiente línea para crear automáticamente hogares para usuarios de dominio autenticados.

session    required    pam_mkhomedir.so    skel=/etc/skel/    umask=0022

17. Si los usuarios de Active Directory no pueden cambiar su contraseña desde la línea de comandos en Linux, abra el archivo /etc/pam.d/common-password y elimine la declaración use_authtok de la línea de contraseña para que finalmente se vea como en el siguiente extracto.

password       [success=1 default=ignore]      pam_winbind.so try_first_pass

18. Finalmente, reinicie y habilite el servicio Realmd y SSSD para aplicar cambios emitiendo los siguientes comandos:

$ sudo systemctl restart realmd sssd
$ sudo systemctl enable realmd sssd

19. Para probar si la máquina Ubuntu se integró con éxito en el reino, ejecute install winbind package y ejecute el comando wbinfo para enumerar las cuentas de dominio y los grupos como se ilustra a continuación.

$ sudo apt-get install winbind
$ wbinfo -u
$ wbinfo -g

20. Además, verifique el módulo Winbind nsswitch emitiendo el comando getent contra un usuario o grupo de dominio específico.

$ sudo getent passwd your_domain_user
$ sudo getent group ‘domain admins’

21. También puede usar el comando id de Linux para obtener información sobre una cuenta AD como se ilustra en el siguiente comando.

$ id tecmint_user

22. Para autenticarse en un host Ubuntu con una cuenta Samba4 AD, use el parámetro de nombre de usuario de dominio después del comando su -. Ejecute el comando id para obtener información adicional sobre la cuenta de AD.

$ su - your_ad_user

Use el comando pwd para ver el directorio de trabajo actual del usuario de su dominio y el comando passwd si desea cambiar la contraseña.

23. Para usar una cuenta de dominio con privilegios de root en su máquina Ubuntu, debe agregar el nombre de usuario de AD al grupo del sistema sudo emitiendo el siguiente comando:

$ sudo usermod -aG sudo [email protected]

Inicie sesión en Ubuntu con la cuenta de dominio y actualice su sistema ejecutando el comando apt update para verificar los privilegios de root.

24. Para agregar privilegios de root para un grupo de dominio, abra el archivo end edit/etc/sudoers usando el comando visudo y agregue la siguiente línea como se ilustra.

%domain\ [email protected]       		 ALL=(ALL:ALL) ALL

25. Para usar la autenticación de la cuenta de dominio para Ubuntu Desktop, modifique el administrador de pantalla LightDM editando el archivo /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf, agregue las siguientes dos líneas y reinicie el servicio lightdm o reinicie la máquina. cambios.

greeter-show-manual-login=true
greeter-hide-users=true

Inicie sesión en Ubuntu Desktop con una cuenta de dominio utilizando la sintaxis your_domain_username o [email protected] _domain.tld.

26. Para usar el formato de nombre corto para las cuentas de Samba AD, edite el archivo /etc/sssd/sssd.conf, agregue la siguiente línea en el bloque [sssd] como se ilustra a continuación.

full_name_format = %1$s

y reinicie el demonio SSSD para aplicar los cambios.

$ sudo systemctl restart sssd

Notará que el indicador de bash cambiará al nombre corto del usuario de AD sin agregar la contraparte del nombre de dominio.

27. En caso de que no pueda iniciar sesión debido al argumento enumerate u003d true establecido en sssd.conf, debe borrar la base de datos en caché sssd emitiendo el siguiente comando:

$ rm /var/lib/sss/db/cache_tecmint.lan.ldb

¡Eso es todo! Aunque esta guía se centra principalmente en la integración con un directorio activo de Samba4, se pueden aplicar los mismos pasos para integrar Ubuntu con los servicios Realmd y SSSD en un directorio activo de Microsoft Windows Server.