Integre Ubuntu 16.04 a AD como miembro de dominio con Samba y Winbind - Parte 8
Este tutorial describe cómo unir una máquina Ubuntu a un dominio Samba4 Active Directory para autenticar cuentas AD con ACL local para archivos y directorios o para crear y asignar recursos compartidos de volumen para usuarios de controladores de dominio (actuar como servidor de archivos).
Requisitos:
- Cree una infraestructura de Active Directory con Samba4 en Ubuntu
Paso 1: Configuraciones iniciales para unir Ubuntu a Samba4 AD
1. Antes de comenzar a unir un host Ubuntu a un DC de Active Directory, 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 de IP adecuadas. La configuración más importante aquí son las direcciones IP 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 nombre de dominio adecuados, como se ilustra en la siguiente captura de pantalla.
Además, asegúrese de que se agreguen las mismas direcciones IP DNS y el nombre de dominio 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 será consultado por todas las máquinas integradas en el reino.
3. Reinicie los servicios de red o reinicie la máquina para aplicar las nuevas configuraciones de red. Emita un comando ping contra su nombre de dominio para probar si la resolución DNS funciona como se esperaba.
El AD DC debería reproducir 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 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 está representada por la sincronización horaria. Instale el paquete ntpdate, consulte y sincronice la hora 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 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 solicitar que ingrese el nombre de su dominio predeterminado. Utilice el nombre de su dominio en mayúsculas y presione la tecla Enter para continuar con la instalación.
6. Después de que todos los paquetes terminen de instalarse, pruebe la autenticación Kerberos con una cuenta administrativa de AD y enumere el ticket emitiendo los siguientes comandos.
kinit ad_admin_user
klist
Paso 2: Únase a Ubuntu en 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.
Haga 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 dns forwarder 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 usuario 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 debe reiniciar todos los demonios de samba y detener y eliminar 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. Una la máquina Ubuntu a Samba4 AD DC emitiendo el siguiente comando. Utilice el nombre de una cuenta de AD DC con privilegios de administrador para que el enlace al dominio funcione como se esperaba.
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 Computers. Aquí, su máquina unida a Ubuntu debería aparecer en la lista.
Paso 3: configurar la autenticación de cuentas AD
11. Para realizar la autenticación de 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 de grupo como se ilustra en el siguiente extracto.
passwd: compat winbind
group: compat winbind
12. Para probar si la máquina Ubuntu se integró exitosamente al reino, ejecute el comando wbinfo para enumerar las cuentas y grupos del dominio.
wbinfo -u
wbinfo -g
13. Además, 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 una máquina 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 cree 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 los usuarios de dominio autenticados.
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
16. Para que los usuarios de Active Directory puedan cambiar la contraseña desde la línea de comandos en Linux, abra /etc/pam.d/common-password archivo y elimine la declaración use_authtok de la línea de contraseña para finalmente lucir como en el siguiente extracto.
password [success=1 default=ignore] pam_winbind.so try_first_pass
17. Para autenticarse en un host Ubuntu con una cuenta Samba4 AD, utilice el parámetro de nombre de usuario del dominio después del comando su –. Ejecute el comando id para obtener información adicional sobre la cuenta AD.
su - your_ad_user
Utilice el comando pwd para ver el directorio actual del usuario de su dominio y el comando passwd si desea cambiar la contraseña.
18. Para usar una cuenta de dominio con privilegios de root en su máquina Ubuntu, debe agregar el nombre de usuario de AD al grupo del sistema 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 root.
19. Para agregar privilegios de root para un grupo de dominio, abra y edite el archivo /etc/sudoers usando el comando visudo y agregue la siguiente línea como se ilustra en la siguiente captura de pantalla.
%YOUR_DOMAIN\\your_domain\ group ALL=(ALL:ALL) ALL
Utilice barras invertidas para escapar de los espacios contenidos en el nombre de su grupo de dominio o para escapar de la primera barra invertida. En el ejemplo anterior, el grupo de dominio para el dominio TECMINT se denomina “administradores de dominio”.
El símbolo 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 de dominio, debe modificar el administrador de pantalla 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 realizar inicios de sesión en Ubuntu Desktop con una cuenta de dominio usando el formato tu_dominio_usuario o tu_dominio_nombre de usuario@tu_dominio.tld o tu_dominio\tu_dominio_nombre de usuario. .