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


Este tutorial lo guiará sobre cómo unirse a una máquina Ubuntu Desktop en un dominio Samba4 Active Directory con SSSD y Realmd Servicios para autenticar usuarios contra un Active Directory.

  1. Create an Active Directory Infrastructure with Samba4 on 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. Use 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 de DNS correctas para que apunten al controlador de dominio Samba AD como se muestra 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 utilizando la GUI o desde la línea de comandos y emita una serie de comando ping contra su nombre de dominio para probar si la resolución del DNS es trabajando 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 el tiempo con el AD emitiendo los siguientes comandos.

$ sudo apt-get install ntpdate
$ sudo ntpdate your_domain_name

Paso 2: Instalar los paquetes requeridos

5. En este paso, instale el software necesario y las dependencias necesarias para unirse a Ubuntu en 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, abre y edita el archivo de configuración Realmd y agrega 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 de 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 de nombre de dominio , especialmente el valor de reino para que coincida con su nombre de dominio y ejecute el comando testparm para verificar si la configuración El archivo no contiene errores.

$ sudo testparm

11. Después de realizar todos los cambios necesarios, pruebe la autenticación Kerberos con una cuenta administrativa de AD y haga una lista del ticket emitiendo los siguientes comandos.

$ sudo kinit [email protected]
$ sudo klist

Paso 3: Únete a Ubuntu a Samba4 Realm

12. Para unir el problema de Active Directory de Samba4 a la máquina de Ubuntu siguiendo una 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 dominio funcione como se espera 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. Una vez 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 de reino 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 una cuenta de objeto con el nombre de su máquina ha sido creada.

Paso 4: Configurar la autenticación de cuentas AD

15. Para autenticarse en la 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 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 ok 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 hogares para los usuarios autenticados del dominio.

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 el archivo use_authtok desde la línea de la contraseña para ver finalmente como se muestra en el extracto a continuación.

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

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

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

19. Para probar si la máquina de Ubuntu se integró con éxito para ejecutar de forma real el paquete de instalación de winbind y ejecutar 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. También, 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 de Linux id para obtener información sobre una cuenta de AD como se ilustra en el siguiente comando.

$ id tecmint_user

22. Para autenticarse en el host de Ubuntu con una cuenta AD de Samba4, use el parámetro de nombre de usuario del 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 del 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 de sistemas 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 /etc/sudoers de finalización final 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 LightDM administrador de pantalla editando /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 y aplique los cambios.

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

Inicia sesión en Ubuntu Desktop con una cuenta de dominio usando la sintaxis tu_dominio_usuario o [correo electrónico protegido] _dominio.tld

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

full_name_format = %1$s

y reinicie el daemon 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 el homólogo del nombre de dominio.

27. En caso de que no pueda iniciar sesión debido al argumento enumerate = true establecido en sssd.conf , debe borrar sssd cached database 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 Active Directory de Samba4, se pueden aplicar los mismos pasos para integrar Ubuntu con Realmd y los servicios SSSD en un Active Directory de Microsoft Windows Server.

Todos los derechos reservados © Linux-Console.net • 2019-2021