¿Cómo configurar Samba Active Directory en Linux? – 2xsoftware

Te equivocas si piensas que Active Directory y Domain Controller son palabras asociadas exclusivamente a Windows. Puede ser sorprendente para algunos, pero es posible configurar un controlador de dominio de Linux con Samba Active Directory.

La mejor oferta es que Samba Active Directory es gratis. Repasemos el proceso de instalación y configuración de un controlador de dominio de Active Directory de Samba en esta publicación.

Requisitos

Antes de instalar Samba, hay algunos requisitos que debe cumplir.

  • Un servidor Linux, como RHEL, Debian, Ubuntu y sus derivados. Esta publicación usará Ubuntu Server 20.04.
  • El servidor debe tener una dirección IP estática. El servidor en esta publicación tendrá una dirección IP de 10.0.0.6.
  • Un dominio DNS. Esta publicación utiliza un nombre de dominio que no está orientado a Internet demo.int.

Configure el nombre de host del servidor y el FQDN

Como parte de la preparación para la instalación de Samba Active Directory, configuremos la identidad del servidor en la red configurando su nombre y FQDN.

En su terminal, ejecute el siguiente comando para cambiar el nombre del servidor. En este ejemplo, el nombre del servidor es dc1.

sudo hostnamectl set-hostname dc1

A continuación, abra el archivo /etc/hosts en un editor de texto como nano.

sudo nano /etc/hosts

Agregue la entrada de host a continuación. Asegúrese de reemplazar la dirección IP, el dominio y el nombre de host.

# IP, FQDN, and hostname
10.0.0.6 dc1.demo.int dc1

El archivo se vería similar a la captura de pantalla a continuación. Guarde el archivo y salga del editor.

Confirme que los cambios de nombre abreviado y FQDN se realizaron correctamente ejecutando este comando:

# Get the short name
hostname
# Get the FQDN
hostname -f

directorio activo de ubuntu

Deshabilitar el solucionador de DNS predeterminado

En Ubuntu, el servicio resuelto por systemd administra la resolución de DNS en el sistema. Antes de instalar Samba Active Directory, queremos deshabilitar el administrador de DNS predeterminado para que podamos apuntar la resolución de DNS al servidor mismo.

Primero, deshabilite el servicio resuelto por systemd.

sudo systemctl disable --now systemd-resolved

anuncio de linux

A continuación, elimine el enlace del archivo /etc/resolv.conf a /run/systemd/resolve/stub-resolv.conf para que podamos reemplazarlo.

sudo unlink /etc/resolv.conf

Ahora creemos un nuevo archivo /etc/resolv.conf usando el editor de texto.

sudo nano /etc/resolv.conf

Rellene el archivo con los siguientes valores. Asegúrese de reemplazar la primera dirección IP del servidor de nombres con la dirección IP de su servidor y el dominio de búsqueda con su dominio DNS. Puede dejar la dirección IP del segundo servidor de nombres en 1.1.1.1, que es el sistema de resolución de DNS público de Cloudflare.

# The Samba server's static IP address
nameserver 10.0.0.6

# The fallback DNS resolver IP address
nameserver 1.1.1.1

# The Samba DNS domain
search demo.int

Guarde el archivo y salga del editor de texto.

usar directorio activo ubuntu

Haga que /etc/resolv.conf sea inmutable. Esto es para evitar que Ubuntu lo sobrescriba durante un reinicio del sistema y cualquier cambio que se escriba en él.

sudo chattr +i /etc/resolv.conf

Finalmente, reinicie el servidor.

sudo reboot

Instalar Samba

Después de reiniciar, inicie sesión en su servidor nuevamente y siga estos pasos para instalar Samba.

Actualice la memoria caché del índice de paquetes local.

sudo apt-get update

Instale Samba y sus paquetes necesarios.

sudo apt-get install -y acl attr samba samba-dsdb-modules samba-vfs-modules smbclient winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user dnsutils chrony net-tools

La configuración del paquete se inicia automáticamente. La primera página le pide que especifique el dominio Kerberos predeterminado, que es el dominio DNS. Si seguiste los pasos de preparación, el dominio ya debería estar indicado. De lo contrario, escriba el dominio y presione Entrar.

