210.3 - Comandos clave: Uso de cliente LDAP

Comandos de cliente LDAP

ComandoDescripción
ldapsearchBuscar entradas en el directorio LDAP
ldapaddAñadir nuevas entradas desde un archivo LDIF
ldapmodifyModificar entradas existentes
ldapdeleteEliminar entradas del directorio
ldapwhoamiVerificar la identidad del bind actual
ldappasswdCambiar contraseña de un usuario LDAP

Opciones comunes a todos los comandos

OpciónDescripción
-xAutenticación simple (no SASL)
-D "bindDN"DN del usuario para autenticarse
-WSolicitar contraseña de forma interactiva
-w contraseñaContraseña en la línea de comandos
-H ldap://servidorURI del servidor LDAP
-ZIntentar STARTTLS
-ZZForzar STARTTLS (fallo si no disponible)
-f archivo.ldifLeer operaciones de un archivo LDIF

Opciones específicas de ldapsearch

OpciónDescripción
-b "baseDN"Base DN para la búsqueda
-s base/one/subAlcance de búsqueda
-LSalida formato LDIF
-LLLDIF sin comentarios
-LLLLDIF sin comentarios ni versión

Ejemplos de uso frecuente

# Buscar todos los usuarios
ldapsearch -x -b "dc=ejemplo,dc=com" "(objectClass=posixAccount)" -LLL
 
# Buscar un usuario concreto
ldapsearch -x -b "dc=ejemplo,dc=com" "(uid=juan)" cn mail -LLL
 
# Añadir entrada desde LDIF
ldapadd -x -D "cn=admin,dc=ejemplo,dc=com" -W -f usuario.ldif
 
# Modificar entrada
ldapmodify -x -D "cn=admin,dc=ejemplo,dc=com" -W -f cambios.ldif
 
# Eliminar entrada
ldapdelete -x -D "cn=admin,dc=ejemplo,dc=com" -W "uid=juan,ou=personas,dc=ejemplo,dc=com"
 
# Cambiar contraseña
ldappasswd -x -D "cn=admin,dc=ejemplo,dc=com" -W -S "uid=juan,ou=personas,dc=ejemplo,dc=com"

Terminología LDAP

TérminoSignificadoEjemplo
DNDistinguished Name (nombre completo)uid=juan,ou=personas,dc=ejemplo,dc=com
RDNRelative Distinguished Nameuid=juan
Base DNPunto de inicio para búsquedasdc=ejemplo,dc=com
objectClassTipo de entrada (define atributos)posixAccount, inetOrgPerson
LDIFLDAP Data Interchange FormatFormato de texto para datos LDAP

Archivos de configuración

ArchivoFunción
/etc/ldap/ldap.confConfiguración cliente LDAP (Debian)
/etc/openldap/ldap.confConfiguración cliente LDAP (RHEL)
/etc/nsswitch.confFuentes de resolución de nombres
/etc/sssd/sssd.confConfiguración SSSD

Directivas de ldap.conf

DirectivaDescripción
BASEBase DN por defecto
URIURI del servidor LDAP
TLS_CACERTRuta al certificado CA
TLS_CACERTDIRDirectorio de certificados CA
TLS_REQCERTNivel de verificación: never, allow, try, demand

Puertos LDAP

PuertoProtocolo
389LDAP sin cifrar / STARTTLS
636LDAPS (LDAP sobre SSL/TLS)