Cómo añadir un sistema Linux Rocky a un servidor OpenLDAP
Cuando hayas completado la instalación de OpenLDAP, también tendrás que añadir una máquina cliente para que se autentique en tu servidor OpenLDAP.
Hay muchas formas de añadir una máquina cliente al servidor OpenLDAP, una de ellas es utilizando el servicio SSSD. El servicio SSSD está disponible en casi todos los repositorios de las distribuciones Linux (con un nombre diferente del paquete), lo que facilita la administración y acelera el aprovisionamiento de máquinas cliente OpenLDAP.
En este tutorial, aprenderás a configurar y añadir el sistema Rocky Linux al servidor OpenLDAP utilizando el servicio SSSD.
Requisitos previos
- Un servidor con OpenLDAP instalado y configurado.
- Un cliente Rocky Linux. Este ejemplo utiliza el Rocky Linux 8.5.
- Un usuario no root con los privilegios de root configurados.
Comprobar los usuarios de OpenLDAP
Al principio, comprobarás la lista de usuarios disponibles en el servidor OpenLDAP. Para ello, asegúrate de ejecutar el siguiente comando en tu servidor OpenLDAP.
En este ejemplo, el servidor OpenLDAP se ejecuta bajo el nombre de dominio «ldap.midominio.io».
Comprueba la lista de usuarios disponibles en el OpenLDAP utilizando el siguiente comando ‘ldapsearch’.
sudo ldapsearch -x -b "ou=people,dc=mydomain,dc=io"
Ahora deberías ver una lista de usuarios en el servidor OpenLDAP. En la siguiente captura de pantalla, hay un usuario OpenLDAP llamado «john» que se utilizará para las pruebas.
Configurar el archivo Hosts y el FQDN
Antes de instalar ningún paquete, tendrás que configurar el FQDN (Fully Qualified Domain Name) de la máquina Rocky Linux y el archivo ‘/etc/hosts’ para definir el dominio del servidor OpenLDAP.
En este ejemplo, «ldap.midominio.io» se ejecuta en la dirección IP«192.168.10.50«. Y el cliente Linux Rocky se está ejecutando con la dirección IP ‘192.168.10.80′.
Ejecuta el siguiente comando‘hostnamectl‘ para configurar el FQDN de Rocky Linux a‘RockyLinux.midominio.io’.
sudo hostnamectl set-hostname RockyLinux.mydomain.io
Ahora edita la configuración‘/etc/hosts‘ utilizando el editor nano.
sudo nano /etc/hosts
Añade el nombre de dominio y la dirección IP del servidor OpenLDAP seguidos de los datos del cliente Rocky Linux como se indica a continuación.
192.168.10.50 ldap.mydomain.io ldap 192.168.10.80 RockyLinux.mydomain.io RockyLinux
Guarda y cierra el archivo cuando hayas terminado.
A continuación, ejecuta el siguiente comando para comprobar el FQDN del sistema Rocky Linux y verificar la conexión entre el sistema Rocky Linux y el servidor OpenLDAP.
sudo hostname -f sudo ping -c3 ldap.mydomain.io
Deberías recibir una salida como la de la siguiente captura de pantalla. El FQDN del sistema Rocky Linux es ‘RockyLinux.midominio.io’ y la conexión con el servidor OpenLDAP es correcta.
Instalación de los paquetes Cliente OpenLDAP y SSSD
Después de haber configurado el FQDN y el archivo Hosts en el sistema Rocky Linux. Ahora tendrás que instalar el cliente OpenLDAP y el SSSD en la máquina Rocky Linux.
El cliente OpenLDAP debe instalarse en la máquina cliente, y el servicio SSSD se encargará de toda la autenticación en el servidor OpenLDAP.
El SSSD o Demonio del Servicio de Seguridad del Sistema se utiliza a menudo para inscribir máquinas Linux en el Servidor IPA, en el Directorio Activo y en el dominio LDAP.
Ejecuta el comando‘dnf‘ que aparece a continuación para instalar el paquete cliente OpenLDAP, el paquete de servicio SSSD con soporte LDAP adicional y el paquete oddjob-mkhomedir para crear automáticamente el directorio raíz de los usuarios OpenLDAP.
sudo dnf -y install openldap-clients sssd sssd-ldap oddjob-mkhomedir
Espera a que finalice la instalación de todos los paquetes.
Cambiar el perfil de autenticación a SSSD
Después de haber instalado los paquetes cliente OpenLDAP y los paquetes SSSD, ahora deberás configurar la autenticación del sistema y la fuente de identidad al servicio SSSD.
Y esto se puede hacer utilizando el comando ‘authselect‘, que facilita a los administradores la gestión de la autenticación por defecto y la fuente de identidad para los sistemas basados en RHEL, incluido el Rocky Linux.
Ejecuta el comando ‘authselect‘ que aparece a continuación para obtener una lista de los perfiles de autenticación e identidad disponibles.
authselect list
Deberías ver varias fuentes de autenticación e identidad como NIS, SSSD y Winbind.
Cambia el perfil de autenticación e identidad por defecto a‘sssd‘ utilizando el comando ‘authselect‘ que aparece a continuación. Además, la opción‘with-mkhomedir‘ es necesaria para configurar automáticamente la creación del directorio personal para todos los usuarios.
authselect select sssd with-mkhomedir --force
Ahora deberías obtener un resultado como el de la captura de pantalla siguiente. El perfil de autenticación‘sssd‘ está seleccionado como perfil por defecto en tu máquina Rocky Linux.
Además, tendrás que iniciar y activar el servicio«oddjobd» utilizando el siguiente comando.
sudo systemctl enable --now oddjobd.service
Ahora comprueba y verifica el servicio ‘oddjobd‘ para asegurarte de que está en funcionamiento.
sudo systemctl status oddjobd.service
Deberías ver un resultado como el de la captura de pantalla siguiente.
Configurar el cliente OpenLDAP y los servicios SSSD
Ahora es el momento de configurar el cliente OpenLDAP y configurar el servicio SSSD.
Edita la configuración del cliente OpenLDAP‘/etc/openldap/ldap.conf‘ utilizando el editor nano.
sudo nano /etc/openldap/ldap.conf
Define el servidor OpenLDAP y el nombre del dominio de búsqueda base. Asegúrate de cambiar el nombre de dominio con tu dominio.
URI ldap://ldap.mydomain.io/ BASE dc=mydomain,dc=io
Guarda y cierra el archivo cuando hayas terminado.
A continuación, crea una nueva configuración del servicio SSSD‘/etc/sssd/sssd.conf ‘ utilizando el editor nano.
sudo nano /etc/sssd/sssd.conf
Copia la siguiente configuración y asegúrate de cambiar ‘ldap_uri’ y ‘ldap_search_base’ con tu servidor OpenLDAP. A continuación, pega la configuración.
[domain/default] id_provider = ldap autofs_provider = ldap auth_provider = ldap chpass_provider = ldap ldap_uri = ldap://ldap.mydomain.io/ ldap_search_base = dc=mydomain,dc=io ldap_id_use_start_tls = True ldap_tls_cacertdir = /etc/openldap/certs cache_credentials = True ldap_tls_reqcert = allow
[sssd]
services = nss, pam, autofs
domains = default
[nss]
homedir_substring = /home
Guarda y cierra el archivo.
Ahora cambia el permiso de la configuración del servicio SSSD a‘0600‘. Esto asegurará la configuración y la hará accesible sólo al propietario.
sudo chmod 0600 /etc/sssd/sssd.conf
Por último, reinicia y verifica el servicio SSSD para aplicar la nueva configuración utilizando el comando‘systemctl‘ que aparece a continuación.
sudo systemctl restart sssd sudo systemctl status sssd
Deberías ver que el estado actual del servicio SSSD es ‘activo (en ejecución)’.
Probando
Llegados a este punto, has añadido la máquina Rocky Linux al servidor OpenLDAP utilizando el servicio SSSD. Ahora vamos a verificar nuestra configuración.
En este ejemplo, probaremos la instalación iniciando sesión en la máquina cliente Rocky Linux con el usuario‘john‘ de OpenLDAP.
En el siguiente ejemplo, hemos iniciado sesión en la máquina cliente Rocky Linux con el usuario ‘john’. Puedes ver que el número uid y gid definidos coinciden con el usuario ‘john’ en el servidor OpenLDAP.
Opcionalmente, también puedes estar intentando acceder a la máquina cliente Rocky Linux a través de la conexión SSH, pero siguiendo utilizando el usuario OpenLDAP.
A continuación, el usuario ‘john‘ se conecta con éxito a la máquina Rocky Linux a través de una conexión SSH.
ssh [email protected]
Conclusión
¡Enhorabuena! Ya has añadido con éxito la máquina cliente Rocky Linux al servidor OpenLDAP a través del servicio SSSD. Esta guía también puede aplicarse a distribuciones generales basadas en RHEL, como CentOS, AlmaLinux y Fedora.