directorio activo ubuntu 21.04

En la página siguiente, ingrese el nombre de host del servidor Kerberos y presione Entrar. En este caso, solo tenemos un servidor.

directorio activo ubuntu 20.04

Escriba el nombre de su servidor cuando se le solicite el nombre del servidor administrativo y presione Entrar. Espera a que termine la instalación.

ubuntu usa el directorio activo

Ejecute el siguiente comando para deshabilitar los servicios innecesarios para el servidor del controlador de dominio de Active Directory de Samba.

sudo systemctl stop --now smbd nmbd winbind
sudo systemctl disable --now smbd nmbd winbind

ubuntu 20.04 unirse al directorio activo

El proceso de instalación crea una configuración de marcador de posición que puede interrumpir el proceso de aprovisionamiento del controlador de dominio de Active Directory de Samba. Este archivo está en /etc/samba/smb.conf. Entonces, antes de continuar, primero cambiemos el nombre de este archivo.

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

Por último, habilite el servicio samba-ad-dc, que es fundamental para ejecutar un controlador de dominio de Active Directory de Samba.

sudo systemctl unmask samba-ad-dc
sudo systemctl enable samba-ad-dc

directorio activo del servidor ubuntu

Configurar el controlador de dominio de Active Directory de Samba

La instalación de Samba no lo hace automáticamente utilizable como controlador de dominio. Hay algunos pasos más antes de que el controlador de dominio de Active Directory de Samba sea completamente funcional.

El aprovisionamiento de dominios se realiza mediante el comando samba-tool, y puede hacerlo de forma interactiva y no interactiva. Pero por el bien de esta demostración, realicemos un aprovisionamiento interactivo.

Ejecute el siguiente comando en la terminal. El parámetro –use-rfc2307 permite que las extensiones NIS manejen correctamente los atributos de usuario de Unix.

sudo samba-tool domain provision --use-rfc2307 --interactive

La herramienta le pedirá que ingrese/confirme información, como:

  • Realm — Tu dominio completo. Pulse Intro para aceptar el valor predeterminado.
  • Demostración: el nombre base del dominio. Probablemente sea mejor que conozca esto como NetBIOS. Pulse Intro para aceptar el valor predeterminado.
  • Función del servidor: la función del servidor Samba. La selección predeterminada es CC. Presione Entrar para aceptar.
  • Servidor DNS: la opción predeterminada es SAMBA_INTERNAL, lo que significa que utilizará Samba como servidor DNS. Presione Entrar.
  • Dirección IP del reenviador de DNS: por defecto, es la dirección IP interna del servidor. En este caso, ingrese una resolución de DNS pública a donde Samba reenviará las consultas que no puede manejar internamente. Por ejemplo, escriba 1.1.1.1 y presione Entrar.
  • Contraseña del administrador: la contraseña predeterminada de la cuenta del administrador de Samba. La contraseña debe tener al menos 7 caracteres.anuncio de ubuntu
  • Al final del aprovisionamiento, verá un resultado similar a la siguiente captura de pantalla.
    integración de anuncios de linux

Entonces, ¿qué ha sucedido en este punto? La herramienta samba creó el archivo de configuración de Samba en /etc/samba/smb.conf. Puede inspeccionar su contenido así.

cat /etc/samba/smb.conf

anuncio azul linux

Además, el archivo de configuración de Kerberos en /var/lib/samba/private/krb5.conf.

cat /var/lib/samba/private/krb5.conf

únete a ubuntu 20.04 en el directorio activo

Pero el archivo krb5.conf debe estar en /etc/krb5.conf para que Kerberos funcione correctamente, ¡así que vamos a moverlo!

sudo cp /var/lib/samba/private/krb5.conf /etc/krb5.conf

Inicie el servicio samba-ad-dc y confirme que se está ejecutando.

sudo systemctl start samba-ad-dc
sudo systemctl status samba-ad-dc

Debería ver que el estado de Samba AD Daemon está activo (en ejecución).

integración del directorio activo de linux

Por último, confirme el nivel de dominio del controlador de dominio de Active Directory de Samba. Debería ver que el nivel más bajo es equivalente a Windows 2008 R2.

