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.
nano /etc/hostname
Image may be NSFW.Clik here to view.

Configuramos el archivo hosts añadiendo los datos de la estación, del controlador de dominio y del dominio.
nano /etc/hosts
Image may be NSFW.Clik here to view.

Es necesario modificar también el archivo resolv.conf
nano /etc/resolv.conf
Image may be NSFW.Clik here to view.

Para finalizar con la configuración de red, editamos el archivo interfaces
nano /etc/network/interfaces
Image may be NSFW.Clik here to view.

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:
archivo_krb5confFinalmente 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
Image may be NSFW.Clik here to view.

Testeamos que la configuración es correcta con el comando
testparm
Image may be NSFW.Clik here to view.

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
Image may be NSFW.Clik here to view.

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
pam-auth-update
Image may be NSFW.Clik here to view.

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
ntpdate zorrasbinarias.fem
Image may be NSFW.Clik here to view.

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
Clik here to view.

Ahora sí, unimos el host al dominio.
net ads join -U Administrador
Clik here to view.

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
Clik here to view.

También podemos ver los usuarios de dominio mapeados como usuarios de Ubuntu con el comando
getent passwd
Clik here to view.

Si vamos al controlador de dominio podemos ver que el equipo se ha integrado.
Image may be NSFW.Clik here to view.

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.
Image may be NSFW.Clik here to view.

En el puntero hay que añadir los datos de nuestro equipo cliente.
Image may be NSFW.Clik here to view.

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.
%ZORRASBINARIAS\admins.\ del\ dominio ALL=(ALL:ALL) ALL
Clik here to view.

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.
Image may be NSFW.Clik here to view.

Clik here to view.
