Administrando OpenLdap

Ahora les mostrare como se administra OpenLdap una implementacion libre del protocolo Lightweight Directory Access Protocol, utilizado para la creación y administración de directorios a bajo nivel.

En este caso lo instalare en una maquina de CentOs sus Repositorios Actualizados y deduciré que tienen un servidor dns con su dominio, en mi caso es gnunick.com, de no ser asi los invito a visitar este enlace.

CONFIGURANDO UN SERVIDOR DNS EN CENTOS

Comenzaremos entonces descargando los paquetes necesarios, los cuales son openldap-servers y openldap-clients.



Luego de descargados ejecutaremos slappasswd comando que nos pedirá una contraseña para cifrar, este cifrado lo copiaremos ya que lo necesitamos para el siguiente paso.


Luego editaremos el archivo /etc/openldap/slapd.conf


Y definiremos los siguientes parámetros.

database: bdb                                                
El nombre de la base de datos.

suffix: "dc=gnunick,dc=com"  
El sufijo de las tablas o el dominio.

rootdn: "cn=root,dc=gnunick,dc=com"        
El y dominio del usuario root.

rootpw: --------                                                  
La contraseña que ciframos.

Luego de esto copiaremos la base de datos de ejemplo desde /etc/openldap/DB_CONFIG.example a /var/lib/ldap/ llamandola DB_CONFIG y cambiandole el propietario a esta carpeta de manera recursiva


Iniciaremos entonces el servicio ldap



Luego editaremos el archivo /etc/openldap/ldap.conf


Y añadiremos en BASE nuestro dominio y en URI la url de la base de datos LDAP tal y como registra en nuestro DNS.



Añadiendo Objetos Con Ldapadd.

Ahora crearemos un archivo de inicio con extensión .ldif en el cual declararemos la raíz de nuestro árbol de unidades organizativas.



Les explicare un poco la sintaxis de nuestro nuevo archivo.

dn: dc=gnunick,dc=com
Donde dn es el nombre distinguido el cual es nuestro dominio.

ObjectClass: Object
ObjectClass: Organization
Son los tipos de objeto que utilizaremos.

dc: gnunick
Es el nombre distinguido de la entrada padre.

description:
o:
Son Objetos pertenecientes al ObjectClass organization.

Finalizado esto guardaremos y saldremos del nano, y posteriormente ejecutaremos el comando ldapadd -x -D "cn=Nuestro Usuario Administrador,dc=Nuestro Nombre de Dominio,dc=Nuestro Dominio" -W -f nombre de archivo que acabamos de crear, nos pedirá nuestro password de administrador y si es exitoso nos aparecerá una linea como la seleccionada de color azul.



Las opciones que dimos son:
-x: Usar autenticacion simple
-D: Usar el nombre distinguido de admin
-W: Pedir password
-f: Especificar el archivo desde el cual saldrá la información

Ahora crearemos un archivo en el que declararemos las unidades organizativas, nos basaremos en este esquema para realizarlas.




En este caso declaramos la raiz de gnunick.com llamada Dirección General y de esta se desglosa otra llamada sistemas, notese que el dn de Direccion General es "ou=Direccion General,dc=gnunick,dc=com" y el de sistemas es "ou=Sistemas,ou=Direccion General,dc=gnunick,dc=com" esto significa que sistemas esta dentro de dirección general, si fuéramos a declarar un objeto llamado usuarios dentro de sistemas, deberíamos hacerlo asi "ou=usuarios,ou=Sistemas,ou=Direccion General,ou=gnunick,ou=com" y así sucesivamente.

Añadiremos las unidades organizativas al ldap de igual manera que añadimos la raíz.




Y nos deberá mostrar que añadimos todas las entradas satisfactoriamente.

Ahora crearemos otro archivo .ldif para los usuarios de Dirección General y en mi caso creare 2 usuarios para cada una de las unidades organizativas de el organigrama mostrado en pasos anteriores, creare entonces un usuario llamado Alejandro y uno llamado Eliana que pertenecerán a Dirección General.


En este usuario declaramos parámetros como username, common name, apellido, shell por defecto, numero de uid, numero de gid, directorio particular, password del usuario, correo electrónico, si quiere saber que tipo de parámetros puede utilizar puede seguir este enlace.

Luego de editar los usuarios los añadiremos con ldapadd.


Y deberá salir como las áreas subrayadas de azul que indican que fue exitoso.

Buscando Objetos Con Ldapsearch.

Utilizaremos el comando ldapsearch para buscar objetos, en este caso buscaremos la raíz "dc=gnunick,dc=com" si quisiéramos buscar los usuarios de Direccion General seria "ou=Direccion General,dc=gnunick,dc=com".


La opción -x indica usar autenticacion simple y -b la base de datos a buscar.

Por ejemplo buscaremos a un usuario de logística seria:

ldapsearch -x -b "uid=David,ou=Logistica,ou=Direccion General,dc=gnunick,dc=com"

Nos arrojara esto.


Modificando Objetos Con Ldapmodify.

Vamos entonces a modificar el usuario David de logística, que acabamos de buscar, crearemos entonces un archivo .ldif para modificarlo, en mi caso se llamara Modificacion-David.ldif.


Crearemos un archivo con todos los parámetros originales de el usuario, y le cambiaremos solo lo que queremos, por ejemplo, su sn era Salazar, ahora sera Noguera, y su mail era david@gnunick.com ahora sera david-nogue@gnunick.com.

Guardamos y salimos, y luego de esto ejecutaremos el siguiente comando.


ldapmodify -x -D "cn=root,dc=gnunick,dc=com" -W - f Modificacion-David.ldif

En su caso seria

ldapmodify -x -D "cn=Nuestro Usuario Administrador,dc=Nuestro Nombre de Dominio,dc=Nuestro Dominio" -W -f el archivo a modificar.ldif

Y deberá aparecer como el área subrayada de azul.


Borrando Objetos Con Ldapdelete

Vamos a buscar un usuario de Dirección Técnica para borrarlo.


Nos salio Alexander ahora vamos a borrar este usuario con los siguientes parámetros.

ldapdelete "uid=Alecander,ou=Direccion Tecnica,ou=Direccion General,dc=gnunick,dc=com" -x -D "cn=root,dc=gnunick,dc=com" -W

En su caso seria así.

ldapdelete "uid=usuario,ou=unidad organizativa,dc=Nuestro Nombre de Dominio,dc=Nuestro Dominio" -x -D  "cn=Nuestro Usuario Administrador,dc=Nuestro Nombre de Dominio,dc=Nuestro Dominio" -W


Luego de eso si volviéramos a buscar el usuario no se encontrara en ldap.

Si has encontrado útil este artículo puedes compartirlo desde tu blog, página Web o foro.




2 comentarios:

Maicolgmid dijo...

Ey pero yo al buscar todos los usuarios solo me busca el de la principal y los otros queeeeee
que debo hacerrrrrrrrrr.

Alejandro Calderon dijo...

Tenes que poner el nombre de la unidad organizativa que contiene los usuarios que vas a buscar seguido de la raiz, por ejemplo si vamos a buscar usuarios cuya unidad organizativa es sistemas y esta ubicada dentro de direccion general seria asi "dapsearch -x -b "ou=Sistemas,ou=Direccion General,dc=gnunick,dc=com"

Publicar un comentario

 
Licencia Creative Commons
Este obra está bajo una licencia Creative Commons Atribución-NoComercial-SinDerivadas 2.5 Colombia.