Cómo administrar la infraestructura AD de Samba4 desde la línea de comandos de Linux - Parte 2


Este tutorial cubrirá algunos comandos diarios básicos que necesita usar para administrar la infraestructura del controlador de dominio Samba4 AD, como agregar, eliminar, deshabilitar o enumerar usuarios y grupos.

También veremos cómo administrar la política de seguridad del dominio y cómo vincular a los usuarios de AD a la autenticación PAM local para que los usuarios de AD puedan realizar inicios de sesión locales en el controlador de dominio de Linux.

  1. Cree una infraestructura AD con Samba4 en Ubuntu 16.04 - Parte 1
  2. Administrar la infraestructura de Active Directory de Samba4 desde Windows10 a través de RSAT - Parte 3
  3. Administrar el DNS del controlador de dominio AD Samba4 y la política de grupo desde Windows - Parte 4

Paso 1: administrar Samba AD DC desde la línea de comandos

1. Samba AD DC se puede administrar a través de la utilidad de línea de comandos samba-tool que ofrece una excelente interfaz para administrar su dominio.

Con la ayuda de la interfaz de la herramienta samba, puede administrar directamente usuarios y grupos de dominio, políticas de grupo de dominio, sitios de dominio, servicios DNS, replicación de dominio y otras funciones críticas de dominio.

Para revisar toda la funcionalidad de samba-tool simplemente escriba el comando con privilegios de root sin ninguna opción o parámetro.

# samba-tool -h

2. Ahora, comencemos a usar la utilidad samba-tool para administrar Samba4 Active Directory y administrar a nuestros usuarios.

Para crear un usuario en AD, utilice el siguiente comando:

# samba-tool user add your_domain_user

Para agregar un usuario con varios campos importantes requeridos por AD, use la siguiente sintaxis:

--------- review all options --------- 
# samba-tool user add -h  
# samba-tool user add your_domain_user --given-name=your_name --surname=your_username [email protected] --login-shell=/bin/bash

3. Se puede obtener una lista de todos los usuarios del dominio AD de samba emitiendo el siguiente comando:

# samba-tool user list

4. Para eliminar un usuario de dominio AD de samba, use la siguiente sintaxis:

# samba-tool user delete your_domain_user

5. Restablezca la contraseña de un usuario de dominio de samba ejecutando el siguiente comando:

# samba-tool user setpassword your_domain_user

6. Para deshabilitar o habilitar una cuenta de usuario de AD de samba, use el siguiente comando:

# samba-tool user disable your_domain_user
# samba-tool user enable your_domain_user

7. Asimismo, los grupos de samba se pueden administrar con la siguiente sintaxis de comandos:

--------- review all options --------- 
# samba-tool group add –h  
# samba-tool group add your_domain_group

8. Elimine un grupo de dominio de samba emitiendo el siguiente comando:

# samba-tool group delete your_domain_group

9. Para mostrar todos los grupos de dominios de samba, ejecute el siguiente comando:

# samba-tool group list

10. Para enumerar todos los miembros del dominio samba en un grupo específico, use el comando:

# samba-tool group listmembers "your_domain group"

11. Se puede agregar/eliminar un miembro de un grupo de dominio de samba emitiendo uno de los siguientes comandos:

# samba-tool group addmembers your_domain_group your_domain_user
# samba-tool group remove members your_domain_group your_domain_user

12. Como se mencionó anteriormente, la interfaz de línea de comandos de la herramienta samba también se puede usar para administrar la política y la seguridad de su dominio samba.

Para revisar la configuración de la contraseña de su dominio samba, use el siguiente comando:

# samba-tool domain passwordsettings show

13. Para modificar la política de contraseñas del dominio samba, como el nivel de complejidad de la contraseña, la antigüedad de la contraseña, la longitud, la cantidad de contraseñas antiguas que se deben recordar y otras características de seguridad necesarias para un controlador de dominio, utilice la siguiente captura de pantalla como guía.

---------- List all command options ---------- 
# samba-tool domain passwordsettings -h 

Nunca use las reglas de la política de contraseñas como se ilustra arriba en un entorno de producción. Los ajustes anteriores se utilizan solo con fines de demostración.

Paso 2: Autenticación local de Samba mediante cuentas de Active Directory

14. De forma predeterminada, los usuarios de AD no pueden realizar inicios de sesión locales en el sistema Linux fuera del entorno de Samba AD DC.

Para iniciar sesión en el sistema con una cuenta de Active Directory, debe realizar los siguientes cambios en el entorno de su sistema Linux y modificar Samba4 AD DC.

Primero, abra el archivo de configuración principal de samba y agregue las siguientes líneas, si faltan, como se ilustra en la siguiente captura de pantalla.

$ sudo nano /etc/samba/smb.conf

Asegúrese de que las siguientes declaraciones aparezcan en el archivo de configuración:

winbind enum users = yes
winbind enum groups = yes

15. Después de haber realizado los cambios, use la utilidad testparm para asegurarse de que no se encuentren errores en el archivo de configuración de samba y reinicie los demonios samba emitiendo el siguiente comando.

$ testparm
$ sudo systemctl restart samba-ad-dc.service

16. A continuación, necesitamos modificar los archivos de configuración de PAM locales para que las cuentas de Samba4 Active Directory puedan autenticarse y abrir una sesión en el sistema local y crear un directorio de inicio para los usuarios en el primer inicio de sesión.

