Integrar Ubuntu 16.04 a AD como miembro de dominio con Samba y Winbind - Parte 8


Este tutorial describe cómo unirse a una máquina Ubuntu en un dominio Samba4 Active Directory para autenticar cuentas AD con ACL locales para archivos y directorios o para crear y asignar volúmenes compartidos para los usuarios del controlador de dominio (actuar como servidor de archivos).

  1. Create an Active Directory Infrastructure with Samba4 on Ubuntu

Paso 1: Configuraciones iniciales para unir Ubuntu a Samba4 AD

1. Antes de comenzar a unir un Ubuntu a un Active Directory DC , debe asegurarse de que algunos servicios estén configurados correctamente en la máquina local.

Un aspecto importante de su máquina representa el nombre de host . Configure un nombre de máquina adecuado antes de unirse al dominio con la ayuda del comando hostnamectl o editando manualmente el archivo /etc/hostname .

# hostnamectl set-hostname your_machine_short_name
# cat /etc/hostname
# hostnamectl

2. En el siguiente paso, abra y edite manualmente la configuración de red de su máquina con las configuraciones IP adecuadas. La configuración más importante aquí son las direcciones IP de DNS que apuntan a su controlador de dominio.

Edite el archivo /etc/network/interfaces y agregue la declaración dns-nameservers con sus direcciones IP de AD y su nombre de dominio, como se ilustra en la captura de pantalla a continuación.

Además, asegúrese de que las mismas direcciones IP de DNS y el nombre de dominio se agreguen al archivo /etc/resolv.conf .

En la captura de pantalla anterior, 192.168.1.254 y 192.168.1.253 son las direcciones IP de Samba4 AD DC y Tecmint.lan representa el nombre del dominio AD que todas las máquinas integradas en el reino consultarán.

3. Reinicie los servicios de red o reinicie la máquina para aplicar las nuevas configuraciones de red. Ejecute un comando ping contra su nombre de dominio para probar si la resolución de DNS funciona como se esperaba.

El AD DC debería reproducirse con su FQDN. En caso de que haya configurado un servidor DHCP en su red para asignar automáticamente la configuración de IP para sus hosts de LAN, asegúrese de agregar direcciones IP de AD DC a las configuraciones DNS del servidor DHCP.

# systemctl restart networking.service
# ping -c2 your_domain_name

4. La última configuración importante requerida se representa mediante la sincronización horaria. Instale el paquete ntpdate , la consulta y la hora de sincronización con AD DC emitiendo los siguientes comandos.

$ sudo apt-get install ntpdate
$ sudo ntpdate -q your_domain_name
$ sudo ntpdate your_domain_name

5. En el siguiente paso, instale el software requerido por la máquina de Ubuntu para integrarse completamente en el dominio ejecutando el siguiente comando.

$ sudo apt-get install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind

Mientras se instalan los paquetes de Kerberos, se le debe pedir que ingrese el nombre de su reino predeterminado. Utilice el nombre de su dominio con mayúsculas y presione la tecla Intro para continuar con la instalación.

6. Una vez que todos los paquetes hayan finalizado la instalación, pruebe la autenticación de Kerberos en una cuenta administrativa de AD y haga una lista del ticket emitiendo los siguientes comandos.

# kinit ad_admin_user
# klist

Paso 2: Únete a Ubuntu a Samba4 AD DC

7. El primer paso para integrar la máquina Ubuntu en el dominio Samba4 Active Directory es editar el archivo de configuración de Samba.

Realice una copia de seguridad del archivo de configuración predeterminado de Samba, proporcionado por el administrador de paquetes, para comenzar con una configuración limpia ejecutando los siguientes comandos.

# mv /etc/samba/smb.conf /etc/samba/smb.conf.initial
# nano /etc/samba/smb.conf 

En el nuevo archivo de configuración de Samba agregue las siguientes líneas:

[global]
        workgroup = TECMINT
        realm = TECMINT.LAN
        netbios name = ubuntu
        security = ADS
        dns forwarder = 192.168.1.1

idmap config * : backend = tdb        
idmap config *:range = 50000-1000000
	
   template homedir = /home/%D/%U
   template shell = /bin/bash
   winbind use default domain = true
   winbind offline logon = false
   winbind nss info = rfc2307
   winbind enum users = yes
   winbind enum groups = yes

  vfs objects = acl_xattr
  map acl inherit = Yes
  store dos attributes = Yes

Reemplace las variables grupo de trabajo , reino , nombre de netbios y reenviador de DNS con su propia configuración personalizada.

El parámetro winbind use default domain hace que el servicio winbind trate cualquier nombre de usuario de AD no calificado como usuarios de AD. Debe omitir este parámetro si tiene nombres de cuentas del sistema local que se superponen a las cuentas de AD.

