Vamos a ver cómo hacer una integración manual de un cliente Ubuntu Desktop utilizando Samba y Winbind en un dominio Active Directory creado con un Windows 2012R2 en nivel 2008R2. Esta guía también sirve para integrar Ubuntu Server ignorando el ultimo paso del tutorial.
Primero unos datos orientativos:
- Nombre corto de máquina a integrar: UDSK-ZB
- Nombre largo de máquina a integrar: udsk-zb.zorrasbinarias.fem
- Configuración de red de máquina a integrar: 10.5.2.214/24 GW 10.5.0.1
- Nombre corto de controlador de dominio: DC2012-ZB
- Nombre largo de controlador de dominio: dc2012-zb.zorrasbinarias.fem
- IP de controlador de dominio: 10.5.2.212
- Dominio AD (NetBIOS): ZORRASBINARIAS
- Dominio AD (DNS): zorrasbinarias.fem Usuario administrador del dominio: Administrador
Configuración de red
Para comenzar con la integración es importante revisar que el hostname es el correcto.
Configuramos el archivo hosts añadiendo los datos de la estación, del controlador de dominio y del dominio.
Es necesario modificar también el archivo resolv.conf
nano /etc/resolv.conf
Para finalizar con la configuración de red, editamos el archivo interfaces
Reiniciamos la red para que se apliquen los cambios realizados.
service networking restart
Instalación y configuración de Kerberos
Se instala Kerberos; el San Pedro de GNU/Linux. Es quien entrega la llave para certificar la identidad del cliente y el servidor. Un protocolo de autenticación.
apt install krb5-config
Una vez instalado realizamos una copia de seguridad de su archivo de configuración.
cp /etc/krb5.conf /etc/krb5.conf.bak
Ahora que tenemos la copia de seguridad, editamos el archivo borrando todo su contenido y añadiendo el reino Kerberos correspondiente.
nano /etc/krb5.conf
Un ejemplo de configuración es el siguiente, solo hay que sustituir el texto en negrita:
Finalmente instalamos algunas utilidades Kerberos.
apt install krb5-user
Instalación y configuración de Samba
Samba es la implementación libre del protocolo de archivos compartidos de Windows para sistemas de tipo UNIX. Para instalar Samba ejecutamos el comando
apt install samba
Y hacemos backup de su archivo de configuración
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
Lo editamos borrando todo su contenido y añadiendo el correspondiente.
nano /etc/samba/smb.conf
Un ejemplo de configuración sería:
[global]
workgroup = ZORRASBINARIAS
realm = ZORRASBINARIAS.FEM
security = ADS
idmap config * : range = 10000-20000
idmap config * : backend = tdb
template shell = /bin/bash
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
Testeamos que la configuración es correcta con el comando
Instalación y configuración de Winbind
Winbind es quien permite loguearse a los clientes GNU/Linux en el dominio AD sin necesidad de tener una cuenta local. Instalamos winbind y las librerías necesarias para la integración.
apt install winbind
apt install libpam-winbind
apt install libnss-winbind
Vamos a configurar el Name Service Switch, para ello hay que editar el archivo nsswitch.conf y añadir la palabra winbind en las líneas passwd y group tal y como se muestra en la imagen. Pero antes creamos un backup del archivo con
cp /etc/nsswitch.conf /etc/nsswitch.conf.bak
Configuración de PAM
PAM (Pluggable Authentication Modules) es quien determina si un usuario se puede autenticar o no. Antes de modificar PAM hacemos una copia de seguridad de sus archivos de configuración.
cp /etc/pam.d/common-account /etc/pam.d/common-account.bak
cp /etc/pam.d/common-auth /etc/pam.d/common-auth.bak
cp /etc/pam.d/common-password /etc/pam.d/common-password.bak
cp /etc/pam.d/common-session /etc/pam.d/common-session.bak
Ahora ejecutamos el comando
Hay que seleccionar las opciones 2 y 4 si no lo están por defecto, para permitir autenticación con AD por medio de Winbind y configuramos éste para que cree el directorio personal de usuario la primera vez que se loguee.
Sincronización horaria
Para evitar problemas durante la integración es recomendable sincronizar el cliente con el dominio, para ello se necesita el paquete ntpdate
apt install ntpdate
Se consulta con
ntpdate –q zorrasbinarias.fem
Y se sincroniza con
Configuración y comprobación del estado de los servicios
Antes de proceder con la integración se pueden comprobar los tres servicios de Samba necesarios para realizarla.
service smbd status
service nmbd status
service winbind status
Es importante reiniciarlos antes de la integración.
service smbd restart
service nmbd restart
service winbind restart
Y finalmente se detiene el servicio samba-ad-dc y se deshabilita el arranque automático cuando inicie el sistema.
systemctl stop samba-ad-dc
systemctl disable samba-ad-dc
Integración
Generamos el ticket Kerberos al usuario que se utilizará para integrar el equipo en el dominio.
kinit Administrador@ZORRASBINARIAS.FEM
Comprobamos que el ticket se ha creado correctamente ejecutando
klist
Ahora sí, unimos el host al dominio.
net ads join -U Administrador
Una vez intengrado correctamente reiniciamos nuevamente los servicios Samba.
service smbd restart
service nmbd restart
service winbind restart
Podemos comprobar la integración con
net ads info
net ads testjoin
También podemos ver los usuarios de dominio mapeados como usuarios de Ubuntu con el comando
getent passwd
Si vamos al controlador de dominio podemos ver que el equipo se ha integrado.
Pero que aparezca en el árbol no es una prueba concluyente de que se ha integrado de forma correcta, es necesario crear el puntero PTR de la zona inversa en el servidor DNS.
En el puntero hay que añadir los datos de nuestro equipo cliente.
Administración de Ubuntu con cuentas del dominio
Para usar una cuenta de dominio con privilegios de administración en Ubuntu, es necesario añadir el usuario al grupo sudo.
usermod -aG sudo Administrador
Y si quisiéramos que los privilegios de administración los tuviese un grupo del dominio completo editaremos el archivo sudoers para añadirlo. En este caso añado el grupo admins del dominio con la siguiente línea.
%ZORRASBINARIASadmins. del dominio ALL=(ALL:ALL) ALL
Configuración de LightDM
Al integrar una versión desktop de Ubuntu hay que modificar el LightDM display manager para poder iniciar sesión con los usuarios del dominio.
Hacemos una copia de seguridad del archivo 50-ubuntu.conf
cp /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf.bak
Lo abrimos
nano /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
Y añadimos la siguiente línea:
greeter-show-manual-login=true
Ya podemos iniciar sesión con usuarios del dominio.
Gran post jess, muy completo y trabajado ;) la verdad es que samba y winbind son autenticas maravillas, que permiten una integracion fluida y sin problemas.
Gracias por compartir
Muy bueno Jess. Y muy útil
La información que compartió es muy buena, ¿hay alguna información interesante como esta?
Me agrada ver que aun funciona este metodo. Yo lo he usado, con versiones servers
Lo unico que quisiera, si podes, es saber como hacer la ultima parte, para un escritorio KDE. ¿Podrias hacerlo?
Gracias!
Me dice elbinario que esta maravilla de post la escribió unas tal zorrasbinarias, por lo comentarios veo que lo escribió una tal Jess.
¿La deriva ideológica os hace impersonalizar a los autores? ¿Desde cuando en elbinario escriben las ideologías y no las personas?
¿Estáis restando valor a los autores para darselo a vuestros intereses ocultos? Todo apunta a que sí.
Buenas. He logrado entrar al dominio pero no tengo internet. TIenen idea de que puede ser?
PUedo hacer ping a los DNSs, tambien al GW y el DNS me responde las consultas con DIG. Pero no tengo internet. En otras maquinas con el mismo ususario navego sin problemas.
Desde donde puedo debuggear esto en el AD?
Si en tu AD estas usando un proxy para salir a internet necesitas configurar ese mismo proxy en tu equipo Linux, para configurarlo en el modo grafico basicamente hay que ponerlo en el navegador, indicando direccion y puerto, y luego te pedira las credenciales de AD. Para configurarlo en apt-get por ejemplo tienes que usar el fichero apt.conf mirate ejemplos por internet.
Buenas tardes,
2 consultas,
el fichero de configuración de samba (smb.conf), ¿para qué versión de samba es?
y la otra, me da error al instalar winbind, de hecho, no se me instala.
¿Me sabríais decir cómo sería el contenido del fichero smb.conf para un samba v. 4.7.6?