Instalación y configuración inicial de OpenLDAP
- Francisco Javier Huete
- Administracion sistemas
- March 4, 2025
Índice
LDAP es un protocolo de comunicación que permite el acceso a un servicio de directorio ordenado y distribuido para buscar información en un entorno de red. Este directorio incluye un conjunto de objetos con atributos organizados jerárquicamente. El directorio LDAP se puede instalar en un servidor de una red para centralizar la gestión de usuarios y grupos en la red.
Instalación de OpenLDAP
El servicio de OpenLDAP se puede instalar en Debian con el paquete slapd
.
sudo apt install slapd
La instalación de OpenLDAP es interactiva y, durante el proceso, se solicita al usuario indicar una contraseña de administrador del directorio.
┌─────────────────────────┤ Configuring slapd ├──────────────────────────┐
│ Please enter the password for the admin entry in your LDAP directory. │
│ │
│ Administrator password: │
│ │
│ *******_______________________________________________________________ │
│ │
│ <Ok> │
│ │
└────────────────────────────────────────────────────────────────────────┘
Tras la instalación, se pueden indicar nuevos parámetros de configuración en el directorio reconfigurando el paquete a través de dpkg
con la prioridad más baja -plow
para que pida indicar todos los parámetros posibles de forma interactiva.
sudo dpkg-reconfigure -plow slapd
Entonces, en primer lugar, el menú de configuración pregunta si se quiere omitir la configuración de LDAP.
┌──────────────────────────┤ Configuring slapd ├───────────────────────────┐
│ │
│ If you enable this option, no initial configuration or database will be │
│ created for you. │
│ │
│ Omit OpenLDAP server configuration? │
│ │
│ <Yes> <No> │
│ │
└──────────────────────────────────────────────────────────────────────────┘
Tras contestar negativamente a esta pregunta, el proceso de configuración de LDAP solicita el nombre de dominio DNS.
┌────────────────────────┤ Configuring slapd ├─────────────────────────┐
│ The DNS domain name is used to construct the base DN of the LDAP │
│ directory. For example, 'foo.example.org' will create the directory │
│ with 'dc=foo, dc=example, dc=org' as base DN. │
│ │
│ DNS domain name: │
│ │
│ luffy.javi.gonzalonazareno.org______________________________________ │
│ │
│ <Ok> │
│ │
└──────────────────────────────────────────────────────────────────────┘
El siguiente paso en la configuración es indicar el nombre de la organización
┌──────────────────────────┤ Configuring slapd ├───────────────────────────┐
│ Please enter the name of the organization to use in the base DN of your │
│ LDAP directory. │
│ │
│ Organization name: │
│ │
│ IES Gonzalo Nazareno____________________________________________________ │
│ │
│ <Ok> │
│ │
└──────────────────────────────────────────────────────────────────────────┘
Nuevamente, el menú de configuración solicita una contraseña de administración
┌─────────────────────────┤ Configuring slapd ├──────────────────────────┐
│ Please enter the password for the admin entry in your LDAP directory. │
│ │
│ Administrator password: │
│ │
│ *******_______________________________________________________________ │
│ │
│ <Ok> │
│ │
└────────────────────────────────────────────────────────────────────────┘
Por último, hay que elegir diferentes opciones de configuración relacionadas con la base de datos que usa LDAP, como si se debe eliminar cuando de desinstale el servicio o si se deben sobrescribir los datos almacenados en la primera instalación.
Tras ejecutar modificar todos estos parámetros al servicio, el comando slapcat
muestra la configuración del directorio.
sudo slapcat
dn: dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: dcObject
objectClass: organization
o: IES Gonzalo Nazareno
dc: luffy
structuralObjectClass: organization
entryUUID: cf045d28-83d9-103f-8e4a-11736b3f8ca6
creatorsName: cn=admin,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
createTimestamp: 20250220132451Z
entryCSN: 20250220132451.208225Z#000000#000#000000
modifiersName: cn=admin,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
modifyTimestamp: 20250220132451Z
Además, LDAP instala una serie de utilidades para interactuar con el directorio incluidas en el paquete ldap-utils
como ldapsearch
, que permite buscar información de los registros almacenado en el servidor LDAP. Esta herramienta busca los objetos anidados dentro de un árbol. Para no indicar el árbol del directorio de búsqueda en cada ejecución del comando, se puede crear el fichero /etc/ldap/ldap.conf o editarlo si ya existe para incluir en el parámetro BASE
el árbol del directorio por defecto del servidor LDAP.
#
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
BASE dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
#URI ldap://ldap.example.com ldap://ldap-provider.example.com:666
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
# TLS certificates (needed for GnuTLS)
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
Configuración inicial de OpenLDAP
Creación de la estructura de unidades organizativas
Para poner en funcionamiento el árbol del directorio LDAP, en este caso, se usa una estructura básica con dos unidades organizativas diferentes: usuarios y grupos. Estas unidades organizativas se definen en un fichero .ldif
. Para este propósito, se ha generado en el directorio /etc/ldap un nuevo directorio llamado ldif, que contendrá los ficheros .ldif
en los que se definen todos los elementos del directorio.
sudo mkdir ldif
cd ldif/
En este directorio se crea el fichero de definición de las unidades organizativas.
sudo nano ou.ldif
El contenido del fichero es el siguiente:
dn: ou=Usuarios,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
ou: Usuarios
objectClass: organizationalUnit
dn: ou=Grupos,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
ou: Grupos
objectClass: organizationalUnit
Tras definir las unidades organizativas en este fichero, se añaden a la estructura del directorio con el comando ldapadd
.
ldapadd -x -D "cn=admin,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org" -f /etc/ldap/ldif/ou.ldif -W
Enter LDAP Password:
adding new entry "ou=Usuarios,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org"
adding new entry "ou=Grupos,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org"
Ahora, en la estructura del árbol del directorio aparecen las dos unidades organizativas recién creadas.
ldapsearch -x -D "cn=admin,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org" -W
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <dc=luffy,dc=javi,dc=gonzalonazareno,dc=org> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# luffy.javi.gonzalonazareno.org
dn: dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: dcObject
objectClass: organization
o: IES Gonzalo Nazareno
dc: luffy
# Grupos, luffy.javi.gonzalonazareno.org
dn: ou=Grupos,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
ou: Grupos
objectClass: organizationalUnit
# Usuarios, luffy.javi.gonzalonazareno.org
dn: ou=Usuarios,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
ou: Usuarios
objectClass: organizationalUnit
# search result
search: 2
result: 0 Success
# numResponses: 4
# numEntries: 3
Creación del primer usuario
Para crear un usuario en el directorio LDAP se debe definir la información de este usuario en un fichero .ldif
. Posteriormente, se carga la información de estos ficheros a la estructura del árbol de directorios de LDAP. En el directorio ldif creado anteriormente se puede crear el fichero .ldif
del primer usuario.
sudo nano asoprueba.ldif
En este fichero se indican los parámetros que configuran la creación del usuario en LDAP. En este caso, como el grupo principal del usuario no se ha creado aún, se define también en este fichero.
dn: cn=grupo1,ou=Grupos,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
objectClass: posixGroup
cn: grupo1
gidNumber: 1100
dn: uid=asoprueba,ou=Usuarios,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
uid: asoprueba
cn: asoprueba
objectClass: posixAccount
objectClass: account
userPassword: {SSHA}vm1AqM6+exx8bsCMqbsXMzm3J8io/qWX
uidNumber: 1100
gidNumber: 1100
homeDirectory: /home/asoprueba
loginShell: /bin/bash
Para poder indicar una contraseña en el fichero de definición del usuario, hay que usar un hash ya encriptado. El servidor OpenLDAP, a través del paquete slapd
instala la herramienta slappasswd
que permite obtener este hash encriptado de forma interactiva.
sudo slappasswd
New password:
Re-enter new password:
{SSHA}vm1AqM6+exx8bsCMqbsXMzm3J8io/qWX
Este hash encriptado es el que se indica en el fichero .ldif
en el que se define el usuario.
Para añadir el registro tanto del usuario como del grupo declarado en el fichero .ldif
al directorio LDAP se usa la utlidad ldapadd
.
ldapadd -x -D "cn=admin,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org" -f /etc/ldap/ldif/asoprueba.ldif -W
Enter LDAP Password:
adding new entry "cn=grupo1,ou=Grupos,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org"
adding new entry "uid=asoprueba,ou=Usuarios,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org"
Tras añadir el usuario al directorio LDAP, si se hace una búsquedas de los objetos de este árbol del directorio, se muestra el usuario recién creado.
ldapsearch -x -D "cn=admin,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org" -W
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <dc=luffy,dc=javi,dc=gonzalonazareno,dc=org> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# luffy.javi.gonzalonazareno.org
dn: dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: dcObject
objectClass: organization
o: IES Gonzalo Nazareno
dc: luffy
# Grupos, luffy.javi.gonzalonazareno.org
dn: ou=Grupos,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
ou: Grupos
objectClass: organizationalUnit
# Usuarios, luffy.javi.gonzalonazareno.org
dn: ou=Usuarios,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
ou: Usuarios
objectClass: organizationalUnit
# grupo1, Grupos, luffy.javi.gonzalonazareno.org
dn: cn=grupo1,ou=Grupos,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
objectClass: posixGroup
cn: grupo1
gidNumber: 1100
# asoprueba, Usuarios, luffy.javi.gonzalonazareno.org
dn: uid=asoprueba,ou=Usuarios,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
uid: asoprueba
cn: asoprueba
objectClass: posixAccount
objectClass: account
userPassword:: e1NTSEF9dm0xQXFNNitleHg4YnNDTXFic1hNem0zSjhpby9xV1g=
uidNumber: 1100
gidNumber: 1100
homeDirectory: /home/asoprueba
loginShell: /bin/bash
# search result
search: 2
result: 0 Success
# numResponses: 6
# numEntries: 5
Configuración del cliente Ubuntu
Instalación de dependencias en Ubuntu
Para permitir el inicio de sesión con un usuario desde el cliente es necesario instalar una serie de dependencias previas.
sudo apt install libnss-ldap libpam-ldap ldap-utils
La instalación de algunos de estos paquetes incluye un proceso de configuración interactivo. Por ejemplo, durante la configuración del paquete libnss-ldap
hay que indicar la uri de conexión al servidor LDAP
┌─────────────────────┤ Configuring ldap-auth-config ├──────────────────────┐
│ Please enter the URI of the LDAP server to use. This is a string in the │
│ form of ldap://<hostname or IP>:<port>/. ldaps:// or ldapi:// can also │
│ be used. The port number is optional. │
│ │
│ Note: It is usually a good idea to use an IP address because it reduces │
│ risks of failure in the event name service problems. │
│ │
│ LDAP server Uniform Resource Identifier: │
│ │
│ ldap://luffy.javi.gonzalonazareno.org____________________________________ │
│ │
│ <Ok> │
│ │
└───────────────────────────────────────────────────────────────────────────┘
También hay que configurar el nombre distinguido de la base para la búsqueda.
┌─────────────────────┤ Configuring ldap-auth-config ├──────────────────────┐
│ Please enter the distinguished name of the LDAP search base. Many sites │
│ use the components of their domain names for this purpose. For example, │
│ the domain "example.net" would use "dc=example,dc=net" as the │
│ distinguished name of the search base. │
│ │
│ Distinguished name of the search base: │
│ │
│ dc=luffy,dc=javi,dc=gonzalonazareno,dc=org_______________________________ │
│ │
│ <Ok> │
│ │
└───────────────────────────────────────────────────────────────────────────┘
Además, hay que indicar la versión: 3.
┌─────────────────────┤ Configuring ldap-auth-config ├─────────────────────┐
│ Please enter which version of the LDAP protocol should be used by │
│ ldapns. It is usually a good idea to set this to the highest available │
│ version. │
│ │
│ LDAP version to use: │
│ │
│ 3 │
│ 2 │
│ │
│ │
│ <Ok> │
│ │
└──────────────────────────────────────────────────────────────────────────┘
Durante la configuración de libpam-ldap
también se requiere una configuración interactiva. Por ejemplo, hay que permitir que el usuario admin de LDAP se convierta en el root.
┌─────────────────────┤ Configuring ldap-auth-config ├──────────────────────┐
│ │
│ This option will allow you to make password utilities that use pam to │
│ behave like you would be changing local passwords. │
│ │
│ The password will be stored in a separate file which will be made │
│ readable to root only. │
│ │
│ If you are using NFS mounted /etc or any other custom setup, you should │
│ disable this. │
│ │
│ Make local root Database admin: │
│ │
│ <Yes> <No> │
│ │
└───────────────────────────────────────────────────────────────────────────┘
Hay que definir el usuario administrador de LDAP.
┌─────────────┤ Configuring ldap-auth-config ├─────────────┐
│ This account will be used when root changes a password. │
│ │
│ Note: This account has to be a privileged account. │
│ │
│ LDAP account for root: │
│ │
│ cn=admin,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org_____ │
│ │
│ <Ok> │
│ │
└──────────────────────────────────────────────────────────┘
También hay que indicar su contraseña.
┌─────────────────────┤ Configuring ldap-auth-config ├──────────────────────┐
│ Please enter the password to use when ldap-auth-config tries to login to │
│ the LDAP directory using the LDAP account for root. │
│ │
│ The password will be stored in a separate file /etc/ldap.secret which │
│ will be made readable to root only. │
│ │
│ Entering an empty password will re-use the old password. │
│ │
│ LDAP root account password: │
│ │
│ *******__________________________________________________________________ │
│ │
│ <Ok> │
│ │
└───────────────────────────────────────────────────────────────────────────┘
Configuración del cliente LDAP en Ubuntu
También en el cliente, se configura el fichero /etc/ldap/ldap.conf para que pueda acceder al servidor LDAP para validar los usuarios registrados en el directorio. Para ello, en este fichero se indica la base y la URI de conexión del cliente.
#
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
BASE dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
URI ldap://luffy.javi.gonzalonazareno.org
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
# TLS certificates (needed for GnuTLS)
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
Configuración de NSSwitch
Además, para que el sistema use el directorio LDAP como servidor de autenticación de usuarios en red, en el fichero /etc/nsswitch.conf hay que indicar ldap
como método de autentificación.
passwd: files ldap systemd
group: files ldap systemd
shadow: files ldap
gshadow: files ldap
Configuración de los módulos PAM
También hay que configurar la autenticación y la sesión pam. Para hacer esta configuración, es necesario trabajar con varios módulos PAM. En primer lugar, en el módulo /etc/pam.d/common-password se elimina la opción use_authtok
en el módulo pam_ldap.so
.
password [success=1 user_unknown=ignore default=die] pam_ldap.so t
A continuación, en el módulo /etc/pam.d/common-session hay que añadir la configuración del módulo pam_mkhomedir
.
session optional pam_mkhomedir.so skel=/etc/skel umask=077
Tras establecer toda esta configuración, el usuario asoprueba
creado en el servidor LDAP puede iniciar sesión desde el cliente.
Configuración del servidor NFS
En el servidor NFS se crea una directorio en el que se crearán los directorios /home de todos los usuarios del directorio LDAP.
sudo mkdir /srv/nfs
Este directorio se tiene que compartir con todos los equipos de la red. Por eso, hay que añadir la siguiente línea al fichero /etc/export:
/srv/nfs *(rw,sync,no_root_squash,no_subtree_check)
Para aplicar la configuración, se reinicia el servicio.
sudo systemctl restart nfs-server
En cada máquina cliente hay que crear un directorio que funcione como punto de montaje del sistema de ficheros compartido por el servidor NFS.
sudo mkdir /usuarios
sudo chmod 777 /usuarios/
Este punto de montaje se indica en el fichero /etc/fstab para que sea persistente.
zoro:/srv/nfs /usuarios nfs defaults 0 0
Por último, se instala el cliente nfs y se monta el directorio remoto.
sudo apt install nfs-common
sudo mount -a
A continuación, en el directorio LDAP se configura el usuario para que su home se cree en este directorio compartido por el servidor NFS.
dn: cn=asoprueba,ou=Grupos,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
objectClass: posixGroup
cn: asoprueba
gidNumber: 1100
dn: uid=asoprueba,ou=Usuarios,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
uid: asoprueba
cn: asoprueba
objectClass: posixAccount
objectClass: account
userPassword: {SSHA}vm1AqM6+exx8bsCMqbsXMzm3J8io/qWX
uidNumber: 1100
gidNumber: 1100
homeDirectory: /usuarios/home/asoprueba
loginShell: /bin/bash
ldapdelete -x -D "cn=admin,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org" cn=asoprueba,ou=Grupos,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org -W
ldapdelete -x -D "cn=admin,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org" uid=asoprueba,ou=Usuarios,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org -W
ldapadd -x -D "cn=admin,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org" -f /etc/ldap/ldif/asoprueba.ldif -W
Al iniciar sesión de nuevo con el usuario asoprueba
se crea su nuevo home de usuario en el directorio compartido por el servidor NFS.
usuario@nami:~$ su - asoprueba
Password:
Creating directory '/usuarios/home/asoprueba'.
asoprueba@nami:~$ whoami
asoprueba
asoprueba@nami:~$ pwd
/usuarios/home/asoprueba
Configuración del cliente Rocky Linux
Instalación de dependencias en Rocky Linux
Para permitir el inicio de sesión con un usuario desde un cliente Rocky Linux hay que instalar una serie de dependencias.
sudo dnf install openldap-clients sssd sssd-ldap oddjob-mkhomedir
Además, hay que activar el inicio de sesión con sssd
y permitir la creación del directorio home del usuario con el parámetro with-mkhomedir
.
sudo authselect select sssd with-mkhomedir --force
Tabmién hay que habilitar el servicio oddjobd
.
sudo systemctl enable --now oddjobd.service
Configuración del cliente LDAP en Rocky Linux
También en el cliente, se configura el fichero /etc/ldap/ldap.conf para que pueda acceder al servidor LDAP para validar los usuarios registrados en el directorio. Para ello, en este fichero se indica la base y la URI de conexión del cliente.
#
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
BASE dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
URI ldap://luffy.javi.gonzalonazareno.org
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
# When no CA certificates are specified the Shared System Certificates
# are in use. In order to have these available along with the ones specified
# by TLS_CACERTDIR one has to include them explicitly:
#TLS_CACERT /etc/pki/tls/cert.pem
# System-wide Crypto Policies provide up to date cipher suite which should
# be used unless one needs a finer grinded selection of ciphers. Hence, the
# PROFILE=SYSTEM value represents the default behavior which is in place
# when no explicit setting is used. (see openssl-ciphers(1) for more info)
#TLS_CIPHER_SUITE PROFILE=SYSTEM
# Turning this off breaks GSSAPI used with krb5 when rdns = false
SASL_NOCANON on
Además, hay que cambiar el perfil de autenticación a SSSD.
[usuario@zoro ~]$ sudo authselect select sssd with-mkhomedir --force
Backup stored at /var/lib/authselect/backups/2025-03-03-17-31-00.oyLTl2
Profile "sssd" was selected.
The following nsswitch maps are overwritten by the profile:
- passwd
- group
- netgroup
- automount
- services
Make sure that SSSD service is configured and enabled. See SSSD documentation for more information.
- with-mkhomedir is selected, make sure pam_oddjob_mkhomedir module
is present and oddjobd service is enabled and active
- systemctl enable --now oddjobd.service
Tal y como indica la salida del comando anterior, también hay que iniciar y habilitar el servicio oddjobd
.
sudo systemctl enable --now oddjobd.service
Para configurar el servicio SSSD se crea el fichero /etc/sssd/sssd.conf con el siguiente contenido:
[domain/javi.gonzalonazareno.org]
id_provider = ldap
auth_provider = ldap
ldap_uri = ldap://luffy.javi.gonzalonazareno.org
ldap_search_base = dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
ldap_id_use_start_tls = False
#ldap_tls_cacertdir = /etc/openldap/cacerts
#cache_credentials = True
[sssd]
services = nss, pam
domains = javi.gonzalonazareno.org
[nss]
filter_groups = root
filter_users = root
Este fichero debe tener permisos de lectura y escritura para el usuario.
sudo chmod 600 /etc/sssd/sssd.conf
Para aplicar la configuración, hay que reiniciar el servicio.
sudo systemctl restart sssd
Así, desde el cliente, se puede acceder a la información del servidor usando el comando ldapsearch
.
[usuario@zoro ~]$ ldapsearch -x -D "cn=admin,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org" -W
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <dc=luffy,dc=javi,dc=gonzalonazareno,dc=org> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# luffy.javi.gonzalonazareno.org
dn: dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: dcObject
objectClass: organization
o: IES Gonzalo Nazareno
dc: luffy
# Grupos, luffy.javi.gonzalonazareno.org
dn: ou=Grupos,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
ou: Grupos
objectClass: organizationalUnit
# Usuarios, luffy.javi.gonzalonazareno.org
dn: ou=Usuarios,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
ou: Usuarios
objectClass: organizationalUnit
# asoprueba, Grupos, luffy.javi.gonzalonazareno.org
dn: cn=asoprueba,ou=Grupos,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
objectClass: posixGroup
cn: asoprueba
gidNumber: 1100
# asoprueba, Usuarios, luffy.javi.gonzalonazareno.org
dn: uid=asoprueba,ou=Usuarios,dc=luffy,dc=javi,dc=gonzalonazareno,dc=org
uid: asoprueba
cn: asoprueba
objectClass: posixAccount
objectClass: account
userPassword:: e1NTSEF9dm0xQXFNNitleHg4YnNDTXFic1hNem0zSjhpby9xV1g=
uidNumber: 1100
gidNumber: 1100
homeDirectory: /usuarios/home/asoprueba
loginShell: /bin/bash
# search result
search: 2
result: 0 Success
# numResponses: 6
# numEntries: 5
Sin embargo, al intentar iniciar sesión con la cuenta de usuario configurada en el servidor LDAP, se produce un error de autentificación.
[usuario@zoro ~]$ su - asoprueba
Password:
su: Authentication failure
En el log de sssd
se indica que este error se debe a que el puerto del servidor no está disponible.
* (2025-03-04 7:39:47): [be[javi.gonzalonazareno.org]] [get_port_status] (0x1000): [RID#6] Port status of port 389 for server 'luffy.javi.gonzalonazareno.org' is 'not working'
* (2025-03-04 7:39:47): [be[javi.gonzalonazareno.org]] [get_port_status] (0x0080): [RID#6] SSSD is unable to complete the full connection request, this internal status does not necessarily indicate network port issues.
* (2025-03-04 7:39:47): [be[javi.gonzalonazareno.org]] [fo_resolve_service_send] (0x0020): [RID#6] No available servers for service 'LDAP'
Sin embargo, en los logs recogidos por journald
se apunta a que el oregin del error es un fallo en la encriptación con TLS. Este mecanismo de encriptación está deshabilitado en el fichero de configuración del servicio sssd
, sin embargo, parece que este servicio sigue intentando encriptar las comunicaciones con el servidor.
Mar 04 07:39:47 zoro.javi.gonzalonazareno.org sssd_be[4950]: Could not start TLS encryption. unsupported extended operation
Fuentes
El servicio de directorio. LDAP
Cómo configurar el cliente OpenLDAP en Debian 10