Directorios LDAP
Julio Sánchez
Proyecto OpenLDAP
II Congreso Hispalinux
Madrid, noviembre 1999
Índice
IntroducciónDirectoriosProtocolo LDAPOpenLDAPUtilización en la prácticaReflexiónConclusión
Introducción
X.500 ligero¿X.500 para pobres?¿X.500 útil?
La próxima olaNovellNetscape/SunIBMMicrosoft
¿Qué es el directorio?
La guía de teléfonosBase de datos distribuida
Almacén de información de recursos de la organizaciónCada entrada representa un recurso
Personas y cuentasMáquinasDepartamentosSalas
¿Base de Datos?
¿Por qué no utilizar una base de datos de propósito general?
ExcesivasDemasiado pesadas
InsuficientesDificultad de normalización (Codd)Falta de normalización (estándares)
Atributos
Cada entrada tiene atributosCada atributo es un nombre (tipo) y una lista
de valoresEl nombre es una cadena de caracteres o un
OIDCada tipo de atributo puede ser un subtipo
de otroHerencia simple
Sintaxis, reglas de comparación
Ejemplos de Atributos
CN Nombre habitual
O Organización
OU Departamento
C País
MAIL Dirección de correo electrónico
PHONE Número de teléfono
DC Componente de dominio
Jerarquías
Nombre Distinguido (DN)Cada entrada tiene uno, único y propio
Secuencia de RDNCada RDN (Nombre Distinguido Relativo) es
un conjunto de AtributosCada atributo aquí es un nombre y un valor
Cada parte del RDN debe ser un atributo y valor presente en la entradaValores distinguidos
Ejemplo de directorio
dc=debiandc=OpenLDAP
dc=Org
cn=Kurt Zeilenga
cn=JulioSánchez
Clases
Cada entrada pertenece a una o más clasesAtributos requeridosAtributos opcionalesAtributo objectClass
Requerido en todas las entradasIndica las clases
Herencia
Las clases pueden derivarse de una o más clasesHerencia múltiple
Clase topSuperclase última de todas las clases
Ejemplos:residentialPersonorganizationalPersonposixAccount
Esquema
Clases conocidasQué atributos requierenQué atributos permiten
Tipos de atributosSintaxisReglas de comparaciónSimples/múltiplesOperacionales
Otras informaciones
Protocolo LDAP
Conexión TCPPuerto 389 normalmente
AsíncronoMúltiples peticiones en cursoEl servidor contesta cada una cuando puede
Extensible
Operaciones del Protocolo
BINDAutenticación, posiblemente nula
UNBINDFin de la conexión
Operación SEARCH
Busca en el directorio y devuelve cero o más entradas
ParámetrosBaseÁmbito (scope)FiltroAtributosDevolver valores sí/no
Operación SEARCH
La Base indica el punto del árbol donde empezar a buscar
El Ámbitobase: se utiliza para leer una entrada concretaonelevel: para buscar entre los descendientes
inmediatos de la base, sin incluir éstasubtree: busca en todas las entradas hacia abajo
Operación SEARCH
FiltrosFiltro universal:
objectclass=*Simples:
(&(objectclass=person)(cn=julio*))
Operación COMPARE
Permite verificar si una entrada cumple una cierta condición
Operación ADD
Crea una nueva entradaDN
El padre debe existirTipos de atributos y sus valoresLa entrada debe resultar conforme al
esquema
Operación DELETE
Elimina una entradaNormalmente, sólo puede eliminarse una
entrada terminal
Operación MODIFY
Permite añadir, eliminar o modificar los valores de la entrada
No permite modificar los valores distinguidos
El resultado debe seguir siendo conforme al esquema
Operación RENAME
Permite cambiar el nombre de la entradaMODRDN/MODDN
MODRDN: V2, no se puede cambiar el padreMODDN: V3, se puede cambiar el padre
Dificultades¿Entre servidores?¿Hijos?¿Integridad referencial?
OpenLDAP
1998Kurt Zeilenga de Boolean toma el código
abandonado de la Universidad de MichiganForma OpenLDAPDa alojamiento
FTPCVSListas de correo ITS FAQ-O-Matic
Líder y principal desarrollador
OpenLDAP
1999Versión 1.2
Integrados los parches para Umichautoconf, libtool, etc.Mantenimiento activo
Versión 2.0En alphaLDAP V3EsquemaTLS, SASL
Elementos de OpenLDAP
Bibliotecaslibldap, liblber
Servidoresldapd: pasarela a X.500, obsolescenteslapd: servidor autónomoslurpd: mantenimiento de réplicas
Elementos de OpenLDAP
ClientesMantenimiento
ldapadd, ldapmodify, ldapdelete, ldapmodrdnPasarelas
mail500, fax500Otros
ud
Utilización en la práctica
Directorio de correoEncontrar la dirección de correo de alguienEncontrar el certificado digital de alguienNetscape, Outlook
Libreta de direcciones y teléfonosDistribución de correo
sendmail, postfixmail500
Utilización en la práctica
Sustitución de NISRFC2307
esquema para representar los mapas de NISnss_ldap
nscd (Name Service Cache Daemon)pam_ldapypldapd
comercial
Utilización en la práctica
Varias interfaces para Perlmod_ldap para ApacheParches para squid
Utilización en la práctica
Integración de todos los recursos de la organizaciónPersonalSalas de ReunionesCuentas de usuario
Apenas hemos empezado a arañar las posibilidades
Hace falta más
El proyecto OpenLDAP necesita ayudahttp://www.OpenLDAP.orgHay mucho que hacer
LDAP necesita ayudaClientes de correoHerramientas de calendarioEtc.
Reflexión
Si el mundo del software libre no proporciona los elementos necesarios para participar en los directorios corporativos e, incluso, dictar su forma, se verá progresivamente desplazado en esos entornos, independientemente de los progresos que se hagan en otras áreas.
Conclusión
El directorio puede representar la próxima barrera de resistencia a Linux
Afortunadamente, hay mucho avanzado
Lamentablemente, hay que trabajar más