You are on page 1of 24

Garca Avils 408 y Luque Piso 6 Oficina 602

Telfono: 593-4-2323360 - ventas@cetinformatica.com

www.cetinformatica.com

CENTOS LINUX
Servicio de Directorio

Open-LDAP

Basado en el documento oficial Directory Services

CET.INFORMATCIA - LDAP

Qu es un servicio de directorio?
Un servicio de directorio (SD) es una aplicacin o un conjunto de
aplicaciones que almacena y organiza la informacin sobre los usuarios
de una red de computadoras, tambin puede almacenar sobre los
recursos disponibles en la red, y permite a los administradores gestionar
el acceso de los usuarios a dichos recursos en la red.
El servicio de directorio proporciona la interfaz de acceso a los datos,
que se encuentran en uno o ms directorios. La interfaz del servicio de
directorio es la encargada de gestionar la autenticacin de los accesos al
servicio de forma segura, actuando como autoridad central para el
acceso a los recursos de sistema que manejan los datos del directorio.
Un servicio de directorio es usado para procesar consultas a un
directorio de una manera ptima. Como base de datos, un servicio del
directorio est altamente optimizado para lecturas y proporciona
alternativas avanzadas de bsqueda en los diferentes atributos que se
puedan asociar a los objetos de un directorio. Por otro lado el servicio de
directorio procesa las rdenes de eliminacin y actualizacin de un modo
muy lento. El servicio de directorio no est diseada para procesar
cientos o miles de cambios por minuto como los sistemas de base de
datos relacionales, sino para realizar lecturas de datos de forma muy
eficiente.
Los datos que se almacenan en el directorio son definidos por un
esquema extensible y modificable. Los servicios de directorio utilizan un
modelo distribuido para almacenar su informacin y esa informacin
generalmente est replicada entre los servidores que forman el
directorio.

Qu es Open LDAP?
Open LDAP ("Lightweight Directory Acces Protocol"), en espaol:
Protocolo Ligero de Acceso a Directorios, es un protocolo de tipo
cliente-servidor para acceder a un servicio de directorio.

Cmo funciona LDAP?


El servicio de directorio LDAP se basa en un modelo cliente-servidor.
Uno o ms servidores LDAP contienen los datos que conforman el rbol
de directorio LDAP o base de datos troncal. El cliente LDAP se conecta
con el servidor y le hace una consulta. El servidor contesta con la
respuesta correspondiente, o bien con una indicacin, para que el cliente
pueda hallar ms informacin.

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 2 de 24

CET.INFORMATCIA - LDAP

Usos Prcticos de LDAP

Directorios de informacin. Por ejemplo bases de datos de


empleados organizados por departamentos (siguiendo la estructura
organizativa de la empresa) cualquier tipo de pginas amarillas.

Sistemas de autenticacin/autorizacin centralizada. Grandes


sistemas donde se guarda gran cantidad de registros y se requiere
un uso constante de los mismos. Por ejemplo: Active Directory Server
de Microsoft, para gestionar todas las cuentas de acceso a una red
corporativa y mantener centralizada la gestin del acceso a los
recursos.

Sistemas de autenticacin para el ingreso a pginas Web.

Sistemas de correo electrnico. Grandes sistemas formados por ms


de un servidor que accedan a un repositorio de datos comn.

Grandes sistemas de autenticacin basados en RADIUS, para el


control de acceso de los usuarios a una red de conexin o ISP.

Servidores de certificados pblicos y llaves de seguridad.

Autenticacin nica single sign-on para la personalizacin de


aplicaciones.

Perfiles de usuarios centralizados, para permitir itinerancia


Roaming

Libretas de direcciones compartidas.

Estructura del Directorio


Los datos en el directorio se almacenan en una estructura llamada rbol.
Igual que la estructura de los directorios en el sistema de archivos la
estructura de los nombres de dominio en los servidores DNS. Una
estructura de rbol est compuesta de una raiz, sus ramas y sus hojas.
Raiz
|
----------------------------------|
|
Rama
Rama
|
|
---------------------------------------|
|
|
|
Hoja
Hoja
Hoja
Hoja

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 3 de 24

CET.INFORMATCIA - LDAP

Componentes en el rbol de directorio


En un rbol de directorio se puede colocar todos los datos de los
empleados de una empresa y en qu departamento se
encuentran.
Si se quiere plasmar la estructura jerrquica de la empresa en un
rbol, entonces se tendr lo siguiente: La raz tendr el nombre
de dominio de la empresa, las ramas tendrn los nombres de los
departamentos y las hojas tendrn los nombres de los empleados.
dc

cet.local

ou

Ventas

cn

Juan

Soporte

Luis

Roberto

Niveles del directorio


El ejemplo del rbol tiene tres niveles:
dc :
ou:
cn:

Componente de dominio (cet.local)


Unidad organizativa (Ventas, soporte)
Nombre comn (Juan, Luis; Roberto)

El Nombre distinguido (dn)


