Aunque no es lo más habitual en ocasiones debemos añadir clientes GNU/Linux al dominio. Hay diferentes formas de hacerlos:
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:
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 desu -
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
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:
cache_credentials = True
: esto hace que se guarden las credenciales de un usuario cuando inicia sesión y la próxima vez es el mismo equipo el que le da acceso sin tener que contactar con un DC (Windows también lo hace)use_fully_qualified_names = True
: para iniciar sesión se debe poner el FQDN del usuario (usuario@dominio) en lugar de sólo el usuario. Podemos ponerlo en False si sólo trabajamos con un único dominio y no tiene relaciones de confianza con otros.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
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!
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
.
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):
sudo /opt/pbis/bin/config UserDomainPrefix midominio
: para no tener que escribir nom_dominio\nom_usuario (o nom_usuario@nom_dominio) para iniciar sesión sino que baste poner el nombre del usuariosudo /opt/pbis/bin/config AssumeDefaultDomain true
: por defecto asume que el usuario introducido es un usuario del dominiosudo /opt/pbis/bin/config LoginShellTemplate /bin/bash
: la terminal de los usuarios será bashsudo /opt/pbis/bin/config HomeDirTemplate %H/%U
: donde estará el directorio personal del usuario, por defecto /home/usuariosudo /opt/pbis/bin/config RequireMembershipOf "midominio\nom_grup"
: esto es por si queremos que sólo los miembros de un grupo determinado puedan iniciar sesión en esta máquina. Asegúrate de poner el nombre del grupo tal y como se ve en el comando getent group
(por ejemplo el grupo de Usuarios del dominio aparece como usuarios^del^dominio). ATENCIÓN: el carácter “" es para escapar el siguiente carácter por lo que puede que tengamos que ponerlo doble “\”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
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
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.
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
:
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:
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
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:
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):
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).