Hola Pues ahora me escribo un post sobre LDAP Rapido, LDAP significa Protocolo de Acceso a Directorios Ligeros (siglas en inglés de Lightweight Directory Access Protocol) y es un servicio de directorio, muy similar a los directorios del sistema de ficheros al que estamos acostumbrados, o a la guía de teléfonos que usamos para buscar números de teléfono, o a los servicios de directorios de red como el NIS de SUN (Network Information Service, Servicio de Información de Red), DNS (Domain Name Service), o al árbol que ves en tu jardín. LDAP es una base de datos especializada. Es muy importante recordar que LDAP no es otra base de datos más. LDAP está optimizada para hacer búsquedas (leer datos). Las lecturas en LDAP se realizan de manera mucho más frecuente que las escrituras Toda la información es almacenada en una estructura de árbol. Con LDAPse tiene la libertad de determinar la estructura del árbol. Objetos LDAP Los objetos pueden asignarse generalmente a uno de dos tipos posibles: Contenedor: Estos objetos pueden a su vez contener otros objetos. Tales clases de objetos son root (el elemento raíz del árbol de directorios, que no existe realmente), c (país), ou (unidad organizativa) y dc (componente de dominio). Este modelo es comparable con los directorios (carpetas) de un sistema de archivos. Hoja: Estos objetos se encuentran en la parte final de una rama y no incluyen objetos subordinados. Algunos ejemplos serían person, InetOrgPerson o groupofNames. Algunas atributos definidos dentro del árbol LDAP son los siguientes, tomando como base la entrada de datos para personas, que en ldap se define mediante la clase de objetos person, pero también puede definirse mediante atributos en las clases de objetos inetOrgPerson, groupOfNames, y organization. Y pues ya no mencionaré sobre Ubuntu, muchos menos la instalación. Vamos al grano 1.- Instalación LDAP Lo primero que hay que hacer es instalar el demonio slapd del servidor OPENLDAP e instalar ldap-utils, un paquete que contiene utilidades de administración de LDAP. La instalación se hace con el comando: sudo apt-get install slapd ldap-utils Sólo bastará con digitar la contraseña de administración y el paquete se instalará correctamente 2.- Configuración LDAP Desde las ultimas versiones de ldap el archivo de configuración que habitualmente estaba ubicado en / etc/openlap/ldap.conf, no se incluye, por el contrario la configuración es automática durante la instalación del ldap-utils, además para que el servidor trabaje sobre protocolo seguro anteriormente era necesario configurar SSL (SSL permite la autenticación de servidores, la codificación de datos y la integridad de los mensajes. ),pero en las nuevas versiones no es necesario ya que el paquete trae incluido dicha opción, sin embargo es recomendable reconfigurar el servidor para adecuarlo aún más a lo que deseamos, esto se lleva a cabo con la siguiente instrucción: sudo dpkg-reconfigure slapd Una vez digitamos esta instrucción se abren una serie de opciones para configurar adecuadamente el servidor. En este cuadro de diálogo debemos escoger la opción de lo contrario no podríamos modificar las opciones de configuración del servidor En este cuadro de diálogo digitamos el dominio de nuestro servidor que para esta practica se me ocurre so2.net Ahora se nos pide el nombre de la organización que para este caso es igualmente so2.net En esta instancia se nos pide escoger escoger el tipo de base de datos backbend (dorsal o base de datos de segundo plano) Si se lee la explicación que da el cuadro de diálogo se observa que se recomienda utilizar la base de datos HDB y no la BDB, y también la justificación de porque escoger dicha opción Para esta practica se escoge HDB Ante la pregunta de si desea que se borre la base de datos cuando se purgue el paquete slapd, para esta práctica se escoge que no En este nuevo cuadro de diálogo se escoge la opción NO Digitamos la contraseña del administrador (root) Confirmamos la contraseña y con esto hemos terminado de configurar ldap. 3.- Contruir el arbol LDAP Tras haber configurado el servidor ldap procedemos a construir el árbol ldap. La estructura y los datos del árbol ldap, se almacenan en un fichero con formato .ldif. El árbol para esta practica es la siguiente: Abrimos un editor bien sea con vi o con nano, y comenzamos a construir el fichero .ldif: sudo nano so2.net.ldif Comenzamos a llenar el árbol digitando primero la raíz (dc=so2,dc=net), la unidad organizacional (ou=usuarios), y los objetos persona (objectClass=person) #Se define la raíz del árbol dn: dc=so2,dc=net dc=so2,dc=net objectClass: top objectClass: organization #Se define la unidad organizacional para el árbol dn: ou=usuarios,dc=so2,dc=net objectClass: organizationalUnit ou: usuarios #Se define el conjunto de usuarios dn: uid=raMontoya,ou=usuarios,dc=so2,dc=net objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount objectClass: person uid: raMontoya sn: Montoya givenName: Ramiro cn: Ramiro Montoya displayName: Ramiro Montoya uidNumber: 1001 gidNumber: 1001 userPassword: {CRYPT}mb/RUPYgkZ11o gecos: Ramiro Montoya loginShell: /bin/bash homeDirectory: /home/ichiro mail: [email protected] #Aca se agregara a un nuevo usuario: Vanessa Pineda dn: uid=vPineda,ou=usuarios,dc=so2,dc=net objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount objectClass: person uid: vPineda sn: Pineda givenName: Vanessa cn: Vanessa Pineda displayName: Vanessa Pineda uidNumber: 1003 gidNumber: 1003 userPassword: {CRYPT}mbq1AsI5f3xq. gecos: Vanessa Pineda loginShell: /bin/bash homeDirectory: /home/ichiro mail: [email protected] #Aca se agregara a un nuevo usuario: Jhonatan Vallejo dn: uid=jVallejo,ou=usuarios,dc=so2,dc=net objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount objectClass: person uid: jVallejo sn: Vallejo givenName: Jhonatan cn: Jhonatan Vallejo displayName: Jhonatan Vallejo uidNumber: 1004 gidNumber: 1004 userPassword: {CRYPT}mbASdzsfH3VF2 gecos: Jhonatan Vallejo loginShell: /bin/bash homeDirectory: /home/ichiro mail: [email protected] Tras digitar esto en el archivo lo almacenamos con el nombre de so2.net.ldif, o con el nombre que se desee Ahora ejecutamos la orden: ldapadd -x -D cn=admin,dc=so2,dc=net -W -f so2.net.ldif esto lo hacemos con el fin de agregar el fichero al directorio LDAP Si quisieramos agregar nuevas usuarios simplemente creamos el fichero .ldif y lo agregamos, como por ejemplo, creemos al usuario Ana Corredor sudo nano darioSalgado.ldif estando en el archivo comenzamos a ingresar su información dn: uid=aCorredor,ou=usuarios,dc=so2,dc=net objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount objectClass: person uid: aCorredor sn: Corredor givenName: Ana cn: Ana Corredor displayName: Ana Corredor uidNumber: 1005 gidNumber: 1005 userPassword: {CRYPT}mb7XvLQ6bmXmQ gecos: Ana Corredor loginShell: /bin/bash homeDirectory: /home/ichiro mail: [email protected] Guardamos el archivo con el nombre que queramos pero siempre con extensión .ldif, por ejemplo anaCorredor.ldif Ahora ejecutamos la orden: ldapadd -x -D cn=admin,dc=so2,dc=net -W -f anaCorredor esto lo hacemos con el fin de agregar esta nueva entrada al directorio LDAP Lo anterior lo podemos hacer con la cantidad de usuarios que deseemos 4.- Hacer Busquedas Teniendo ya la información de nuestro árbol en el directorio ldap, podemos hacer búsquedas, estas se hacen con el comando ldapsearch, por ejemplo para mostrar la información de todos los usuarios: ldapsearch -xLLL -b "dc=so2,dc=net", esto muestra la información del árbol, todos los usuarios, con todos sus datos Para buscar el mail, el common name cn, surname, de un usuario específico. Si el usuario fuese Ana Corredor. Se digita: ldapsearch -xLLL -b "dc=so2,dc=net" uid=aCorredor mail cn sn Para buscar el givenName, el uidNumber, el gidNumber, de un usuario específico. Si el usuario fuese Jhonatan Vallejo. Se digita: ldapsearch -xLLL -b "dc=so2,dc=net" uid=jVallejo givenName uidNumber gidNumber De esta manera podemos hacer cualquier tipo de búsqueda en nuestro directorio ldap, de acuerdo a la estructura que hayamos definido ldap-utils ofrece una serie de herramientas para modificar, agregar, consultar, entre otras acciones en el directorio ldap: ldapadd: ldapadd abre una conexión a un servidor LDAP, enlaza y añade entradas. ldapcompare: ldapcompare abre una conexión a un servidor LDAP, enlaza y hace una comparación usando los parámetros especificados. ldapdelete: ldapdelete abre una conexión a un servidor LDAP, enlaza y borra una o mas entradas. ldapmodify: ldapmodify abre una conexión a un servidor LDAP, enlaza y modifica entradas. ldapmodrdn: ldapmodrdn abre una conexión a un servidor LDAP, enlaza y modifica el RDN de las entradas. ldappasswd: ldappasswd es una herramienta para establecer la contraseña de un usuario LDAP. ldapsearch: ldapsearch abre una conexión a un servidor LDAP, enlaza y hace una búsqueda usando los parámetros especificados. ldapwhoami: ldapwhoami abre una conexión a un servidor LDAP, enlaza y realiza una operación whoami. Sería todo, y pues ya el iniciar, detener, reiniciar el servicio pues como cualquiera de linux: Iniciar el servirod sudo /etc/init.d/slapd start Detener el servidor: sudo /etc/init.d/slapd stop Reiniciar el servidor: sudo /etc/init.d/slapd restart Además para este pequeño ejemplo use una dirección específica para nuestro equipo, el gateway, y el servidor dns, es por esto que para que el equipo funcione de manera óptima debemos configurar las direcciones ip y de red manualmente, para ello hacemos lo siguiente: 1 - Digitamos sudo etc/network/interfaces, estando allí escribimos las direcciones que se nos solicitan de acuerdo a lo que estemos configurando 2 - Digitamos sudo etc/resolve.conf, e igual que en el paso anterior digitamos la dirección ip que se nos solicita en el archivo 3 - Digitamos sudo etc/hosts, y modificamos de acuerdo a nuestras necesidades el contenido de dicho archivo 4 - Por último reniciamos el servidor para que los cambios surjan efecto: sudo /etc/init.d/slapd restart Como tip adicional: En el campo de userPassword de los ficheros .ldif como los que se hicieron un poco más arriba en este documento, es recomendable tener la contraseña del usuario encriptada, para lograr esto se puede hacer lo siguiente: Para lograr esto se usa el siguiente comando: sudo slappasswd -C 'mb', habiendo hecho esto,se nos pide la contraseña, despues la confirmacion de esta, y esta herrramienta nos mostrará por pantalla la contraseña encriptada. Es fundamental copiar toda la cadena de texto que allí aparece, ejemplo de una contrase encriptada: {CRYPT}mbt2zRlEwEN3s Ahora si es todo, les dejo saludos Revisado de Manuales de Juan Felipe Rios Ramirez y Julian David Hernandez Valencia
Montar Servidor LDAP en Linux [Ubuntu Server]
Datos archivados del Taringa! original
30puntos
4,273visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
10visitas
0comentarios
Dar puntos: