24
García Avilés 408 y Luque Piso 6 Oficina 602 Teléfono: 593-4-2323360 - [email protected] www.cetinformatica.com CENTOS LINUX Servicio de Directorio Open-LDAP Basado en el documento oficial “Directory Services”

Centos Linux- Ldap

Embed Size (px)

DESCRIPTION

Linux

Citation preview

  • Garca Avils 408 y Luque Piso 6 Oficina 602

    Telfono: 593-4-2323360 - [email protected] 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.

    Ventas Soporte

    Juan Luis Roberto

    cet.local

    dc ou cn

    Niveles del directorio

    El ejemplo del rbol tiene tres niveles: dc : Componente de dominio (cet.local) ou: Unidad organizativa (Ventas, soporte) cn: 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: ou=Ventas,dc=cet,dc=local 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

    dn: 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=localgn:Juansn:Perezobjectclass:personUserPassword:{crypt}$d3jsdfl23dsd3kjf23%$email:[email protected]:23455654telephoneNumber:09234567streetAddress: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 Buscar ldapadd Agregar ldapdelete Eliminar ldapmodify 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=localdc:cetDescription:LDAPAdminobjectClass:dcObjectobjectClass:organizationalUnitou:rootobjectdn:ou=Ventas,dc=cet,dc=localou:Ventasdescription:UsuariosdeVentasobjectClass:organizationalUnitdn:ou=Soporte,dc=cet,dc=localou:Soportedescription:UsuariosdeVentasobjectClass: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=localcn:JuanobjectClass:accountobjectClass:posixAccountobjectClass:topobjectClass:shadowAccountuserPassword:{crypt}$1$hQ.AeLdA$GZFoQ2mTbsTjKiRrPvetA/shadowLastChange:14748shadowMin:0shadowMax:99999shadowWarning:7loginShell:/bin/bashuidNumber:500gidNumber:500homeDirectory:/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.

    slappasswdEnternewpasswrod:xxxxxConfirmpassword: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.

    serviceldapstartldapsearchxbsbase(objectclass=*)namingContexts

    La salida en pantalla deber ser la siguiente:

    #extendedLDIF##LDAPv3#basewithscopebaseObject#filter:(objectclass=*)#requesting:namingContexts##dn:namingContexts:dc=cet,dc=local#searchresultsearch:2result: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=localdc:cetdescription:LDAPAdminobjectClass:dcObjectobjectClass:organizationalUnitou:rootobjectdn:ou=People,dc=cet,dc=localou:People

    CET.Informtica - www.cetinformatica.com Garca Avils 408 y Luque Of. 602 - 2323360 Pgina 10 de 24

  • CET.INFORMATCIA - LDAP

    description:UsuariosdecetobjectClass:organizationalUnitdn:ou=Group,dc=cet,dc=localou:Groupdescription:GruposdecetobjectClass: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 useraddusrt1gestudiantespasswdusrt1Changingpasswordforuserusrt1.NewUNIXpassword:xxxxxxRetypenewUNIXpassword:xxxxxxpasswd:allauthenticationtokensupdatedsuccessfully.

    useraddusrt2gestudiantespasswdusrt2Changingpasswordforuserusrt2.NewUNIXpassword:xxxxxxRetypenewUNIXpassword:xxxxxxpasswd:allauthenticationtokensupdatedsuccessfully.

    Agregar los usuarios al grupo estudiantes

    Se agregaran los usuarios ust1 y usrt2 al grupo estudiantes gpasswdausrt1estudiantesgpasswdausrt2estudiantes

    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.usrt1grepusrt2/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 ymigrate_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=localuid:rootcn:rootobjectClass:accountobjectClass:posixAccountobjectClass:topobjectClass:shadowAccountuserPassword:{crypt}$1$YKZYSgP4$v5/ehBWGJIRI0J/Dg4wQG.shadowLastChange:14748shadowMin:0

    CET.Informtica - www.cetinformatica.com Garca Avils 408 y Luque Of. 602 - 2323360 Pgina 13 de 24

  • CET.INFORMATCIA - LDAP

    shadowMax:99999shadowWarning:7loginShell:/bin/bashuidNumber:0gidNumber:0homeDirectory:/rootgecos: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.ldifEnterLDAPPassword:xxxxxaddingnewentry"uid=usrt1,ou=People,dc=cet,dc=local"

    Agregar el usuario usrt2:

    ldapaddxD"cn=Manager,dc=cet,dc=local"Wf/etc/openldap/usrt2.ldifEnterLDAPPassword:xxxxxaddingnewentry"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.ldifEnterLDAPPassword:xxxxxaddingnewentry"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#basewithscopesubtree#filter:(objectclass=*)#requesting:ALL##cet.localdn:dc=cet,dc=localdc:cetdescription:LDAPAdminobjectClass:dcObjectobjectClass:organizationalUnitou:rootobject#People,cet.localdn:ou=People,dc=cet,dc=localou:Peopledescription:UsuariosdecetobjectClass:organizationalUnit#root,People,cet.localdn:uid=root,ou=People,dc=cet,dc=localuid:rootcn:ManagerobjectClass:accountobjectClass:posixAccountobjectClass:topobjectClass:shadowAccountuserPassword::e2NyeXB0fSQxJFlLWllTZ1A0JHY1L2VoQldHSklSSTBKL0RnNHdRRy4=shadowLastChange:14748shadowMin:0shadowMax:99999shadowWarning:7loginShell:/bin/bashuidNumber:0gidNumber:0

    CET.Informtica - www.cetinformatica.com Garca Avils 408 y Luque Of. 602 - 2323360 Pgina 15 de 24

  • CET.INFORMATCIA - LDAP

    homeDirectory:/rootgecos:root#usrt1,People,cet.localdn:uid=usrt1,ou=People,dc=cet,dc=localuid:usrt1cn:usrt1objectClass:accountobjectClass:posixAccountobjectClass:topobjectClass:shadowAccountuserPassword::e2NyeXB0fSQxJGhRLkFlTGRBJEdaRm9RMm1UynNUaktpUnJQdmV0QS8=shadowLastChange:14748shadowMin:0shadowMax:99999shadowWarning:7loginShell:/bin/bashuidNumber:500gidNumber:500homeDirectory:/home/usrt1#usrt2,People,cet.localdn:uid=usrt2,ou=People,dc=cet,dc=localuid:usrt2cn:usrt2objectClass:accountobjectClass:posixAccountobjectClass:topobjectClass:shadowAccountuserPassword::e2NyeXB0fSQxJFdXMGk2a0ZDJC5nb2Vod1VlajNYa1EyUlRheUpoby4=shadowLastChange:14748shadowMin:0shadowMax:99999shadowWarning:7loginShell:/bin/bashuidNumber:501gidNumber:501homeDirectory:/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 Autenticacin [ ] Informacin de la cach [*] Utilizar contraseas MD5 [ ] Utilizar Hesiod [*] Utilizar contraseas ocultas (shadow) [* ] Utilizar LDAP [* ] Utilizar Autenticacin LDAP [ ] Utilizar NIS [ ] Utilizar Kerberos [ ] Utilizar Winbind [ ] Utilizar Autenticacin SMB [ ] Utilizar Autenticacin Winbind [ ] La autorizacin local es suficiente Cancelar 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:usrt1usrt1password:xxxxxxLastlogin:WedMay1914:17:332010Couldnotchdirtohomedirectory/home/usrt1:Nosuchfileordirectorybash3.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:usrt1Password:xxxxxCreatingdirectory'/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=localobjectClass:topobjectClass:automountMapou:auto.masterdn:ou=auto.home,dc=cet,dc=localobjectClass:topobjectClass:automountMapou:auto.homedn:cn=/home,ou=auto.master,dc=cet,dc=localobjectClass:automountautomountInformation:ldap:ou=auto.home,dc=cet,dc=localcn:/home

    dn:cn=usrt2,ou=auto.home,dc=cet,dc=localobjectClass:automountautomountInformation:rw,hard,intr192.168.0.96:/home/usrt2cn: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.confautomount: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:

    logoutLINUX2login:usrt2Password:xxxxxxFSCache:LoadedFSCache:netfs'nfs'registeredforcachingLastlogin: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].ldifldapaddxD"cn=Manager,dc=cet,dc=local"Wf/etc/openldap/[usuario].ldifvi/etc/exports/home/[usuario]*(rw,sync):xexportfsavi/etc/openldap/home_[usuario].ldifdn:cn=[usuario],ou=auto.home,dc=cet,dc=localobjectClass:automountautomountInformation:rw,hard,intr192.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=localobjectClass:automountautomountInformation:rw,hard,intr 192.168.0.97:/home/usrtest2cn: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=localchangetype:modifyreplace:automountInformationautomountInformation: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