Los datos almacenados en cada nodo del directorio deben
estar representados por un nombre nico. Este nombre
nico se encuentra definido por el dn nombre distiguido.
En el dn tambin se debe especificar la ascendencia, es
decir los dn de los nodos padres.
A continuacin la estructura del rbol de la empresa
cet.local:

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 4 de 24

CET.INFORMATCIA - LDAP

dn: dc=cet, dc=local

dn: ou=Ventas,dc=cet,dc=local

dn: cn=Juan,
ou=Ventas,
dc=cet,dc=local

dn: ou=Soporte, dc=cet,dc=local

dn: cn=Luis,
ou=Ventas,
dc=cet,dc=local

dn: cn=Roberto,
ou=Ventas,
dc=cet,dc=local

Lista de los dn (nombres distinguidos) en el rbol


dn: dc=cet, dc=local
dn: ou=Ventas, dc=cet, dc=loca
dn: ou=Soporte, dc=cet,dc=local
dn: cn=Juan, ou=Ventas, dc=cet,dc=local
dn: cn=Luis, ou=Ventas, dc=cet,dc=local
dn: cn=Roberto, ou=Ventas, dc=cet,dc=local
Esquema (Schema) y clases de objetos (ObjetcClasses)
Un esquema es una coleccin de clases de objetos
(ObjectClasses), que definen el tipo de dato a ser
almacenado en el directorio. Por ejemplo el atributo cn
CommonName, as como otros atributos, se encuentran
definidos en el archivo de esquema siguiente:
/etc/openldap/schema/core.schema
A continuacin un ejemplo de los datos que podran
definirse y guardarse para Juan:
dn:cn=Juan,ou=Ventas,dc=cet,dc=local
gn:Juan
sn:Perez
objectclass:person
UserPassword:{crypt}$d3jsdfl23dsd3kjf23%$
email:jperez@cet.local
telephoneNumber:23455654
telephoneNumber:09234567
streetAddress:GarcaAviles408yLuque

Existen algunos esquemas definidos para ser usados con


diferentes tipos de datos. Esto permite una gran flexibilidad
en el caso de querer integrar otros sistemas a LDAP.

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 5 de 24

CET.INFORMATCIA - LDAP

Administracin del Directorio LDAP


El directorio LDAP est formado por un componente cliente y un
componente servidor. El servidor es un demonio que se puede iniciar
con el comando:
serviceldapstart
El servidor recibir peticiones de los clientes para administrar los datos
del directorio.
Las peticiones del cliente se entregan al servidor mediante comandos:
ldapsearch
ldapadd
ldapdelete
ldapmodify

Buscar
Agregar
Eliminar
Modificar

Si se va a crear un directorio, primero hay que planificar la estructura


que tendr el rbol del directorio. Hay que agregar los nodos en orden
jerrquico. Primero la raz luego las ramas y al final las hojas. Si intenta
agregar una hoja sin haber agregado primero la rama correspondiente,
obtendr un mensaje de error.
Archivo de intercambio LDIF
El archivo de intercambio LDIF permite mediante cualquier editor
de texto, por ejemplo el vi, escribir las entradas que formarn la
estructura del directorio.
A continuacin como ejemplo una parte del archivo LDIF que
define la estructura del rbol presentado anteriormente.
dn:dc=cet,dc=local
dc:cet
Description:LDAPAdmin
objectClass:dcObject
objectClass:organizationalUnit
ou:rootobject

dn:ou=Ventas,dc=cet,dc=local
ou:Ventas
description:UsuariosdeVentas
objectClass:organizationalUnit

dn:ou=Soporte,dc=cet,dc=local
ou:Soporte
description:UsuariosdeVentas
objectClass:organizationalUnit

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 6 de 24

CET.INFORMATCIA - LDAP

dn:cn=Juan,ou=Ventas,dc=cet,dc=local
cn:Juan
objectClass:account
objectClass:posixAccount
objectClass:top
objectClass:shadowAccount
userPassword:{crypt}$1$hQ.AeLdA$GZFoQ2mTbsTjKiRrPvetA/
shadowLastChange:14748
shadowMin:0
shadowMax:99999
shadowWarning:7
loginShell:/bin/bash
uidNumber:500
gidNumber:500
homeDirectory:/home/usrtest1

Para agregar esta definicin de estructura de rbol al directorio,


utilice la orden ldapadd junto con el archivo de intercambio LDIF.
Por ejemplo para agregar las definiciones que se encuentran en el
archivo cet.local.ldif:
ldapaddxD"cn=Manager,dc=cet,dc=local"Wfcet.local.ldif

Si se quiere agregar un nuevo nodo, entonces se debe preparar


un archivo LDIF con las entradas correspondientes. El siguiente
ejemplo utiliza el archivo usrtest1.ldif:
ldapaddxD"cn=Manager,dc=cet,dc=local"Wfusrtest1.ldif

