
Estoy intentando configurar un servidor openldap de prueba, ya que no había trabajado antes con openldap. Estoy usando el paquete estándar openldap-servers en una máquina basada en redhat (usando Oracle Linux). Instalé los paquetes e inicié el servidor.
Ahora no tengo idea de cómo lograr que el servidor haga algo útil; No puedo buscarlo usando luma ("No existe tal objeto" cuando intento acceder a la entrada de nivel superior), los documentos de openldap son obtusos en cuanto a cómo lograr que un servidor tenga una configuración de funcionamiento básica y toda la información en línea. es para el antiguo archivo slapd.conf en lugar del nuevo slapd.d y cn=config.
¿Cómo puedo hacer que funcione una instalación openldap empaquetada de vainilla donde puedo navegar hasta la raíz dn en luma?
Respuesta1
Siento tu dolor.
Pruebe esto (está probado en Scientific Linux 6.5, por lo que debería funcionar también en OL):
- Instalar servidores OpenLDAP
yum install openldap-servers openldap-clients
:) - empezar
slapd
:service slapd start
(y tal vezchkconfig slapd on
) - Cree contraseñas para
cn=config
su usuario administrador LDAP normal conslappasswd
. Tenga en cuenta el resultado de esto. - Cree un archivo LDIF con el siguiente contenido:
dn: olcDatabase={0}config,cn=config tipo de cambio: modificar agregar: olcRootPW olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj dn: olcDatabase={2}bdb,cn=config tipo de cambio: modificar agregar: olcRootPW olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj - reemplazar: olcRootDN olcRootDN: cn=admin,dc=tu,dc=base,dc=com - reemplazar: olcSuffix olcSuffix: dc=tu,dc=base,dc=com
- Los valores de
olcRootPW
deben reemplazarse con el resultadoslappaswd
anotado anteriormente. - Naturalmente,
olcSuffix
yolcRootDN
debe adaptarse a su nuevo DN base. Introduzca todo esto en el servidor LDAP con el siguiente comando:
ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif
Después de eso, debería poder conectarse a ambos cn=config
y dc=your,dc=base,dc=com
a través de LDAP.
Respuesta2
Antes de iniciar el servidor OpenLDAP, primero debe configurar algunas cosas.
Configuracion basica
Debe configurar un usuario root y una contraseña, además de definir su DN base. En slapd.conf
, busque las líneas que siguen a las líneas y configúrelas con los valores que desee.
suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"
Por lo general, su DN base (definido como suffix
en el archivo) son los componentes de su nombre de dominio, separados por comas y con el prefijo dc=
. Entonces, serverfault.com
podría convertirse en dc=serverfault,dc=com
. Debes rootdn
estar bajo ese sufijo.
También necesita cambiar la línea que define la contraseña de root. Puede configurarlo en un valor de texto sin formato o usarlo slappasswd
para crear un hash. Luego debe colocar el valor de texto sin formato o el valor hash en slappasswd
una línea similar a esta:
rootpw myultrasecurepassword
esquemas
En este punto es una buena idea empezar a pensar en los esquemas que desea utilizar. Un esquema define los atributos que puede tener un objeto, por lo que debe incluir los esquemas que contienen los atributos que necesita. Estos esquemas se incluyen en la parte superior de slapd.conf
, y los que aparecen aquí suelen ser los esquemas básicos absolutos que necesitará:
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
Estas rutas son las que se utilizan en Arch Linux, por lo que es posible que deba ajustarlas para que se ajusten a Oracle Linux.
Acerca de slapd.conf
vs.slapd.d
OpenLDAP ha pasado de la configuración fuera de línea (realizada en slapd.conf
) a la configuración en línea, almacenando datos en un cn=config
árbol especial que se encuentra en slapd.d
. Sin embargo , modificar los ldif
archivos slapd.d
es un proceso doloroso, por lo que es mucho más fácil editarlos slapd.conf
como se indicó anteriormente y luego convertirlos al nuevo slapd.d
formato.
Primero, retira todo lo que hay en slapd.d
. A continuación, ejecute el siguiente comando, asegurándose de ajustar las rutas a Oracle Linux:
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
Luego simplemente configure el propietario como su usuario y grupo LDAP en ese directorio de forma recursiva, y debería estar listo para comenzar. Esto debe hacerse cada vez que edite slapd.conf
; ¡solo recuerde detener el servidor OpenLDAP antes de hacerlo!
Ejecución inicial
Antes de poder utilizar el directorio, debe crear el DN base (y el usuario raíz). Cree un .ldif
archivo que contenga líneas similares a las siguientes:
dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: example.com
dc: example
dn: cn=root,dc=example,dc=com
objectclass: organizationalRole
cn: root
Ahora inicie el servidor OpenLDAP. Sólo necesitamos enviar esa información al directorio LDAP:
ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif
Obviamente, cambie el DN raíz y el nombre del archivo ldif para que coincidan con lo que tiene.
¡Ahora debería tener un directorio LDAP funcional configurado y listo para ser llenado!
La wiki de Arch Linux es una gran fuente de información sobre este tema; consultehttps://wiki.archlinux.org/index.php/OpenLDAPyhttps://wiki.archlinux.org/index.php/LDAP_Authenticationsi quieres saber más.