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.

Mis Repositorios De Debian

A continuacion les muestro cuales son mis repositorios de debian, estos los pueden ingresar en el archivo /etc/apt/sources.list

cd /etc/apt
nano sorces.list

#Repositorios oficiales:
deb http://ftp.es.debian.org/debian lenny main contrib non-free
deb-src http://ftp.es.debian.org/debian lenny main contrib non-free

#Repositorios de seguridad:
deb http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main contrib

#Repositorios volátiles:
#deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib
#deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib

#Repositorios Multimedia:
deb http://www.debian-multimedia.org/ lenny main

#Para descargar Xmms
#deb http://www.pvv.ntnu.no/~knuta/xmms/lenny ./
#deb-src http://www.pvv.ntnu.no/~knuta/xmms/lenny ./

Compilando Rdesktop

Rdesktop es una aplicación que nos sirve para conectarnos vía escritorio remoto a equipos Windows técnicamente trabaja con el protocolo RDP de Microsoft, es uno de los clientes de escritorio remoto mas utilizados en Linux ademas es fácil de instalar y lo encontramos en los repositorios.

Hoy procederemos entonces a compilarlo.

Lo primero que debemos hacer es bajar el código fuente desde la pagina oficial.



o desde la terminal


Después listaremos y verificaremos que exista el archivo .tar.gz lo descomprimiremos con tar y luego ingresaremos a el.



Verificaremos el archivo readme y miraremos que nos de información sobre la instalación.


Ejecutaremos entonces ./configure para verificar que las condiciones del equipo sean optimas para la compilación.

 
En mi caso salio el siguiente error.


Esto se debía a que no tenia la libreriax11 instalada así que procedí a instalarla.


Luego de instalado procedí a intentar de nuevo.


El error es por que me faltaba el openssl así que lo instale.


Y finalmente podía proceder a compilar con el comando make.


Y por ultimo make install para instalar.


No me apareció ningún error en la instalación e introduje el comando rdesktop y la ip del equipo windows a manipular.


y esto fue exitoso.

Compilando Wireshark 1.4.4

Wireshark es un software para el analisis de protocolos y captura de paquetes, haciendo de este una herramienta muy util para quienes estamos de la mano de el mundo del networking.

Hoy les enseñare la compilacion hecha en un SO Ubuntu 10.10 y les evidenciare cada uno de los errores que me lanzo esta compilacion.

Comenzaremos por descargar las fuentes desde la pagina oficial.


O por consola con el siguiente comando.



Cuando finalice la descarga listaremos y verificaremos que tenemos el archivo comprimido wireshark-1.4.4.tar.bz2 y lo descomprimiremos con el comando tar jxvf.


Si hacemos un listado al final de la descomprecion apreciaremos una carpeta, ahora entraremos en ella.


Luego buscaremos el archivo README del que sacaremos gran cantidad de informacion  referente a la instalacion.


Tambien podremos ver informacion referente a esto en el archivo INSTALL


Luego de revisar minuciosamente estos archivos podremos comenzar a compilar con el comando ./configure los errores que mostrare me ocurrieron a mi, y les mostrare como corregir estos, si les ocurrieran errores diferentes no duden en escribirme para tratar de ayudarlos.


Mi primer error decía lo siguiente.

configure: error: I couldn't find yacc (or bison or ...); make sure it's installed and in your path

Es decir que no era posible encontrar el yacc, asi que procedi a buscarlo en los repositorios e instalarlo.


Luego de instalado procedi a tratar de iniciar de nuevo el proceso de compilacion con ./configure y este me lanzo el segundo error, pero podiamos observar que el yacc ya no tenia problemas, el segundo error decia lo siguiente.


configure: error: I couldn't find flex; make sure it's installed and in your path
 
Asi que procedi a buscar el flex e instalar el flex.
 

Luego de instalar el flex, intente compilar de nuevo y me lanzo el tercer error.


checking for GTK+ - version >= 2.4.0... no *** Could not run GTK+ test program, checking why... *** The test program failed to compile or link. See the file config.log for the *** exact error that occured. This usually means GTK+ is incorrectly installed. configure: error: GTK+ 2.4 or later isn't available, so Wireshark can't be compiled
Este error me decia que habian problemas con las librerias GTK+
y en la documentacion oficial de Wireshark me decian que el error se solucionaba
instalando los siguientes paquetes.

 
aptitude install libgtk2.0-dev libglib2.0-dev libpcap0.8-dev flex bison
 
Finalmente intente compilar de nuevo.
 
 
Y al mostrarme de nuevo el prompt y ningun error pude apreciar que habia sido satisfactorio. Tan solo habia acabado el primer paso de la compilacion (./configure), el siguiente pasoera compilar, con el comando make.
 

Ahora me aparece de nuevo el prompt y despues de compilado debia proceder a instalarlo con el comando make install.

De nuevo me aparecia el prompt y ningun error, entonces lo habia instalado satisfactoriamente en el sistema, ahora debia probarlo. Ejecute entonces el comando wireshark y me lanzo un error de librerias.

El error decia que no encontraba la libreria libwiretap.so.0, esto se debia a que debia copiar de las librerias de la carpeta wireshark-1.4.4 este archivo a la carpeta /lib/ del sistema.

Entonces con el comando find busque el archivo y me di cuenta que estaba en la carpeta wiretap/.libs/ asi que lo copie y lo pegue en la carpeta /lib/

Luego de esto volvi a ejecutar el wireshark y me lanzo un segundo error de librerias esta vez con la libreria libwireshark.so.0 y hice lo mismo que en el paso anterior.

Por tercera vez me lanzo un error de librerias y realice lo mismo, esta vez con la libreria libwsutil.so.0


Finalmente ejecute el comando wireshark y el programa me abrio perfectamente.



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