Instalacin y configuracin
Para instalar el paquete del Servicio de directorio LDAP, debemos
instalar tanto el servidor como el cliente.
yuminstallopenldapserversopenldapclients
Creacin de un directorio para el dominio cet.local
Una vez instalado el paquete hay que configurar el servicio,
estableciendo cual va a ser el nombre del dominio y tambin el
administrador (Manager) del servicio, junto con su clave de
acceso. El administrador es el usuario que podr ejecutar las
rdenes para agregar, modificar eliminar nodos en el rbol. El
administrador, para ejecutar las rdenes, deber autentificarse
con su password.
Archivo de configuracin:
/etc/openldap/slapd.conf
Abra el archivo slapd.conf para su edicin

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 7 de 24

CET.INFORMATCIA - LDAP

vi/etc/openldap/slapd.conf
Busque la entrada suffix para que cambie:

suffixdc=mydomain,dc=com
por
suffixdc=cet,dc=local
En el mismo, archivo busque la entrada rootdn para que cambie:
rootdncn=Manager,dc=mydomain,dc=com
por
rootdn"cn=Manager,dc=cet,dc=local"
Guarde los cambios.
El siguiente paso ser crear la clave para el administrador del
directorio. Para el efecto se usar el comando slappasswd.
Ejecute el comando y se le solicitar que escriba la contrasea
dos veces. Inmediatamente se mostrar una cadena de
caracteres correspondiente a la contrasea que escribi, pero
esta se muestra encriptada.
slappasswd

Enternewpasswrod:xxxxx
Confirmpassword:xxxxx

{SSHA}qs3h9wDMjZINHuC1cS3LLjLwc0l/dZWv

Copie la clave encriptada y abra nuevamente el archivo de


configuracin slapd.conf. En el archivo, busque la entrada rootpw
y reemplace la clave que se encuentra escrita, por la nueva clave
que se gener:
vi/etc/openldap/slapd.conf
rootpw{SSHA}qs3h9wDMjZINHuC1cS3LLjLwc0l/dZWv

Guarde los cambios realizados


Copie el archivo DB_CONFIG.example que se encuentra en
/etc/openldap al directorio /var/lib/ldap/ pero con el nombre
DB_CONFIG. Luego haga que el archivo le pertenezca al servicio
LDAP
cp/etc/openldap/DB_CONFIG.example/var/lib/ldap/DB_CONFIG

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 8 de 24

CET.INFORMATCIA - LDAP

chownldap:ldap/var/lib/ldap/DB_CONFIG

Para verificar que el archivo sladap.conf no tiene ningn error de


sintaxis ejecute el comando :
slaptestu

Si todo est correcto entonces obtendr la siguiente salida en


pantalla:
configfiletestingsucceeded

Para probar el servidor LDAP, inicie el servicio y luego ejecute el


comando ldapsearch para verificar que el servidor est
respondiendo a las peticiones del cliente.
serviceldapstart

ldapsearchxbsbase(objectclass=*)namingContexts

La salida en pantalla deber ser la siguiente:


#extendedLDIF
#
#LDAPv3
#base<>withscopebaseObject
#filter:(objectclass=*)
#requesting:namingContexts
#

#
dn:
namingContexts:dc=cet,dc=local

#searchresult
search:2
result:0Success

#numResponses:2
#numEntries:1

En este listado podemos ver que se muestra la entrada


namingContext con los valores del dominio creado:
dn:
namingContexts:dc=cet,dc=local

Con los pasos realizados hasta el momento, se ha creado el


dominio (raiz del arbol). Ahora hay que empezar a agregar, las
ramas y las hojas del rbol del directorio, de acuerdo una
estructura planificada previamente.
A continuacin se crear la estructura necesaria para almacenar
la informacin de los usuarios y sus claves de acceso. Se crear

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 9 de 24

CET.INFORMATCIA - LDAP

un directorio para la administracin de la autenticacin de los


usuarios de manera centralizada.

Autenticacin centralizada de usuarios mediante LDAP


La autenticacin de usuarios centralizada mediante LDAP, permite al
administrador de una red, agregar los usuarios y sus respectivas claves
a un directorio. El usuario que requiera ingresar a una computadora,
deber estar registrado en dicho directorio.
Antes de ingresar a los usuarios al directorio, primero se debe agregar la
raz y las ramas del arbol. Los usuarios sern las hojas. La raz ser el
dominio dc=cet,dc=local. Bajo la raz se agregar una unidad
organizativa llamada ou=People y bajo esta, estarn los
usuarios.
dn: dc=cet,dc=local

dn:
ou=People,dc=cet,dc=local

dn:
uid=usrtest1,ou=People,dc=cet,dc=local

dn:
uid=usrtest2,ou=People,dc=cet,dc=local

Agregar el dominio y la unidad organizativa


Mediante la creacin de un archivo LDIF, se crear la estructura
del dominio y de la unidad organizativa People. El archivo se
llamar cet.local.ldif, aunque usted puede llamarlo como
desee.
Utilice el editor vi para ingresar el texto que se muestra a
continuacin:
vi/etc/openldap/cet.local.ldif

dn:dc=cet,dc=local
dc:cet
description:LDAPAdmin
objectClass:dcObject
objectClass:organizationalUnit
ou:rootobject

dn:ou=People,dc=cet,dc=local
ou:People
CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 10 de 24

CET.INFORMATCIA - LDAP

description:Usuariosdecet
objectClass:organizationalUnit

dn:ou=Group,dc=cet,dc=local
ou:Group
description:Gruposdecet
objectClass:organizationalUnit
Guarde el archivo. Para agregar la estructura creada al directorio,
utilice el comando ldapadd
ldapaddxD"cn=Manager,dc=cet,dc=local"Wf/etc/openldap/cet.local.ldif

Inmediatamente se le pedir que ingrese la clave de administrador


del LDAP.
EnterLDAPPassword:xxxxx

Despus de ingresar la clave se muestran los mensajes indicando


que se han agregado las entradas correspondientes:
addingnewentry"dc=cet,dc=local"

addingnewentry"ou=People,dc=cet,dc=local"

Para comprobar que los datos se agregaron al directorio:


ldapsearchxbdc=cet,dc=local(objectclass=*)

A continuacin se deben agregar los usuarios al directorio. Estos


usuarios estarn bajo la unidad organizativa People.
Agregar los usuarios y grupos al directorio LDAP
Para agregar los usuarios, se har uso de unos programas
desarrollados en el lenguaje de programacin Perl, que vienen
como parte del paquete Open LDAP, y sirven para facilitar al
administrador la migracin de los usuarios y grupos registrados
en el sistema hacia el directorio LDAP. Con el uso de estos
programas ya no es necesario escribir las entradas para los
archivos LDIF
Los pasos a seguir son los siguientes:

Primero, se agregarn los usuarios y grupos al sistema


respectivamente con useraddygroupadd.
Segundo, se crear un archivo para cada usuario y grupo,
el mismo que tendr la informacin respectiva de cada uno.
Tercero, se usar la herramienta migrate_passwd.pl
(programa escrito en un lenguaje de programacin llamado
perl), para migrar la informacin de cada usuario a un
archivo LDIF.

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 11 de 24

CET.INFORMATCIA - LDAP

Cuarto, se agregarn al directorio los archivos LDIF


creados.

Agregar los usuarios al sistema


Vamos a agregar dos usuarios: usrt1 y usrt2 que
pertenecern al grupo estudiantes .
groupaddestudiantes
useraddusrt1gestudiantes
passwdusrt1

Changingpasswordforuserusrt1.
NewUNIXpassword:xxxxxx
RetypenewUNIXpassword:xxxxxx
passwd:allauthenticationtokensupdatedsuccessfully.
useraddusrt2gestudiantes
passwdusrt2

Changingpasswordforuserusrt2.
NewUNIXpassword:xxxxxx
RetypenewUNIXpassword:xxxxxx
passwd:allauthenticationtokensupdatedsuccessfully.

Agregar los usuarios al grupo estudiantes


Se agregaran los usuarios ust1 y usrt2 al grupo estudiantes
gpasswdausrt1estudiantes
gpasswdausrt2estudiantes

Crear archivos con informacin para cada usuario y grupo


Como el archivo /etc/passwd tiene muchos usuarios que no
nos interesa agregar al directorio, se usar el comando
grep para filtrar el usuario que nos interesa. La informacin
del usuario, se agregar a un archivo que se llamar
passwd.[usuario], donde [usuario] reemplaza al nombre del
usuario en cuestin. Para el grupo ser group.[grupo].
grepusrt1/etc/passwd>/etc/openldap/passwd.usrt1

grepusrt2/etc/passwd>/etc/openldap/passwd.usrt2

Tambin se agregar el usuario root al directorio.


greproot/etc/passwd>/etc/openldap/passwd.root

Lo mismo hacemos para el grupo estudiantes


grepestudiantes/etc/group>/etc/openldap/group.estud
CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 12 de 24

CET.INFORMATCIA - LDAP

Migrar los archivos de usuario y grupo al archivo LDIF


Para migrar la informacin de los archivos creados, se va a
utilizar un programa llamado migrate_passwd.pl y
migrate_group.pl. Estos programas se encuentra en el
directorio:
/usr/share/openldap/migration/. Los
programas toman la entrada del archivo passwd.[usuario]
group.[grupo] con los datos y como salida, genera un
archivo LDIF.
Antes de poder ejecutar el programa migrate_passwd.pl
ymigrate_group.pl, se debe configurar, para establecer
el nombre del dominio correspondiente.
Use el vi para abrir el archivo de configuracin, llamado
migrate_common.ph:
vi/usr/share/openldap/migration/migrate_common.ph

En el archivo ubique las siguientes entradas y reemplace


por el nombre del dominio, cet.local, as como se indica a
continuacin
$DEFAULT_MAIL_DOMAIN="cet.local";
$DEFAULT_BASE="dc=cet,dc=local";

Guarde los cambios.


Ahora
ya
puede
ejecutar
el
programa
migrate_password.pl. Ejecute el programa para cada
archivo passwd.[usuario] que se ha creado.
cd/usr/share/openldap/migration/

./migrate_passwd.pl/etc/openldap/passwd.usrt1/etc/openldap/usrt1.ldif

./migrate_passwd.pl/etc/openldap/passwd.usrt2/etc/openldap/usrt2.ldif
./migrate_passwd.pl/etc/openldap/passwd.root/etc/openldap/root.ldif

Para observar el contenido de los archivos generados, use


el editor vi. A continuacin se muestra el contenido del
archivo root.ldif.
dn:uid=root,ou=People,dc=cet,dc=local
uid:root
cn:root
objectClass:account
objectClass:posixAccount
objectClass:top
objectClass:shadowAccount
userPassword:{crypt}$1$YKZYSgP4$v5/ehBWGJIRI0J/Dg4wQG.
shadowLastChange:14748
shadowMin:0
CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 13 de 24

CET.INFORMATCIA - LDAP

shadowMax:99999
shadowWarning:7
loginShell:/bin/bash
uidNumber:0
gidNumber:0
homeDirectory:/root
gecos:root

Observe cmo el programa de migracin cre todas las


entradas automticamente.
Come se va a agregar el usuario root al directorio, hay que
hacer un pequeo cambio en el archivo root.ldif.
Modifique la siguiente lnea:
cn:root
por
cn:Manager
Guarde los cambios.
Tambin debern agregar los grupos
./migrate_group.pl/etc/openldap/group.estud/etc/openldap/estud.ldif

Agregar al directorio los archivos LDIF creados


Con el comando ldapadd se agregaran los usuarios al
directorio.
La ejecucin de ldapadd solicitar que ingrese el password
de administrador del directorio LDAP
Agregar el usuario usrt1:

ldapaddxD"cn=Manager,dc=cet,dc=local"Wf/etc/openldap/usrt1.ldif

EnterLDAPPassword:xxxxx
addingnewentry"uid=usrt1,ou=People,dc=cet,dc=local"

Agregar el usuario usrt2:


ldapaddxD"cn=Manager,dc=cet,dc=local"Wf/etc/openldap/usrt2.ldif

EnterLDAPPassword:xxxxx
addingnewentry"uid=usrt2,ou=People,dc=cet,dc=local"

Agregar el usuario root:


ldapaddxD"cn=Manager,dc=cet,dc=local"Wf/etc/openldap/root.ldif
EnterLDAPPassword:xxxxxx

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 14 de 24

CET.INFORMATCIA - LDAP

addingnewentry"uid=root,ou=People,dc=cet,dc=local"
addingnewentry"uid=operator,ou=People,dc=cet,dc=local"

Agregar el grupo estud (estudiantes):


ldapaddxD"cn=Manager,dc=cet,dc=local"Wf
/etc/openldap/estud.ldif

EnterLDAPPassword:xxxxx
addingnewentry"cn=estudiantes,ou=Group,dc=cet,dc=local"

Ver la informacin ingresada al directorio


Para mostrar los datos que se han ingresado al directorio LDAP
utilice el comando ldapsearch:
ldapsearchxbdc=cet,dc=local(objectclass=*)

La salida en pantalla muestra todos los nodos del rbol del


directorio para el dominio cet.local. Muestra la entrada para
ou=People y los usuarios root, usrt1 y usrt2
#extendedLDIF
#
#LDAPv3
#base<dc=cet,dc=local>withscopesubtree
#filter:(objectclass=*)
#requesting:ALL
#

#cet.local
dn:dc=cet,dc=local
dc:cet
description:LDAPAdmin
objectClass:dcObject
objectClass:organizationalUnit
ou:rootobject

#People,cet.local
dn:ou=People,dc=cet,dc=local
ou:People
description:Usuariosdecet
objectClass:organizationalUnit

#root,People,cet.local
dn:uid=root,ou=People,dc=cet,dc=local
uid:root
cn:Manager
objectClass:account
objectClass:posixAccount
objectClass:top
objectClass:shadowAccount
userPassword::
e2NyeXB0fSQxJFlLWllTZ1A0JHY1L2VoQldHSklSSTBKL0RnNHdRRy4=
shadowLastChange:14748
shadowMin:0
shadowMax:99999
shadowWarning:7
loginShell:/bin/bash
uidNumber:0
gidNumber:0

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 15 de 24

CET.INFORMATCIA - LDAP

homeDirectory:/root
gecos:root

#usrt1,People,cet.local
dn:uid=usrt1,ou=People,dc=cet,dc=local
uid:usrt1
cn:usrt1
objectClass:account
objectClass:posixAccount
objectClass:top
objectClass:shadowAccount
userPassword::
e2NyeXB0fSQxJGhRLkFlTGRBJEdaRm9RMm1UynNUaktpUnJQdmV0QS8=
shadowLastChange:14748
shadowMin:0
shadowMax:99999
shadowWarning:7
loginShell:/bin/bash
uidNumber:500
gidNumber:500
homeDirectory:/home/usrt1

#usrt2,People,cet.local
dn:uid=usrt2,ou=People,dc=cet,dc=local
uid:usrt2
cn:usrt2
objectClass:account
objectClass:posixAccount
objectClass:top
objectClass:shadowAccount
userPassword::
e2NyeXB0fSQxJFdXMGk2a0ZDJC5nb2Vod1VlajNYa1EyUlRheUpoby4=
shadowLastChange:14748
shadowMin:0
shadowMax:99999
shadowWarning:7
loginShell:/bin/bash
uidNumber:501
gidNumber:501
homeDirectory:/home/usrt2

Configurar las estaciones para la autenticacin centralizada


Las estaciones de trabajo que corren Linux como su sistema
operativo, normalmente estn configuradas para que los usuarios
se autentifiquen localmente usando MD5 y Shadow password.
Antes de empezar a usar LDAP, debemos instalar el respectivo
cliente:
yuminstallopenldapclients
Para que las estaciones de trabajo puedan autentificarse frente al
servidor LDAP, hay que realizar la configuracin respectiva. Esta
configuracin se puede hacer, editando los archivos:
/etc/nsswtich.conf

/etc/openldap/ldap.conf

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 16 de 24

CET.INFORMATCIA - LDAP

Tambin puede configurar el cliente usando la herramienta


authconfigtui, que har los cambios necesarios en los
archivos mencionados arriba.
La herramienta authconfigtui se ejecuta en el modo de texto.
La misma herramienta, que se ejecuta en el modo grfico, se
llama authconfiggui. Para correr la herramienta en el modo
grfico deber tener configurado el ambiente grfico GUI.
En la estacin de trabajo cliente, ingrese como usuario root y
ejecute el comando atuhconfig-tui:
authconfigtui
En la columna de Informacin del usuario marque: Utilizar
LDAP. En la columna Autenticacin marque: Utilizar
Autenticacin LDAP.
Configuracin de la autenticacin
Informacin del usuario
[ ] Informacin de la cach
[ ] Utilizar Hesiod
[* ] Utilizar LDAP
[ ] Utilizar NIS
[ ] Utilizar Winbind

Cancelar

Autenticacin
[*] Utilizar contraseas MD5
[*] Utilizar contraseas ocultas (shadow)
[* ] Utilizar Autenticacin LDAP
[ ] Utilizar Kerberos
[ ] Utilizar Autenticacin SMB
[ ] Utilizar Autenticacin Winbind
[ ] La autorizacin local es suficiente
Siguiente

Elija el botn siguiente


Se muestra la siguiente ventana. En esta ventana escriba la
direccin IP del servidor LDAP y el dominio dc=cet,dc=local.

Configuracin de LDAP
[ ] Utilizar TLS
Servidor: ldap://192.168.0.96/_______________________
DN base: dc=cet,dc=local_______________________

Anterior

Aceptar

Elija el botn Aceptar para guardar los cambios.


Ingrese al sistema como cualquiera de los dos usuarios: usrt1

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 17 de 24

CET.INFORMATCIA - LDAP

loginas:usrt1
usrt1password:xxxxxx
Lastlogin:WedMay1914:17:332010
Couldnotchdirtohomedirectory/home/usrt1:Nosuch
fileordirectory
bash3.1$

El usuario ya puede ingresar con el nombre usuario: usrt1, pero


aparece un mensaje indicando que ese usuario no tiene un
directorio personal /home/usrt1 en esa estacin.
Existen dos soluciones para resolver el problema.

La primera solucin, es utilizar pam. De esta manera se


crea el directorio del usuario automticamente, la primera
vez que ingrese al sistema. El problema con esta solucin,
es que habr que configurar cada estacin, el directorio
ser local, y si el usuario se autentifica en otra estacin, se
crear un segundo directorio para el usuario en esa
estacin.

La segunda solucin es crear el directorio personal del


usuario en el servidor LDAP. El usuario una vez que se
autentifique, tendr acceso a su directorio en el Servidor
va nfs. El directorio se montar automticamente
mediante autofs. Esta es la solucin recomendada, ya que
el directorio se almacenar en el servidor. El usuario puede
autenticarse en cualquier estacin, y siempre tendr
acceso a sus datos en el servidor.

Creacin automtica del directorio de usuario mediante pam


En la estacin de trabajo (cliente), ingrese como root y abra el
archivo /etc/pam.d/login para su edicin
vi/etc/pam.d/login
Agregue al final la siguiente lnea:
sessionrequired/lib/security/pam_mkhomedir.soskel=/etc/skel/umask=0077

Guarde los cambios.


Ingrese como usuario usrt1 y aparecer el mensaje que le indica
sobre la creacin automtica del directorio.
Login:usrt1
Password:xxxxx
Creatingdirectory'/home/usrt1'.
Creatingdirectory'/home/usrt1/.mozilla'.
Creatingdirectory'/home/usrt1/.mozilla/extensions'.

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 18 de 24