directorio activo ubuntu samba

Verificar el directorio activo de Samba

Ahora, realicemos algunos pasos de verificación para confirmar que Samba Active Directory es completamente funcional.

Probar los recursos compartidos predeterminados

Ejecute el siguiente comando para probar si puede enumerar los recursos compartidos. Reemplace dc1.demo.int con el FQDN de su servidor Samba.

smbclient -L dc1.demo.int -N

Como puede ver a continuación, el comando enumeró los recursos compartidos predeterminados.

directorio activo ubuntu 20.04

A continuación, pruebe si la cuenta de administrador puede autenticarse y enumerar el contenido del recurso compartido sysvol. Escriba la contraseña de la cuenta de administrador cuando se le solicite.

smbclient //dc1.demo.int/sysvol -U Administrator -c 'ls'

agregar ubuntu al directorio activo

Verifique los registros DNS del servidor Samba

Ejecute estos comandos para confirmar que la resolución de nombres DNS funciona como se esperaba.

# Lookup the Samba Server A record
host -t A dc1.demo.int.
# Lookup the Kerberos service record
host -t SRV _kerberos._udp.demo.int.
# Lookup the LDAP service record
host -t SRV _ldap._tcp.demo.int.

conectar ubuntu al directorio activo

Probar la autenticación de Kerberos

Pruebe el inicio de sesión de la cuenta de administrador.

kinit administrator

Si se aprueba la autenticación, verá un mensaje similar al siguiente.

ubuntu 20.04 directorio activo samba

Enumere los vales de Kerberos almacenados en caché.

klist

anuncio azul de ubuntu

Crear un nuevo usuario

Ahora, vamos a crear un nuevo usuario en Samba Active Directory llamado devuser1 con Polyester@Left2@Stimuli como contraseña.

sudo samba-tool user create devuser1 Polyester@Left2@Stimuli

directorio activo ubuntu 21

Enumere todos los usuarios y confirme que devuser1 está en la lista.

sudo samba-tool user list

ubuntu conectarse al directorio activo

Unir una computadora con Windows al dominio

Si tiene una PC con Windows que desea unir al dominio de Active Directory de Samba, siga estos pasos.

Abra el administrador de PowerShell en la computadora con Windows y ejecute este comando para encontrar el nombre y el índice del adaptador de red.

Get-NetAdapter -Name "*"

azure directorio activo linux

Una vez que conozca el índice del adaptador de red, ejecute este comando para cambiar la dirección IP del servidor DNS y señalarlos al servidor Samba. Asegúrese de reemplazar los valores -InterfaceIndex y -ServerAddresses según corresponda.

Set-DNSClientServerAddress `
-InterfaceIndex 6 `
-ServerAddresses '10.0.0.6','1.1.1.1'

Confirme que la computadora puede resolver el nombre y la dirección IP del servidor Samba.

Resolve-DnsName -Type A -Name dc1.demo.int

unir samba al directorio activo

Ahora que la computadora sabe cómo ubicar el servidor Samba Active Directory, agreguemos la computadora como miembro del dominio.

Add-Computer -DomainName 'demo.int' -Restart

Escriba el nombre y la contraseña de la cuenta de administrador y haga clic en Aceptar. Si el proceso de unión al dominio es exitoso, la computadora se reiniciará automáticamente.

directorio activo ubuntu 20

Mientras espera que la computadora arranque en Windows, ejecute el siguiente comando en la terminal de Ubuntu.

sudo samba-tool computer list

Este comando mostrará una lista de todas las computadoras miembro, y debería ver la PC con Windows a la que se unió recientemente.

samba directorio activo ubuntu 20.04

Ahora, inicie sesión en Windows con la cuenta de usuario del dominio (devuser1@demo.int).

ubuntu 21.04 unirse al directorio activo

Una vez que haya iniciado sesión, abra PowerShell y ejecute los siguientes comandos para confirmar el contexto de inicio de sesión del usuario.

$env:USERDNSDOMAIN
whoami
query user

directorio activo de powershell de linux

¡Eso es todo! Se unió con éxito a una computadora con Windows al dominio de Samba Active Directory e inició sesión como usuario del dominio.

Valora este artculo post

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *