Cómo autenticar a un usuario de Linux utilizando el Microsoft Active Directory

Cómo autenticar a un usuario de Linux utilizando el Microsoft Active Directory
Active Directory (AD) es el servicio de directorio de Microsoft, y se usa ampliamente para consolidar la autenticación de Windows y Linux en una red híbrida que se ejecuta en ambos sistemas operativos.

De que hablaremos?

En este artículo, veremos cómo autenticar a un usuario de Linux utilizando el Microsoft Active Directory. Para este tutorial, usamos el servidor de Windows 2016 y Ubuntu 20.04 OS.

Prerrequisitos:

  1. No entraremos en detalles sobre el activo directorio, incluida su funcionalidad, configuración y mantenimiento. Para esta guía, asumiremos que sabe cómo configurar un dominio de Active Directory y tiene acceso a las credenciales requeridas.
  2. El controlador de dominio, el Windows Server 2016 en este caso, está configurado como un resolución DNS primario y autorizado para el dominio.
  3. El tiempo está configurado correctamente y sincronizado en ambos sistemas. Se puede lograr a través de servicios como Chrony o NTP.
  4. Para nuestro tutorial, usamos la Company.dominio local.

Configuración del nombre de host del cliente

Primero, configuramos el nombre de host de Ubuntu para señalar el dominio de Active Directory. Por ejemplo, vamos a tomarlo como myubuntu.mi empresa.local. Ahora, modifique el archivo de nombre de host de la siguiente manera:

$ sudo echo myubuntu.mi empresa.local> /etc /nombre de host

Nota: No podemos usar el nombre de host como localhost como apunta a 127.0.0.1.

Modificar el archivo /etc /hosts

Ahora, abra el archivo /etc /hosts y especifique la dirección IP de nuestro cliente con su nombre de host específico del controlador de dominio:

Modificando el /etc /resolv.archivo conf

La consulta DNS primero debe llegar al controlador de dominio en nuestra máquina cliente. Esto se puede lograr usando el resolv.archivo conf. Sin embargo, este archivo se actualiza automáticamente cuando reinicia el cliente. En consecuencia, todas sus ediciones manuales desaparecerán.

Curiosamente, podemos resolver este comportamiento utilizando el paquete resolvconf. Vaya a este enlace para arreglar el resolv.confusión.

La búsqueda de resolv.El archivo conf en nuestro caso es el siguiente:

Sincronización de tiempo

Los sistemas UNIX y Linux dependen del Protocolo de tiempo de red (NTP) para sus necesidades de sincronización de tiempo. Cuando se trata de Ubuntu, se centra en el servidor NTP predeterminado en NTP.ubuntu.comunicarse. Si desea que su máquina Ubuntu se sincronice perfectamente con el controlador Active Directory, no puede confiar en una fuente de tiempo externo. Entonces, lo que necesita hacer es configurar su máquina Ubuntu para utilizar el controlador Active Directory como su servidor NTP. Puede realizar esta tarea instalando y configurando un servicio como NTP o Chrony.

Nota: Antes de que podamos continuar con el siguiente paso para agregar nuestro cliente de sistema Ubuntu al dominio de Active Directory, pruebe la conectividad de red entre ellos. Podemos hacer esto haciendo ping a Nombre DNS del nombre de dominio y Active Directory:

$ ping mycompany.local
$ ping win-2rifamt88gr.mi empresa.local

Tener una resolución confiable de DNS y nombre de host es crucial.

Instalación del paquete Realmd

Ahora, instalamos el paquete RealMD y determinamos si ya somos parte del dominio de Active Directory. No deberíamos tener ninguna membresía de dominio ya que RealMD no estaba instalado previamente:

$ sudo apt install realmd

Ahora, ejecute el siguiente comando:

Lista de $ Realm

Aquí, un resultado vacío indica que el host no está vinculado al servicio de dominio de Active Directory todavía.

Descubriendo el dominio

Continuando, ahora descubrimos nuestro dominio objetivo usando el siguiente comando:

$ Realm Discover MyCompany.local

Reemplazar myCompany.local con tu nombre de dominio. La salida debe ser algo como lo siguiente:

MI EMPRESA.LOCAL
Tipo: Kerberos
nombre de reino: myCompany.LOCAL
nombre de dominio: myCompany.local
configurado: kerberos miembro
software de servidor: directorio activo
Software de cliente: SSSD
Packaje requerido: Tool SSSD
Packaje requerido: SSSD
Packaje requerido: libnss-sss
Packaje requerido: libpam-sss
Packaje requerido: ADCLI
Packaje requerido: samba-common-bin
Formatos de inicio de sesión: %[email protected]
Política de inicio de sesión: dejar y logins de reales

En particular, la salida especifica los paquetes requeridos para unir el dominio. Además, esto verifica los paquetes más aptos que se instalarán con SSSD.

Instalación de los paquetes y uniendo el dominio

Instalemos los paquetes anteriores:

$ sudo apt install sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin

Ahora, para unir el dominio AD (Active Directory) y configurar el SSSD, usamos el comando Realm nuevamente:

$ sudo reino Únete a mycompany.local

Ingrese la contraseña para el administrador cuando se le solicite. Además, puede especificar otra cuenta usando el indicador -U:

Si ejecuta el comando Realm List nuevamente, verá la salida de la siguiente manera:

No necesitamos tocar la configuración SSSD ya que la herramienta RealM ya lo administra.

Creando el directorio de inicio

Una cosa que debemos hacer nosotros mismos es establecer el directorio de inicio para que los usuarios de anuncios inicien sesión en nuestra máquina de cliente. Esto se puede hacer con el siguiente comando:

$ sudo Pam-Auth-Update --Nable Mkhomedir

Del mismo modo, podemos recuperar los detalles de estos usuarios de anuncios utilizando el siguiente comando:

$ getent passwd [email protected]

También podemos especificar a los otros usuarios con su nombre completo. Por ejemplo:

$ getent passwd [email protected]

Registro con las cuentas de los usuarios de anuncios

Finalmente, podemos iniciar sesión con la cuenta de usuarios de anuncios:

$ sudo inicio de sesión

Esto le pide que ingrese los detalles del usuario del anuncio: su nombre de usuario y contraseñas. Cuando inicie sesión con éxito, verá la siguiente pantalla:

En particular, el directorio de inicio se crea automáticamente aquí:

Conclusión

Ahora aprendimos a agregar un cliente de host de Linux a un servidor de Windows. Uno puede obtener los beneficios de ambos sistemas integrando Linux en un dominio de Active Directory existente. Si tiene más de cinco sistemas, considere administrarlos con un servicio de directorio.