CET.INFORMATCIA - LDAP

Creatingdirectory'/home/usrt1/.mozilla/plugins'.

Lastlogin:WedMay1914:17:332010

Auto montaje del directorio de usuario mediantenfs+autofs


Para realizar el auto montaje automtico del directorio del usuario
en la estacin de trabajo donde se autentifique, se debe
configurar tanto el servidor LDAP como estacin de trabajo
(cliente).
Los siguiente pasos de configuracin, servirn para el auto
montaje del directorio para usuario usrt2.
 Se asume que el servicionfs est corriendo en el servidor y
que en la estacin de trabajo se puede montar sin problemas un
directorio exportado en el servidor, ya sea manual
automticamente va autofs.
Configuracin del Servidor:
Exporte el directorio /home/usrt2 para que est disponible
mediante nfs.
vi/etc/exports
Agregue la siguiente lnea en el archivo exports:
/home/usrt2*(rw,sync)
Actualice la lista de directorios exportados
exportfsa
El paquete Open LDAP viene con un archivo de esquema
prediseado (autofs.schema), que contiene las clases de
objetos necesarios para almacenar la informacin
correspondiente al mapa de los directorios a ser
automontados.
Abra con el editor vi el archivo slapd.conf y agregue la
siguiente lnea en la seccin include.
vi/etc/openldap/slapd.conf
include/etc/openldap/schema/redhat/autofs.schema

Guarde los cambios y reinicie el servicio LDAP, para que


este pueda aceptar los datos del esquema de automontaje.

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 19 de 24

CET.INFORMATCIA - LDAP

serviceldaprestart
Mediante la inclusin del esquema autofs.schema, LDAP
ya puede entender los datos que se van a agregar al rbol
del directorio. Para poder agregar estos datos hay que
crear el archivo LDIF respectivo.
En el archivo LDIF habr una entrada llamada
automountInformation donde se fija, la direccin IP del
servidor, donde se aloja el directorio personal del usuario
Cree un nuevo archivo llamado automount.ldify escriba
lo que se muestra a continuacin:
viautomount.ldif
dn:ou=auto.master,dc=cet,dc=local
objectClass:top
objectClass:automountMap
ou:auto.master

dn:ou=auto.home,dc=cet,dc=local
objectClass:top
objectClass:automountMap
ou:auto.home

dn:cn=/home,ou=auto.master,dc=cet,dc=local
objectClass:automount
automountInformation:ldap:ou=auto.home,dc=cet,dc=local
cn:/home
dn:cn=usrt2,ou=auto.home,dc=cet,dc=local
objectClass:automount
automountInformation:rw,hard,intr
192.168.0.96:/home/usrt2
cn:usrt2

Agregue el archivo automount.ldifal directorio


ldapaddxD"cn=Manager,dc=cet,dc=local"Wf
/etc/openldap/automount.ldif

Configuracin de la estacin de trabajo


Ingrese como usuario root. Abra con el vi el archivo
nsswitch.conf y verifique que se encuentre la siguiente
lnea:
vi/etc/nsswitch.conf

automount:filesldap
Abra con el vi el archivo autofs:
vi/etc/sysconfig/autofs
CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 20 de 24

CET.INFORMATCIA - LDAP

Ubique las lneas de texto que se indican


BROWSE_MODE="no"
#LDAP_URI=""
#SEARCH_BASE=""
Llene estas directivas con los datos que corresponden al
servidor LDAP:
BROWSE_MODE="yes"
LDAP_URI="ldap://192.168.0.96"
SEARCH_BASE="dc=cet,dc=local"
En el mismo archivo des-comente las siguientes lneas:
MAP_OBJECT_CLASS="automountMap"
ENTRY_OBJECT_CLASS="automount"
MAP_ATTRIBUTE="ou"
ENTRY_ATTRIBUTE="cn"
VALUE_ATTRIBUTE="automountInformation"

Guarde los cambios.


Salga del sistema e ingrese como usuario usrt2:
logout

LINUX2login:usrt2
Password:xxxxxx
FSCache:Loaded
FSCache:netfs'nfs'registeredforcaching
Lastlogin:ThuMay2006:17:41ontty1

Despus de autenticarse, el usuario automticamente tiene


acceso a su directorio personal.
Para verificar que se realiz el montaje del directorio
ejecute:
mount

/dev/mapper/VolGroup00LogVol00on/typeext3(rw)
procon/proctypeproc(rw)
sysfson/systypesysfs(rw)
devptson/dev/ptstypedevpts(rw,gid=5,mode=620)
/dev/hda1on/boottypeext3(rw)
tmpfson/dev/shmtypetmpfs(rw)
noneon/proc/sys/fs/binfmt_misctypebinfmt_misc(rw)
sunrpcon/var/lib/nfs/rpc_pipefstyperpc_pipefs(rw)
192.168.0.96:/home/usrtest2on/home/usrtest2typenfs
(rw,hard,intr,addr=192.168.0.97)

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 21 de 24

CET.INFORMATCIA - LDAP

El usuario usrt2 puede ingresar desde cualquier estacin


de trabajo en la red. Obviamente en cada una de las
estaciones de trabajo el administrador debe previamente
editar los archivos nsswitch.conf y autofs, tal como se
indic anteriormente.
Agregar nuevos usuarios al directorio LDAP
La estructura en forma de rbol del directorio LDAP ya ha
quedado armada y lista para poder albergar nuevos usuarios junto
con la informacin respectiva del punto de montaje de sus
directorios personales.
Si queremos agregar un nuevo usuario, ingrese al servidor LDAP
como root y siga los siguientes pasos que han sido resumidos.
Reemplace [usuario] con el nombre del usuario que desea
agregar [grupo] con el nombre del grupo al que desea unir al
usuario, y [clave usuario] con la clave respectiva. El grupo al que
se va unir el usuario, deber ya estar agregado al directorio
LDAP, de lo contrario, deber crear el grupo en el sistema y
migrarlo al directorio LDAP.

useradd[usuario]g[grupo]
passwd[claveusuario]

gpasswda[usuario][grupo]

grep[usuario]/etc/passwd>
/etc/openldap/passwd.[usuario]

/usr/share/openldap/migration/migrate_passwd.pl
/etc/openldap/passwd.[usuario]
/etc/openldap/[usuario].ldif

ldapaddxD"cn=Manager,dc=cet,dc=local"Wf
/etc/openldap/[usuario].ldif

vi/etc/exports

/home/[usuario]*(rw,sync)

:x

exportfsa

vi/etc/openldap/home_[usuario].ldif

dn:cn=[usuario],ou=auto.home,dc=cet,dc=local
objectClass:automount
automountInformation:rw,hard,intr
192.168.0.96:/home/[usuario]
cn:[usuario]

:x
CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 22 de 24

CET.INFORMATCIA - LDAP

ldapaddxD"cn=Manager,dc=cet,dc=local"Wf
/etc/openldap/home_[usuario].ldif

Verifique que el usuario ha sido agregado

ldapsearchxb'dc=cet,dc=local''cn=[usuario]'

El [usuario] ya puede ingresar desde cualquier estacin de


trabajo en la red.
Modificar informacin de un usuario en el directorio
Existe el comandoldapmodify, que permite hacer cambios a
cualquier entrada del directorio.
Es comando carga un archivo LDIF que contiene las instrucciones
a ejecutar. Obviamente debemos saber el dn correspondiente
para ubicar el dato que se desea modificar
Por ejemplo si queremos cambiar el nombre del directorio
exportado para un usuario, en los datos que corresponden a la
entrada automountInformation:
dn:cn=usrt2,ou=auto.home,dc=cet,dc=local
objectClass:automount
automountInformation:rw,hard,intr

192.168.0.97:/home/usrtest2
cn:usrt2

El nombre del directorio dice /home/usrtest2 y debe ser


/home/usrt2
Con el vi cree un nuevo archivo LDIF con las siguientes
instrucciones:
vi/etc/openldap/modificar.ldif
dn:cn=usrt2,ou=auto.home,dc=cet,dc=local
changetype:modify
replace:automountInformation
automountInformation:rw,hard,intr

192.168.0.97:/home/usrt2

La primera lnea es para ubicar el nodo del arbol de directorio. La


segunda lnea indica el tipo de cambio (changetype), en este caso
ser modify (modificar). La tercera lnea indica la entrada que se
va a reemplazar (replace), en este caso se va hacer una
modificacin a la entrada autmountInformation. La cuarta lnea
tiene los cambios que se quieren.
Ejecute ldapmodify

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 23 de 24

CET.INFORMATCIA - LDAP

ldapmodifyxD"cn=Manager,dc=cet,dc=local"Wf

/etc/openldap/modificar.ldif

Eliminar entradas al directorio


Para eliminar un nodo completo en rbol del directorio use el
comando ldapdelete
Por ejemplo si se quiere eliminar la entrada:
dn:cn=usrt2,ou=auto.home,dc=cet,dc=local
Cree un archivo ldif y ejecute el comando como se indica a
continuacin:
vi/etc/openldap/eliminar.ldif
cn=usrt3,ou=auto.home,dc=cet,dc=local
Guarde el archivo
Ejecute el comando:
ldapdeletexD"cn=Manager,dc=cet,dc=local"Wf

/etc/openldap/eliminar.ldif

Slo podr eliminar nodos de ltimo nivel.


Eliminar toda la base de datos del directorio
Para eliminar toda la base de datos del directorio elimine todos los
archivos del directorio /var/lib/ldap
rm/var/lib/ldap

CET.Informtica - www.cetinformatica.com
Garca Avils 408 y Luque Of. 602 - 2323360

Pgina 24 de 24

You might also like