Use el comando pam-auth-update para abrir el indicador de configuración de PAM y asegúrese de habilitar todos los perfiles de PAM usando la tecla [espacio] como se ilustra en la siguiente captura de pantalla.

Cuando termine, presione la tecla [Tab] para ir a Aceptar y aplicar los cambios.

$ sudo pam-auth-update

17. Ahora, abra el archivo /etc/nsswitch.conf con un editor de texto y agregue la declaración winbind al final de la contraseña y las líneas de grupo como se ilustra en la captura de pantalla siguiente.

$ sudo vi /etc/nsswitch.conf

18. Finalmente, edite el archivo /etc/pam.d/common-password, busque la línea de abajo como se ilustra en la captura de pantalla de abajo y elimine la declaración use_authtok.

Esta configuración asegura que los usuarios de Active Directory puedan cambiar su contraseña desde la línea de comandos mientras están autenticados en Linux. Con esta configuración activada, los usuarios de AD autenticados localmente en Linux no pueden cambiar su contraseña desde la consola.

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

Elimine la opción use_authtok cada vez que se instalen y apliquen actualizaciones de PAM a los módulos de PAM o cada vez que ejecute el comando pam-auth-update.

19. Los binarios de Samba4 vienen con un demonio winbindd incorporado y habilitado por defecto.

Por esta razón, ya no es necesario que habilite y ejecute por separado el demonio winbind proporcionado por el paquete winbind desde los repositorios oficiales de Ubuntu.

En caso de que se inicie el servicio winbind antiguo y obsoleto en el sistema, asegúrese de deshabilitarlo y detener el servicio emitiendo los siguientes comandos:

$ sudo systemctl disable winbind.service
$ sudo systemctl stop winbind.service

Aunque ya no necesitamos ejecutar el antiguo demonio winbind, aún necesitamos instalar el paquete Winbind desde los repositorios para poder instalar y usar la herramienta wbinfo.

La utilidad Wbinfo se puede utilizar para consultar usuarios y grupos de Active Directory desde el punto de vista del demonio winbindd.

Los siguientes comandos ilustran cómo consultar usuarios y grupos de AD mediante wbinfo.

$ wbinfo -g
$ wbinfo -u
$ wbinfo -i your_domain_user

20. Además de la utilidad wbinfo, también puede usar la utilidad de línea de comandos getent para consultar la base de datos de Active Directory desde las bibliotecas de cambio de servicio de nombres que están representadas en el archivo /etc/nsswitch.conf.

Canalice el comando getent a través de un filtro grep para limitar los resultados con respecto solo a su usuario de dominio de AD o base de datos de grupo.

# getent passwd | grep TECMINT
# getent group | grep TECMINT

Paso 3: Inicie sesión en Linux con un usuario de Active Directory

21. Para autenticarse en el sistema con un usuario de AD de Samba4, simplemente use el parámetro de nombre de usuario de AD después del comando su - .

En el primer inicio de sesión, se mostrará un mensaje en la consola que le notifica que se ha creado un directorio de inicio en la ruta del sistema /home/$DOMAIN/ con la melena de su nombre de usuario de AD.

Utilice el comando id para mostrar información adicional sobre el usuario autenticado.

# su - your_ad_user
$ id
$ exit

22. Para cambiar la contraseña de un usuario de AD autenticado, escriba el comando passwd en la consola después de haber iniciado sesión correctamente en el sistema.

$ su - your_ad_user
$ passwd

23. De forma predeterminada, a los usuarios de Active Directory no se les otorgan privilegios de root para realizar tareas administrativas en Linux.

Para otorgar poderes de root a un usuario de AD, debe agregar el nombre de usuario al grupo sudo local emitiendo el siguiente comando.

Asegúrese de incluir el dominio, la barra oblicua y el nombre de usuario de AD con comillas simples ASCII.

# usermod -aG sudo 'DOMAIN\your_domain_user'

Para probar si el usuario de AD tiene privilegios de root en el sistema local, inicie sesión y ejecute un comando, como apt-get update, con permisos sudo.

# su - tecmint_user
$ sudo apt-get update

24. En caso de que desee agregar privilegios de root para todas las cuentas de un grupo de Active Directory, edite el archivo/etc/sudoers usando el comando visudo y agregue la línea siguiente después de la línea de privilegios de root, como se ilustra en la captura de pantalla siguiente:

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

Preste atención a la sintaxis de los sudoers para que no se rompan las cosas.

El archivo Sudoers no maneja muy bien el uso de comillas ASCII, así que asegúrese de usar % para indicar que se está refiriendo a un grupo y use una barra invertida para escapar de la primera barra después del dominio. name y otra barra invertida para escapar de los espacios si el nombre de su grupo contiene espacios (la mayoría de los grupos integrados de AD contienen espacios por defecto). Además, escribe el reino con mayúsculas.

¡Eso es todo por ahora! La administración de la infraestructura AD de Samba4 también se puede lograr con varias herramientas del entorno de Windows, como ADUC, DNS Manager, GPM u otras, que se pueden obtener instalando el paquete RSAT desde la página de descarga de Microsoft.

Para administrar Samba4 AD DC a través de las utilidades RSAT, es absolutamente necesario unir el sistema Windows a Samba4 Active Directory. Este será el tema de nuestro próximo tutorial, hasta entonces, estad atentos a TecMint.