materials

Añadir un equipo Linux a AD

Introducción

Aunque no es lo más habitual en ocasiones debemos añadir clientes GNU/Linux al dominio. Hay diferentes formas de hacerlos:

SSSD

El Demonio de Servicios de Seguridad del Sistema (System Security Services Daemon, SSSD) es un servicio que permite acceder a mecanismos de autenticación y directorios remotos como LDAP, Active Directory y reinos kerberos. Esto permite a los usuarios autentificarse en un equipo local utilizando una cuenta del servidor.

Además, al igual que hace Windows, SSSD mantiene una caché de identidades en el equipo local lo que permite a un usuario iniciar sesión aunque el servidor no esté disponible si ya lo ha iniciado antes en ese equipo.

Su archivo de configuración es /etc/sssd/sssd.conf.

Los programas que se utilizan son:

Instalación

Antes de comanzar con la instalación nos aseguraremos de la correcta configuración de la red en el cliente: debe ser capaz de resolver el nombre del dominio y del DC. También debemos cambiar el nombre del equipo poniendo su FQDN (el nombre completo del equipo, con el dominio), por ejemplo pclinux.midominio.lan. Es conveniente tenerlo en el fichero /etc/hosts.

Los paquetes que debemos instalar son realmd, sssd-ad, sssd-tools y adcli.

Una vez instalados comprobaremos que accede a la información del dominio con:

sudo realm -v discover midominio.lan

Debe mostrar el nombre del dominio y la IP del DC.

NOTA: si eres el usuario root y no encuentra la orden puede ser porque para convertirte el root hayas ejecutado su en lugar de su -

Para añadir el equipo al dominio ejecutamos:

sudo realm --verbose join midominio.lan -U Administrador

Si al ejecutarlo se prduce un error diciendo que deben instalarse los paquetes a pesar de estar ya instalados instalaremos el paquete packagekit que resuleve este problema.

Si se produce un error de que no tenemos permisos puede deberse a que no tengamos instalado kerberos lo que solucionaremos instalando el paquete krb5-user. Durante la instalación nos pedirá el nombre del dominio (realm) y lo pondremos en MAYÚSCULAS. Puede cambiarse en la línea default_realm_ del fichero /etc/krb5.conf.

Con esto ya tenemos nuestro equipo añadido al dominio y debe aparecer en la OU Computers de Usuarios y equipos de AD.

Podemos comprobar la información del administrador del dominio con

id Administrador@midominio.lan

Podemos iniciar sesión con un usuario del dominio con

su Administrador@mydomain.lan

o

sudo login Administrador@mydomain.lan

Configuraciones adicionales

Todavía nos quedan unas cosas por configurar para mejorar la usabilidad del sistema. En el archivo de configuración de sssd /etc/sssd/sssd.conf encontramos las líneas:

Además, la primera vez que un usuario del dominio inicia la sesión en el equipo no se crea por defecto a su home. Para que se cree ejecutamos el comando:

sudo pam-auth-update --enable mkhomedir

Sincronizar la hora

Como sabemos la hora debe ser igual en el DC y en los clientes para poder acceder al dominio. Podemos decirle al equipo que use como servidor de hora el DC de Windows. Para ello editamos el fichero /etc/systemd/tiemsyncd.conf y en [Time] descomentamos la línea NTP= y le ponemos la IP de nuestro servidor de hora (ej. NTP=192.168.0.1).

Si no funciona podemos instalar el paquete ntp y configurarlo para que obtenga la hora del DC. Para ello en el fichero /etc/ntp.conf comentaremos todas las líneas de pool y añadiremos:

server dc1.midominio.lan
pool dc1.midominio.lan

Después reiniciaremos el servicio ntp. Podemos comprobar la sincronización con ntpq -p.

Fuente: EDUCATICA!

pbis-open

El paquete PBIS (PowerBroker Identity Services) es un script realizado por _Beyond Trust que automáticamente descarga los paquetes necesarios y configura los ficheros por nosotros.

Para que funcione debemos tener instalado el paquete ssh.

Nos descargamos desde la web de BeyondTrust el script adecuado a nuestro sistema y lo ejecutamos:

sudo sh ./pbis-open-versio_descargada.deb.sh

Para añadir el equipo al dominio ejecutamos:

sudo domainjoin-cli join midominio.lan Administrador@midominio.lan

Ya lo tenemos añadido y debe aparecer en la OU Computers de Usuarios y equipos de AD. También podemos comprobarlo con

sudo domainjoin-cli query

También podemos ver información sobre PBIS y el dominio con:

pbis status

Para sacar un equipo Linux del dominio ejecutaremos:

sudo domainjoin-cli leave

Podemos ver desde la terminal la lista de todos los usuarios que pueden iniciar sesión en el sistema con:

getent passwd

y la lista de grupos con:

getent group

También podemos ver la información de usuarios y grupos desde PBIS con:

/opt/pbis/bin/enum-users
/opt/pbis/bin/enum-groups

Ya podemos iniciar sesión con un usuario del dominio poniendo su nombre y el dominio, por ejemplo ACME\Administrador o Administrador@acme.lan.

Configuraciones adicionales

Vamos a ejecutar unas órdenes que nos faciliten la tarea de loguearnos con un usuario del dominio. En estas órdenes, cuado se tenga que poner el nombre del dominio pondremos el nombre NETBIOS (el que va sin extensión):

Podemos comprobar si hemos configurado bien cualquier opción con la opción --show, por ejemplo, para saber qué grupo puede iniciar sesión en el cliente linux escribiremos:

/opt/pbis/bin/config --show RequireMembershipOf

Iniciar sesión en el dominio desde el entorno gráfico

Simplemente escribimos el nombre del usuario del dominio (con o sin @midomnio.lan según esté configurado) y su contraseña e iniciamos sesión.

Sin embargo algunos gestores gráficos no permiten escribir el usuario en el login sino que sólo nos da la opción de elegir uno de la lista. Si nuestro gestor gráfico es uno de esos hay que ver la forma de habilitar la posibilidad de escribir el usuario.

En primer lugar tenemos que identificar qué display-manager se está usando con:

systemctl status display-manager

Ligth Display Manager

En el caso de Ubuntu antiguos y otras distribuciones que usan ligthdm, tenemos que cambiar la configuración añadiendo al final del archivo de configuración /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf las líneas:

allow-guest=false
greeter-show-manual-login=true

y reiniciamos el equipo.

Linux Mint

Si se trata de Linux Mint con escritorio Mate, en el entorno gráfico hay que habilitar la opción ‘Permitir el inicio de sesión manual’ que esta en Administración -> Pantalla de inicio de sesión -> Usuarios:

Mate

Lubuntu

Si es un Lubuntu anterior al 20.04 no hay que hacer nada porque automáticamente pide escribir el nombre del usuario.

Lubuntu 20.04 utiliza como Display Manager SDDM que no da opción para escribir el nombre del usuario. Lo que podemos hacer es que aparezcan los usuarios del dominio igual que aparecen los locales. Para ello en primer lugar tenemos que saber qué UID tienen los usuarios del dominio con

getent passwd

para ver que sus UID son:

getent

Ahora entramos en el fichero /etc/sddm.conf para añadir una sección [Users] donde indicar qué UID tienen que aparecer (por defecto sólo aparecen los locales a partir del UID 1000). Como los nuestros tienen UID muy grandes (1179124212 i més) ponemos en ese fichero:

[Autologin]
Session=Lubuntu
[Users]
MinimumUid=1000
MaximumUid=9999999999
RememberLastUser=true

Al instalar Ubuntu

El instalador de Ubuntu Desktop incluye una opción para añadir el equipo que estamos instalando en el dominio en el proceso de instalación del sistema operativo:

Añadir equipo a AD

Si marcamos esta opción en la siguiente pantalla nos pide el nombre del dominio y una cuenta para añadir el equipo al dominio (normalmente el del Administrador):

Configurar AD

Canonical ADsys

NOTA: esta librería sólo está disponible para suscriptores de Ubuntu Advantage.

Desde Ubuntu Desktop 22.04 se incluye en el sistema esta librería que es un cliente de AD y que proporciona muchas más funcionalidades que las que teníamos sólo con SSSD (autenticación y unas pocas GPO), aunque también puede instalarse en la versión 20.04.

ADsys consta de un demonio (adsysd), que implementa la autenticación (con Samba y Kerberos) y las GPO, y una CLI (adsysctl) que nos permite controlar dicho demonio.

Este paquete complementa a SSSD y PAM proporcionando:

Para usar GPO debemos importar en AD las plantillas adml o admx.

Al igual que en Windows hay GPO tanto de Equipo como de Usuario que se aplican al cargar e sistema (equipo) o al iniciar la sesión (usuario).