8. Ahora debes reiniciar todos los demonios de samba y detener y eliminar los servicios innecesarios y habilitar los servicios de samba en todo el sistema emitiendo los siguientes comandos.

$ sudo systemctl restart smbd nmbd winbind
$ sudo systemctl stop samba-ad-dc
$ sudo systemctl enable smbd nmbd winbind

9. Únase a la máquina de Ubuntu a Samba4 AD DC emitiendo el siguiente comando. Use el nombre de una cuenta de AD DC con privilegios de administrador para que el enlace al dominio funcione como se espera.

$ sudo net ads join -U ad_admin_user

10. Desde una máquina Windows con herramientas RSAT instaladas, puede abrir AD UC y navegar al contenedor Computadoras . Aquí, su máquina unida a Ubuntu debe aparecer en la lista.

Paso 3: Configurar la autenticación de cuentas AD

11. Para realizar la autenticación de las cuentas de AD en la máquina local, debe modificar algunos servicios y archivos en la máquina local.

Primero, abra y edite el archivo de configuración The Name Service Switch ( NSS ).

$ sudo nano /etc/nsswitch.conf

A continuación, agregue el valor de Winbind para las líneas de contraseña y grupo, como se ilustra en el siguiente extracto.

passwd:         compat winbind
group:          compat winbind

12. Para probar si la máquina de Ubuntu se integró correctamente al comando de ejecución wbinfo para enumerar las cuentas de dominio y grupos.

$ wbinfo -u
$ wbinfo -g

13. También, verifique el módulo Winbind nsswitch emitiendo el comando getent y canalice los resultados a través de un filtro como grep para limitar la salida solo para Usuarios o grupos de dominio específicos.

$ sudo getent passwd| grep your_domain_user
$ sudo getent group|grep 'domain admins'

14. Para autenticarse en la máquina de Ubuntu con cuentas de dominio, debe ejecutar el comando pam-auth-update con privilegios de root y agregar todas las entradas necesarias para el servicio winbind y para Crea automáticamente directorios de inicio para cada cuenta de dominio en el primer inicio de sesión.

Verifique todas las entradas presionando la tecla [espacio] y presione ok para aplicar la configuración.

$ sudo pam-auth-update

15. En los sistemas Debian, debe editar manualmente el archivo /etc/pam.d/common-account y la siguiente línea para crear automáticamente hogares para usuarios de dominio autenticados.

session    required    pam_mkhomedir.so    skel=/etc/skel/    umask=0022

16. Para que Active Directory los usuarios puedan cambiar la contraseña desde la línea de comandos en Linux, abra /etc/pam.d/common-password archiva y elimina la declaración use_authtok de la línea de contraseña para ver finalmente el siguiente extracto.

password       [success=1 default=ignore]      pam_winbind.so try_first_pass

17. Para autenticar en el host de Ubuntu con una cuenta AD de Samba4, use el parámetro de nombre de usuario del dominio después de su - comando. Ejecute el comando id para obtener información adicional sobre la cuenta de AD.

$ su - your_ad_user

Use el comando pwd para ver el directorio actual del usuario del dominio y el comando passwd si desea cambiar la contraseña.

18. Para usar una cuenta de dominio con privilegios de raíz en su máquina Ubuntu, debe agregar el nombre de usuario de AD al grupo de sistemas sudo emitiendo el siguiente comando:

$ sudo usermod -aG sudo your_domain_user

Inicie sesión en Ubuntu con la cuenta de dominio y actualice su sistema ejecutando el comando apt-get update para verificar si el usuario del dominio tiene privilegios de raíz.

19. Para agregar privilegios de raíz para un grupo de dominio, abra el archivo /etc/sudoers de finalización final usando el comando visudo y agregue la siguiente línea como se ilustra en la captura de pantalla de abajo.

%YOUR_DOMAIN\your_domain\  group       		 ALL=(ALL:ALL) ALL

Use barras invertidas para escapar de los espacios contenidos en el nombre de su grupo de dominio o para escapar de la primera barra diagonal inversa. En el ejemplo anterior, el grupo de dominios para el reino TECMINT se denomina “ administradores de dominio ”.

El símbolo de signo de porcentaje anterior (%) indica que nos referimos a un grupo, no a un nombre de usuario.

20. En caso de que esté ejecutando la versión gráfica de Ubuntu y desee iniciar sesión en el sistema con un usuario del dominio, debe modificar el administrador de pantalla de LightDM editando /usr/share/lightdm /lightdm.conf.d/50-ubuntu.conf , agregue las siguientes líneas y reinicie la máquina para reflejar los cambios.

greeter-show-manual-login=true
greeter-hide-users=true

Ahora debería poder iniciar sesión en Ubuntu Desktop con una cuenta de dominio usando su_dominio_dominio o [correo electrónico protegido] _dominio.tld o su_dominio \ su_dominio_usuario formato.