Subscribete al Sitio!

Intentaremos no mandarte Spam. En serio.

miércoles, 28 de junio de 2017

Unir equipos Ubuntu a un Dominio Windows

La siguiente es una guía para unir equipos de escritorio con Ubuntu a una red de dominio con Active Directory de Windows Server.


La solución que usaremos aquí son los servicios realmd y sssd aunque existen otras alternativas como samba + winbind pero escojo la primera por ser la más amplia en opciones ante entornos complicados de AD.



En este post asumiremos lo siguiente: nuestro equipo cliente tiene instalado Ubuntu Desktop 14.04 y tiene de nombre TESTARENA. El Dominio de Windows se llama dom.example.int y nuestro controlador de dominio se llama dc1.dom.example.int

Primer paso:


Verificaremos que tenemos conectividad de red desde nuestro equipo al domain controller (ver tanto la dirección ip, el dhcp y el dns).

fping dc1.dom.example.int

dc1.dom.example.int is alive
dc1.dom.example.int is alive
dc1.dom.example.int is alive

también podemos consultar por los registros SRV del DNS con el siguiente comando:

dig -t SRV _ldap._tcp.dom.example.int | grep -A2 "ANSWER SECTION"

Como podemos ver el servicio (SRV) de ldap, esta funcional en el puerto 389 para dom.example.int

;; ANSWER SECTION:
_ldap._tcp.dom.example.int. 170 IN SRV 0 100 389 dc1.dom.example.int.


Segundo Paso:


Instalar los paquetes necesarios con el siguiente comando en una ventada de terminal (todo es una línea):

sudo apt-get -y install realmd sssd sssd-tools samba-common krb5-user packagekit samba-common-bin samba-libs adcli ntp

Al terminar la descarga se inicia un subsistema de configuración. Lo primero será indicar el Default Kerberos version 5 realm, que en este caso es el nombre de nuestro dominio y presionamos "Enter".







Seguido escribiremos los nombres FQDN de nuestros controladores de dominio. Si hubiera más de uno separados por coma, pero ojo, los DC deben de estar sin problemas de sincronización a nivel de AD.



Indicamos cuál es el controlador de dominio maestro (primary o principal)


Tercer Paso:


Hay que configurar en ubuntu el servidor de tiempo NTP para que sincronice el reloj con la fecha y hora de la red. Para ello hay que editar el archivo que se encuentra en /etc/ntp.conf dejando con comentario los servidores que se encuentren allí y escribiendo nuestros servidores de dominio.

Reiniciar el servicio de ntp

sudo service ntp restart

Configurando realmd


Crear un nuevo archivo en /etc/realmd.conf o si ya existiere editarlo:

[users]
default-home = /home/%D/%U
default-shell = /bin/bash
[active-directory]
default-client = sssd
os-name = Ubuntu Desktop Linux
os-version = 14.04
[service]
automatic-install = no
[dom.example.int]
fully-qualified-names = no
automatic-id-mapping = yes
user-principal = yes
manage-system = no

Aquí practicamente estamos indicando la ruta para la ubicación de las carpetas personales de nuestros usuarios, el nombre del equipo (os-name) que se registrará en AD (ojo, no necesariamente es el nombre de nuestro equipo en Ubuntu pero recomiendo que sí lo sea y recuerda que el nombre debe de ser único en nuestra organización) y el dominio.

Yo recomiendo usar el fully-qualified-names en yes, porque te permite usar de login de usuario la notación Dominio\domainuser o domainuser@nombre-dominio para evitar problema con usuarios locales en la compu.

La opción manage-system permite aplicar las políticas de Active Directory en el equipo hasta donde es posible. En entornos Linux es complicado y pueden haber resultados inesperados por lo que recomiendo precaución. (Yo usualmente lo dejo en no, pero puede estar en Yes).

Unir el equipo al Dominio:


Ejecutamos los siguientes comandos:

sudo kinit administrator@DOM.EXAMPLE.INT

Nos pedirá la contraseña del administrador del dominio (no se verá nada al escribir la contraseña, esto es normal). Puede ser el administrador o algún usuario con permisos delegados de unir equipos al dominio.

Para unir el equipo al dominio:

sudo realm --verbose join dom.example.com \ --user-principal=TESTARENA/administrator@DOM.EXAMPLE.INT --unattended

Todo es una sola línea (posiblemente se vea con salto de línea en el navegador).

Configurando sssd:


Cuando ejecutamos el comando realm, se crea un archivo conf en /etc/sssd/sssd

Hay que editar el access_provider en el archivo /etc/sssd/sssd.conf

access_provider = ad

Reiniciar el servicio sssd:

sudo service sssd restart

Homedir para nuevos usuarios:


Agregar el modulo pam_mkhomedir como último en el archivo /etc/pam.d/common-session

...
session required pam_unix.so
session optional pam_winbind.so
session optional pam_sss.so
session optional pam_systemd.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
# end of pam-auth-update config

Verificar resolución de nombre de usuario


Para verificar si existe resolución de nombre de usuario de active directory ejecutamos el siguiente comando en la terminal:

id domainuser

Y nos debe de dar una serie de números (que pueden variar) para el uid, grupos y roles del usuario:

uid=54202865(domainuser) gid=54200513 groups=54200513






Configurar LightDM:


LightDM provee la interfaz gráfica de logueo por lo que debemos deshabilitar el usuario invitado (guest) y permitir el login manual. Para ello editamos el archivo /etc/lightdm/lightdm.conf


Si el archivo no existiera lo creamos. Si el archivo si existiera, previo le sacamos una copia de respaldo.

[SeatDefaults]
allow-guest=false
greeter-show-manual-login=true


Se puede agregar también:

greeter-session=unity-greeter
greeter-hide-users=true

Prueba Final:


Reiniciamos el equipo de Ubuntu y usamos la opción de "Login" para escribir nuestras credenciales de AD (recordando como dejaste la opción de fully-qualified-names en realmd.conf).


Si hubiera problemas hay que revisar los siguientes logs por errores:
  • /var/log/auth
  • /var/log/syslog
  • /var/log/sssd/*




0 comentarios:

Publicar un comentario