You are on page 1of 116

Linux Enterprise Servicios de directorio (LDAP) Gua de laboratorios

ndice de contenido
Introduccin a los servicios de directorio.............................................................................4 Introduccin a los servicios de directorio...............................................................................5 Instalacin de Directory Server...............................................................................................6 Instalacin de Directory Server..............................................................................................7 Administracin de Directory Server......................................................................................27 Administracin de Directory Server......................................................................................28 Bsqueda de entradas desde la lnea de comandos......................................................28 Agregando entradas con ldapmodify usando un archivo LDIF........................................30 Modificando entradas con el comando ldapmodify.........................................................31 Borrando entradas usando el comando ldapdelete.........................................................31 Manteniendo la base de datos del directorio.......................................................................33 Exportando la base de datos del directorio..........................................................................34 Importando la base de datos del directorio usando ldif2db.................................................34 Importando la base de datos del directorio usando la Consola...........................................36 Respaldando la base de datos de Directory Server.............................................................37 Restaurando la base de datos de Directory Server.............................................................37 Control de acceso al directorio.............................................................................................41 Administrando ACIs desde la Consola.................................................................................42 Verificacin del acceso sobre la OU People........................................................................45 Configuracin de la ACI para la ou=Groups....................................................................46 Configuracin de los clientes LDAP.....................................................................................48 Configurando la autenticacin por LDAP.............................................................................49 Creacin de directorios HOME.............................................................................................51 Configuracin de la cuenta root...........................................................................................52 Seguridad del Directorio........................................................................................................57 Comunicacin encriptada con SSL/TLS..............................................................................58 Obtencin y configuracin de de Certificados Digitales para Directory Server...............58 Configuracin de TLS/SSL en Directory Server y la Consola..........................................59 Configuracin del archivo de contrasea para Directory Server.....................................60 Obtencin y configuracin de de Certificados Digitales para Administration Server......60 Configuracin de TLS/SSL en Administration Server......................................................60 Configuracin del archivo de contrasea para Directory Server.....................................61 Verificacin de la configuracin........................................................................................62 Configuracin de SSL/TLS en los clientes LDAP................................................................63 Permitiendo conexiones no autenticadas............................................................................64 Configurando polticas de contraseas global utilizando la Consola...................................65 Configuracin del cliente LDAP.......................................................................................68 Verificacin de polticas de contrsea..............................................................................69

Verificacin de polticas de cuenta...................................................................................69 Deshabilitando las politicas de cuenta y contrasea ..........................................................72 Herramientas de administracin del Directorio..................................................................73 PhpLDAPadmin....................................................................................................................74 LdapAdmin............................................................................................................................78 Integracin de servicios con el Directorio...........................................................................84 Servidor Web Apache...........................................................................................................85 Servidor Proxy Squid............................................................................................................88 Integracin de SUDO con LDAP..........................................................................................91 Servidor Postfix.....................................................................................................................93 Controlador de dominio SAMBA........................................................................................100 Instalacin de paquetes requeridos para el controlador de dominio.............................100 Configuracin del Directorio y SAMBA para el controlador de dominio........................105 Configuracin de smbldap-tools.....................................................................................109 Inicio del controlador de dominio SAMBA......................................................................110 Unin de los clientes Windows al Dominio....................................................................112 Configuracin de las cuentas de usuario para el dominio SAMBA...............................114

1 Introduccin a los servicios de directorio

Introduccin a los servicios de directorio

Introduccin a los servicios de directorio


1. Que informacin puede almacenar un servidor de directorio? 2. Cmo estan organizadas las entradas en un servicio de directorio? 3. Cual es punto inicial de la estructura del directorio? 4. Cmo se representan las entidades en un servidor de directorio? 5. Qu es un DN y un RDN, cul es la diferencia? Proporcione un ejemplo. 6. Durante la configuracin de Directory Server se crean dos bases de datos para almacenar la informacin, cules son esas bases de datos? 7. Que se entiende por esquema del directorio?

Red Hat Certified Engineer

2 Instalacin de Directory Server

Instalacin de Directory Server

Instalacin de Directory Server


En todos los laboratorios, reemplace <X> con el nmero de mquina asignado: 1. Instale CentOS Linux en un equipo o mquina virtual. 2. Configure los archivos de red correctamente de la siguiente forma:
/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes IPADDR=192.168.<X>.1 NETMASK=255.255.255.0 /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=ds1.linux.com.py /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.<X>.1 ds1.linux.com.py ds1

3. Configure el archivo /etc/sysctl.conf estableciendo los siguientes valores:


# Directory Server fs.file-max = 64000 net.ipv4.tcp_keepalive_time = 300

4. Agregue la siguiente entrada al archivo /etc/security/limits.conf:


* nofile 8192

5. Asegrese que en el archivo /etc/pam.d/system-auth existe el mdulo pam_limits.so en el grupo de gestin session:
session required pam_limits.so

6. Reinicie el equipo:
# shutdown -r now

7. Obtenga los paquetes de instalacin de directory server. El instructor indicar la ubicacin de los archivos. Ubique el archivo dirserv.tar en el directorio /tmp y ejecute los siguientes comandos:
# cd / # tar xpvf /tmp/dirserv.tar

Red Hat Certified Engineer

Instalacin de Directory Server

8. Instale OpenJDK con el siguiente comando:


# yum localinstall /opt/dirserv/java-1.6.0-openjdk-*.rpm Loaded plugins: fastestmirror Setting up Local Package Process Examining /opt/dirserv/java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5.i386.rpm: 1:java-1.6.0openjdk-1.6.0.0-1.7.b09.el5.i386 Marking /opt/dirserv/java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5.i386.rpm to be installed Loading mirror speeds from cached hostfile * c5-media: Resolving Dependencies --> Running transaction check ---> Package java-1.6.0-openjdk.i386 1:1.6.0.0-1.7.b09.el5 set to be updated --> Processing Dependency: jpackage-utils >= 1.7.3-1jpp.2 for package: java-1.6.0openjdk --> Processing Dependency: libgif.so.4 for package: java-1.6.0-openjdk --> Running transaction check ---> Package jpackage-utils.noarch 0:1.7.3-1jpp.2.el5 set to be updated ---> Package giflib.i386 0:4.1.3-7.1.el5.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ===================================================================================== ========================================================================= Package Arch Version Repository Size ===================================================================================== ========================================================================= Installing: java-1.6.0-openjdk i386 1:1.6.0.0-1.7.b09.el5 /opt/dirserv/java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5.i386.rpm 28 M Installing for dependencies: giflib i386 4.1.3-7.1.el5.1 c5media 39 k jpackage-utils noarch 1.7.3-1jpp.2.el5 c5media 61 k Transaction Summary ===================================================================================== ========================================================================= Install 3 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 28 M Is this ok [y/N]: y Downloading Packages: ------------------------------------------------------------------------------------------------------------------------------------------------------------Total 1.7 MB/s | 100 kB 00:00 advertencia:rpmts_HdrFromFdno: CabeceraV3 DSA signature: NOKEY, key ID e8562897 Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <centos-5key@centos.org>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 Is this ok [y/N]: y Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : giflib [1/3] Installing : jpackage-utils [2/3]

Ing. Ivan Ferreira

Instalacin de Directory Server


Installing : java-1.6.0-openjdk [3/3] 0:1.7.3-

Installed: java-1.6.0-openjdk.i386 1:1.6.0.0-1.7.b09.el5 Dependency Installed: giflib.i386 0:4.1.3-7.1.el5.1 jpackage-utils.noarch 1jpp.2.el5

9. Instale Directory Server con el siguiente comando:


# yum localinstall /opt/dirserv/*rpm --nogpgcheck Loaded plugins: fastestmirror Setting up Local Package Process Examining /opt/dirserv/389-admin-1.1.8-4.el5.i386.rpm: 389-admin-1.1.8-4.el5.i386 Marking /opt/dirserv/389-admin-1.1.8-4.el5.i386.rpm to be installed Loading mirror speeds from cached hostfile * c5-media: Examining /opt/dirserv/389-admin-console-1.1.4-1.el5.noarch.rpm: 389-admin-console1.1.4-1.el5.noarch Marking /opt/dirserv/389-admin-console-1.1.4-1.el5.noarch.rpm to be installed Examining /opt/dirserv/389-admin-console-doc-1.1.4-1.el5.noarch.rpm: 389-adminconsole-doc-1.1.4-1.el5.noarch Marking /opt/dirserv/389-admin-console-doc-1.1.4-1.el5.noarch.rpm to be installed Examining /opt/dirserv/389-console-1.1.3-3.el5.noarch.rpm: 389-console-1.1.33.el5.noarch Marking /opt/dirserv/389-console-1.1.3-3.el5.noarch.rpm to be installed Examining /opt/dirserv/389-ds-1.1.3-4.el5.noarch.rpm: 389-ds-1.1.3-4.el5.noarch Marking /opt/dirserv/389-ds-1.1.3-4.el5.noarch.rpm to be installed Examining /opt/dirserv/389-ds-base-1.2.2-1.el5.i386.rpm: 389-ds-base-1.2.2-1.el5.i386 Marking /opt/dirserv/389-ds-base-1.2.2-1.el5.i386.rpm to be installed Examining /opt/dirserv/389-ds-console-1.2.0-4.el5.noarch.rpm: 389-ds-console-1.2.04.el5.noarch Marking /opt/dirserv/389-ds-console-1.2.0-4.el5.noarch.rpm to be installed Examining /opt/dirserv/389-ds-console-doc-1.2.0-4.el5.noarch.rpm: 389-ds-console-doc1.2.0-4.el5.noarch Marking /opt/dirserv/389-ds-console-doc-1.2.0-4.el5.noarch.rpm to be installed Examining /opt/dirserv/389-dsgw-1.1.4-1.el5.i386.rpm: 389-dsgw-1.1.4-1.el5.i386 Marking /opt/dirserv/389-dsgw-1.1.4-1.el5.i386.rpm to be installed Examining /opt/dirserv/adminutil-1.1.8-2.el5.centos.0.i386.rpm: adminutil-1.1.82.el5.centos.0.i386 Marking /opt/dirserv/adminutil-1.1.8-2.el5.centos.0.i386.rpm to be installed Examining /opt/dirserv/antlr-2.7.6-4jpp.2.i386.rpm: antlr-2.7.6-4jpp.2.i386 Marking /opt/dirserv/antlr-2.7.6-4jpp.2.i386.rpm to be installed Examining /opt/dirserv/cyrus-sasl-2.1.22-5.el5.i386.rpm: cyrus-sasl-2.1.22-5.el5.i386 Marking /opt/dirserv/cyrus-sasl-2.1.22-5.el5.i386.rpm as an update to cyrus-sasl2.1.22-4.i386 Examining /opt/dirserv/cyrus-sasl-gssapi-2.1.22-5.el5.i386.rpm: cyrus-sasl-gssapi2.1.22-5.el5.i386 Marking /opt/dirserv/cyrus-sasl-gssapi-2.1.22-5.el5.i386.rpm to be installed Examining /opt/dirserv/cyrus-sasl-lib-2.1.22-5.el5.i386.rpm: cyrus-sasl-lib-2.1.225.el5.i386 Marking /opt/dirserv/cyrus-sasl-lib-2.1.22-5.el5.i386.rpm as an update to cyrus-sasllib-2.1.22-4.i386 Examining /opt/dirserv/cyrus-sasl-md5-2.1.22-5.el5.i386.rpm: cyrus-sasl-md5-2.1.225.el5.i386 Marking /opt/dirserv/cyrus-sasl-md5-2.1.22-5.el5.i386.rpm to be installed Examining /opt/dirserv/cyrus-sasl-plain-2.1.22-5.el5.i386.rpm: cyrus-sasl-plain2.1.22-5.el5.i386 Marking /opt/dirserv/cyrus-sasl-plain-2.1.22-5.el5.i386.rpm as an update to cyrussasl-plain-2.1.22-4.i386 Examining /opt/dirserv/db4-4.3.29-10.el5.i386.rpm: db4-4.3.29-10.el5.i386 Marking /opt/dirserv/db4-4.3.29-10.el5.i386.rpm as an update to db4-4.3.29-9.fc6.i386 Examining /opt/dirserv/db4-utils-4.3.29-10.el5.i386.rpm: db4-utils-4.3.29-10.el5.i386 Marking /opt/dirserv/db4-utils-4.3.29-10.el5.i386.rpm to be installed

Red Hat Certified Engineer

Instalacin de Directory Server


Examining /opt/dirserv/giflib-4.1.3-7.1.el5_3.1.i386.rpm: giflib-4.1.37.1.el5_3.1.i386 Marking /opt/dirserv/giflib-4.1.3-7.1.el5_3.1.i386.rpm as an update to giflib-4.1.37.1.el5.1.i386 Examining /opt/dirserv/gjdoc-0.7.7-12.el5.i386.rpm: gjdoc-0.7.7-12.el5.i386 Marking /opt/dirserv/gjdoc-0.7.7-12.el5.i386.rpm to be installed Examining /opt/dirserv/idm-console-framework-1.1.3-9.el5.centos.2.noarch.rpm: idmconsole-framework-1.1.3-9.el5.centos.2.noarch Marking /opt/dirserv/idm-console-framework-1.1.3-9.el5.centos.2.noarch.rpm to be installed Examining /opt/dirserv/java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.i386.rpm: java-1.4.2gcj-compat-1.4.2.0-40jpp.115.i386 Marking /opt/dirserv/java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.i386.rpm to be installed Examining /opt/dirserv/java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5.i386.rpm: 1:java-1.6.0openjdk-1.6.0.0-1.7.b09.el5.i386 /opt/dirserv/java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5.i386.rpm: does not update installed package. Examining /opt/dirserv/jpackage-utils-1.7.3-1jpp.2.el5.noarch.rpm: jpackage-utils1.7.3-1jpp.2.el5.noarch /opt/dirserv/jpackage-utils-1.7.3-1jpp.2.el5.noarch.rpm: does not update installed package. Examining /opt/dirserv/jss-4.2.5-1.fc6.i386.rpm: jss-4.2.5-1.fc6.i386 Marking /opt/dirserv/jss-4.2.5-1.fc6.i386.rpm to be installed Examining /opt/dirserv/ldapjdk-4.18-2jpp.3.el5.i386.rpm: ldapjdk-4.18-2jpp.3.el5.i386 Marking /opt/dirserv/ldapjdk-4.18-2jpp.3.el5.i386.rpm to be installed Examining /opt/dirserv/libgcj-4.1.2-46.el5_4.2.i386.rpm: libgcj-4.1.2-46.el5_4.2.i386 Marking /opt/dirserv/libgcj-4.1.2-46.el5_4.2.i386.rpm to be installed Examining /opt/dirserv/libicu-3.6-5.11.4.i386.rpm: libicu-3.6-5.11.4.i386 Marking /opt/dirserv/libicu-3.6-5.11.4.i386.rpm to be installed Examining /opt/dirserv/lm_sensors-2.10.7-4.el5.i386.rpm: lm_sensors-2.10.7-4.el5.i386 Marking /opt/dirserv/lm_sensors-2.10.7-4.el5.i386.rpm to be installed Examining /opt/dirserv/mod_nss-1.0.3-8.el5.i386.rpm: mod_nss-1.0.3-8.el5.i386 Marking /opt/dirserv/mod_nss-1.0.3-8.el5.i386.rpm to be installed Examining /opt/dirserv/mozldap-6.0.5-1.el5.i386.rpm: mozldap-6.0.5-1.el5.i386 Marking /opt/dirserv/mozldap-6.0.5-1.el5.i386.rpm to be installed Examining /opt/dirserv/mozldap-tools-6.0.5-1.el5.i386.rpm: mozldap-tools-6.0.51.el5.i386 Marking /opt/dirserv/mozldap-tools-6.0.5-1.el5.i386.rpm to be installed Examining /opt/dirserv/perl-Mozilla-LDAP-1.5.2-4.el5.i386.rpm: perl-Mozilla-LDAP1.5.2-4.el5.i386 Marking /opt/dirserv/perl-Mozilla-LDAP-1.5.2-4.el5.i386.rpm to be installed Examining /opt/dirserv/svrcore-4.0.4-3.el5.i386.rpm: svrcore-4.0.4-3.el5.i386 Marking /opt/dirserv/svrcore-4.0.4-3.el5.i386.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package jss.i386 0:4.2.5-1.fc6 set to be updated ---> Package 389-ds-base.i386 0:1.2.2-1.el5 set to be updated ---> Package 389-admin-console-doc.noarch 0:1.1.4-1.el5 set to be updated ---> Package cyrus-sasl-md5.i386 0:2.1.22-5.el5 set to be updated ---> Package perl-Mozilla-LDAP.i386 0:1.5.2-4.el5 set to be updated ---> Package giflib.i386 0:4.1.3-7.1.el5_3.1 set to be updated ---> Package 389-admin-console.noarch 0:1.1.4-1.el5 set to be updated ---> Package 389-console.noarch 0:1.1.3-3.el5 set to be updated ---> Package java-1.4.2-gcj-compat.i386 0:1.4.2.0-40jpp.115 set to be updated ---> Package cyrus-sasl-lib.i386 0:2.1.22-5.el5 set to be updated ---> Package libgcj.i386 0:4.1.2-46.el5_4.2 set to be updated ---> Package adminutil.i386 0:1.1.8-2.el5.centos.0 set to be updated ---> Package libicu.i386 0:3.6-5.11.4 set to be updated ---> Package 389-ds-console-doc.noarch 0:1.2.0-4.el5 set to be updated ---> Package db4.i386 0:4.3.29-10.el5 set to be updated ---> Package svrcore.i386 0:4.0.4-3.el5 set to be updated ---> Package mozldap.i386 0:6.0.5-1.el5 set to be updated ---> Package gjdoc.i386 0:0.7.7-12.el5 set to be updated ---> Package antlr.i386 0:2.7.6-4jpp.2 set to be updated

Ing. Ivan Ferreira

10

Instalacin de Directory Server


---> Package ---> Package ---> Package ---> Package ---> Package ---> Package ---> Package ---> Package ---> Package ---> Package ---> Package ---> Package ---> Package --> Finished mod_nss.i386 0:1.0.3-8.el5 set to be updated 389-dsgw.i386 0:1.1.4-1.el5 set to be updated lm_sensors.i386 0:2.10.7-4.el5 set to be updated mozldap-tools.i386 0:6.0.5-1.el5 set to be updated 389-ds-console.noarch 0:1.2.0-4.el5 set to be updated 389-admin.i386 0:1.1.8-4.el5 set to be updated cyrus-sasl.i386 0:2.1.22-5.el5 set to be updated db4-utils.i386 0:4.3.29-10.el5 set to be updated idm-console-framework.noarch 0:1.1.3-9.el5.centos.2 set to be updated cyrus-sasl-plain.i386 0:2.1.22-5.el5 set to be updated 389-ds.noarch 0:1.1.3-4.el5 set to be updated ldapjdk.i386 0:4.18-2jpp.3.el5 set to be updated cyrus-sasl-gssapi.i386 0:2.1.22-5.el5 set to be updated Dependency Resolution

Dependencies Resolved ===================================================================================== ========================================================================= Package Arch Version Repository Size ===================================================================================== ========================================================================= Installing: 389-admin i386 1.1.8-4.el5 /opt/dirserv/389-admin-1.1.8-4.el5.i386.rpm 368 k 389-admin-console noarch 1.1.4-1.el5 /opt/dirserv/389-admin-console-1.1.4-1.el5.noarch.rpm 201 k 389-admin-console-doc noarch 1.1.4-1.el5 /opt/dirserv/389-admin-console-doc-1.1.4-1.el5.noarch.rpm 39 k 389-console noarch 1.1.3-3.el5 /opt/dirserv/389-console-1.1.3-3.el5.noarch.rpm 72 k 389-ds noarch 1.1.3-4.el5 /opt/dirserv/389-ds-1.1.3-4.el5.noarch.rpm 8.6 k 389-ds-base i386 1.2.2-1.el5 /opt/dirserv/389-ds-base-1.2.2-1.el5.i386.rpm 1.7 M 389-ds-console noarch 1.2.0-4.el5 /opt/dirserv/389-ds-console-1.2.0-4.el5.noarch.rpm 1.4 M 389-ds-console-doc noarch 1.2.0-4.el5 /opt/dirserv/389-ds-console-doc-1.2.0-4.el5.noarch.rpm 53 k 389-dsgw i386 1.1.4-1.el5 /opt/dirserv/389-dsgw-1.1.4-1.el5.i386.rpm 1.1 M adminutil i386 1.1.8-2.el5.centos.0 /opt/dirserv/adminutil-1.1.8-2.el5.centos.0.i386.rpm 68 k antlr i386 2.7.6-4jpp.2 /opt/dirserv/antlr-2.7.6-4jpp.2.i386.rpm 978 k cyrus-sasl-gssapi i386 2.1.22-5.el5 /opt/dirserv/cyrus-sasl-gssapi-2.1.22-5.el5.i386.rpm 28 k cyrus-sasl-md5 i386 2.1.22-5.el5 /opt/dirserv/cyrus-sasl-md5-2.1.22-5.el5.i386.rpm 45 k db4-utils i386 4.3.29-10.el5 /opt/dirserv/db4-utils-4.3.29-10.el5.i386.rpm 119 k gjdoc i386 0.7.7-12.el5 /opt/dirserv/gjdoc-0.7.7-12.el5.i386.rpm 793 k idm-console-framework noarch 1.1.3-9.el5.centos.2 /opt/dirserv/idm-console-framework-1.1.3-9.el5.centos.2.noarch.rpm 1.0 M java-1.4.2-gcj-compat i386 1.4.2.0-40jpp.115 /opt/dirserv/java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.i386.rpm 29 k jss i386 4.2.5-1.fc6 /opt/dirserv/jss-4.2.5-1.fc6.i386.rpm 679 k ldapjdk i386 4.18-2jpp.3.el5 /opt/dirserv/ldapjdk-4.18-2jpp.3.el5.i386.rpm 782 k libgcj i386 4.1.2-46.el5_4.2

11

Red Hat Certified Engineer

Instalacin de Directory Server


/opt/dirserv/libgcj-4.1.2-46.el5_4.2.i386.rpm libicu i386 /opt/dirserv/libicu-3.6-5.11.4.i386.rpm lm_sensors i386 /opt/dirserv/lm_sensors-2.10.7-4.el5.i386.rpm mod_nss i386 /opt/dirserv/mod_nss-1.0.3-8.el5.i386.rpm mozldap i386 /opt/dirserv/mozldap-6.0.5-1.el5.i386.rpm mozldap-tools i386 /opt/dirserv/mozldap-tools-6.0.5-1.el5.i386.rpm perl-Mozilla-LDAP i386 1.5.2-4.el5 svrcore i386 4.0.4-3.el5 Updating: cyrus-sasl i386 2.1.22-5.el5 cyrus-sasl-lib i386 2.1.22-5.el5 cyrus-sasl-plain i386 2.1.22-5.el5 db4 i386 4.3.29-10.el5 giflib i386 4.1.3-7.1.el5_3.1 16 M 3.6-5.11.4 5.2 M 2.10.7-4.el5 513 k 1.0.3-8.el5 81 k 6.0.5-1.el5 132 k 6.0.5-1.el5 139 k /op /op /op /op /op /op /op

Transaction Summary ================================================================================ Install 27 Package(s) Update 5 Package(s) Remove 0 Package(s) Total download size: 34 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Updating : cyrus-sasl-lib Installing : libicu Installing : libgcj Updating : db4 Installing : svrcore Installing : mozldap Installing : perl-Mozilla-LDAP Installing : adminutil Installing : mozldap-tools Installing : db4-utils Installing : cyrus-sasl-gssapi Installing : cyrus-sasl-md5 Updating : cyrus-sasl-plain Updating : cyrus-sasl Updating : giflib Installing : mod_nss mod_nss certificate database generated. Installing Installing Installing Installing Installing Installing Installing Installing Installing Installing Installing : : : : : : : : : : : lm_sensors 389-ds-base 389-admin 389-dsgw 389-ds-console 389-admin-console 389-admin-console-doc 389-ds-console-doc java-1.4.2-gcj-compat gjdoc jss [17/37] [18/37] [19/37] [20/37] [21/37] [22/37] [23/37] [24/37] [25/37] [26/37] [27/37]

[ 1/37] [ 2/37] [ 3/37] [ 4/37] [ 5/37] [ 6/37] [ 7/37] [ 8/37] [ 9/37] [10/37] [11/37] [12/37] [13/37] [14/37] [15/37] [16/37]

Ing. Ivan Ferreira

12

Instalacin de Directory Server


Installing Installing Installing Installing Installing Cleanup Cleanup Cleanup Cleanup Cleanup : : : : : : : : : : antlr ldapjdk idm-console-framework 389-console 389-ds cyrus-sasl-lib db4 cyrus-sasl-plain cyrus-sasl giflib [28/37] [29/37] [30/37] [31/37] [32/37] [33/37] [34/37] [35/37] [36/37] [37/37]

Installed: 389-admin.i386 0:1.1.8-4.el5 389-admin-console.noarch 0:1.1.4-1.el5 389admin-console-doc.noarch 0:1.1.4-1.el5 389-console.noarch 0:1.1.3-3.el5 389-ds.noarch 0:1.1.3-4.el5 389-ds-base.i386 0:1.2.2-1.el5 389-ds-console.noarch 0:1.2.0-4.el5 389ds-console-doc.noarch 0:1.2.0-4.el5 389-dsgw.i386 0:1.1.4-1.el5 adminutil.i386 0:1.1.8-2.el5.centos.0 antlr.i386 0:2.7.6-4jpp.2 cyrus-sasl-gssapi.i386 0:2.1.225.el5 cyrus-sasl-md5.i386 0:2.1.22-5.el5 db4-utils.i386 0:4.3.29-10.el5 gjdoc.i386 0:0.7.7-12.el5 idm-console-framework.noarch 0:1.1.3-9.el5.centos.2 java-1.4.2-gcjcompat.i386 0:1.4.2.0-40jpp.115 jss.i386 0:4.2.5-1.fc6 ldapjdk.i386 0:4.18-2jpp.3.el5 libgcj.i386 0:4.1.2-46.el5_4.2 libicu.i386 0:3.6-5.11.4 lm_sensors.i386 0:2.10.74.el5 mod_nss.i386 0:1.0.3-8.el5 mozldap.i386 0:6.0.5-1.el5 mozldap-tools.i386 0:6.0.5-1.el5 perl-Mozilla-LDAP.i386 0:1.5.2-4.el5 svrcore.i386 0:4.0.4-3.el5 Updated: cyrus-sasl.i386 0:2.1.22-5.el5 cyrus-sasl-lib.i386 0:2.1.22-5.el5 cyrussasl-plain.i386 0:2.1.22-5.el5 db4.i386 0:4.3.29-10.el5 giflib.i386 0:4.1.37.1.el5_3.1 Complete!

10. Cree un grupo y usuario para la ejecucin de Directory Server:


# groupadd -g 389 ldap # useradd -u 389 -g ldap -s /sbin/nologin ldap

11. Ejecute el script setup-ds-admin.pl y seleccione la configuracin tpica:


# /usr/sbin/setup-ds-admin.pl ============================================================================== This program will set up the 389 Directory and Administration Servers. It is recommended that you have "root" privilege to set up the software. Tips for using this program: - Press "Enter" to choose the default and go to the next screen - Type "Control-B" then "Enter" to go back to the previous screen - Type "Control-C" to cancel the setup program Would you like to continue with set up? [yes]: ENTER ============================================================================== BY SETTING UP AND USING THIS SOFTWARE YOU ARE CONSENTING TO BE BOUND BY AND ARE BECOMING A PARTY TO THE AGREEMENT FOUND IN THE LICENSE.TXT FILE. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, PLEASE DO NOT SET UP OR USE THIS SOFTWARE. Do you agree to the license terms? [no]: yes ============================================================================== Your system has been scanned for potential problems, missing patches, etc. The following output is a report of the items found that need to be addressed before running this software in a production environment.

13

Red Hat Certified Engineer

Instalacin de Directory Server


389 Directory Server system tuning analysis version 10-AUGUST-2007. NOTICE : System is i686-unknown-linux2.6.18-128.el5 (1 processor). ERROR : Only 249MB of physical memory is available on the system. 256MB is the recommended minimum. 1024MB is recommended for best performance on large production system. ERROR : The above errors MUST be corrected before proceeding.

Would you like to continue? [no]: yes ============================================================================== Choose a setup type: 1. Express Allows you to quickly set up the servers using the most common options and pre-defined defaults. Useful for quick evaluation of the products. 2. Typical Allows you to specify common defaults and options. 3. Custom Allows you to specify more advanced options. This is recommended for experienced server administrators only. To accept the default shown in brackets, press the Enter key. Choose a setup type [2]: ENTER ============================================================================== Enter the fully qualified domain name of the computer on which you're setting up server software. Using the form <hostname>.<domainname> Example: eros.example.com. To accept the default shown in brackets, press the Enter key. Computer name [ds1.linux.com.py]: ENTER ============================================================================== The servers must run as a specific user in a specific group. It is strongly recommended that this user should have no privileges on the computer (i.e. a non-root user). The setup procedure will give this user/group some permissions in specific paths/files to perform server-specific operations. If you have not yet created a user and group for the servers, create this user and group using your native operating system utilities. System User [nobody]: ldap System Group [nobody]: ldap ============================================================================== Server information is stored in the configuration directory server. This information is used by the console and administration server to configure and manage your servers. If you have already set up a configuration directory server, you should register any servers you set up or create with the configuration server. To do so, the following information about the configuration server is required: the fully qualified host name of the form <hostname>.<domainname>(e.g. hostname.example.com), the port number

Ing. Ivan Ferreira

14

Instalacin de Directory Server


(default 389), the suffix, the DN and password of a user having permission to write the configuration information, usually the configuration directory administrator, and if you are using security (TLS/SSL). If you are using TLS/SSL, specify the TLS/SSL (LDAPS) port number (default 636) instead of the regular LDAP port number, and provide the CA certificate (in PEM/ASCII format). If you do not yet have a configuration directory server, enter 'No' to be prompted to set up one. Do you want to register this software with an existing configuration directory server? [no]: ENTER ============================================================================== Please enter the administrator ID for the configuration directory server. This is the ID typically used to log in to the console. You will also be prompted for the password. Configuration directory server administrator ID [admin]: ENTER Password: ******** Password (confirm): ******** ============================================================================== The information stored in the configuration directory server can be separated into different Administration Domains. If you are managing multiple software releases at the same time, or managing information about multiple domains, you may use the Administration Domain to keep them separate. If you are not using administrative domains, press Enter to select the default. Otherwise, enter some descriptive, unique name for the administration domain, such as the name of the organization responsible for managing the domain. Administration Domain [linux.com.py]: ENTER ============================================================================== The standard directory server network port number is 389. However, if you are not logged as the superuser, or port 389 is in use, the default value will be a random unused port number greater than 1024. If you want to use port 389, make sure that you are logged in as the superuser, that port 389 is not in use. Directory server network port [389]: ENTER ============================================================================== Each instance of a directory server requires a unique identifier. This identifier is used to name the various instance specific files and directories in the file system, as well as for other uses as a server instance identifier. Directory server identifier [ds1]: ENTER ============================================================================== The suffix is the root of your directory tree. The suffix must be a valid DN. It is recommended that you use the dc=domaincomponent suffix convention. For example, if your domain is example.com, you should use dc=example,dc=com for your suffix. Setup will create this initial suffix for you, but you may have more than one suffix. Use the directory server utilities to create additional suffixes.

15

Red Hat Certified Engineer

Instalacin de Directory Server


Suffix [dc=linux, dc=com, dc=py]: ENTER ============================================================================== Certain directory server operations require an administrative user. This user is referred to as the Directory Manager and typically has a bind Distinguished Name (DN) of cn=Directory Manager. You will also be prompted for the password for this user. The password must be at least 8 characters long, and contain no spaces. Press Control-B or type the word "back", then Enter to back up and start over. Directory Manager DN [cn=Directory Manager]: ENTER Password: ******** Password (confirm): ******** ============================================================================== The Administration Server is separate from any of your web or application servers since it listens to a different port and access to it is restricted. Pick a port number between 1024 and 65535 to run your Administration Server on. You should NOT use a port number which you plan to run a web or application server on, rather, select a number which you will remember and which will not be used for anything else. Administration port [9830]: ENTER ============================================================================== The interactive phase is complete. The script will now set up your servers. Enter No or go Back if you want to change something. Are you ready to set up your servers? [yes]: ENTER Creating directory server . . . Your new DS instance 'ds1' was successfully created. Creating the configuration directory server . . . Beginning Admin Server creation . . . Creating Admin Server files and directories . . . Updating adm.conf . . . Updating admpw . . . Registering admin server with the configuration directory server . . . Updating adm.conf with information from configuration directory server . . . Updating the configuration for the httpd engine . . . Starting admin server . . . The admin server was successfully started. Admin server was successfully created, configured, and started. Exiting . . . Log file is '/tmp/setupp9rIlp.log'

12. Inicie la Consola de Directory Server ejecutando el siguiente comando:


# /usr/bin/389-console -a http://localhost:9830

13. Inicie sesin utilizando como usuario cn=Directory Manager

Ing. Ivan Ferreira

16

Instalacin de Directory Server

14. En el panel izquierdo, desplieque el host ds1.linux.com.py del dominio linux.com.py. 15. Haga clic sobre el nodo Directory Server

16. Verifique su estado y el puerto que esta utilizando. 17. Haga clic en el botn Open 18. Visualice las opciones que se presentan en la pestaa Tasks

17

Red Hat Certified Engineer

Instalacin de Directory Server

19. En la pestaa Configuration seleccione el nodo Data, ubique los sufijos raz dc=linux,dc=com,dc=py y o=NetscapeRoot. Obserque que bases de datos corresponde con cada sufijo.

Ing. Ivan Ferreira

18

Instalacin de Directory Server

20. En la pestaa Status, visualice los registros de eventos de error y acceso.

21. En la pestaa Directory, despliegue el rbol linux e identifique las OUs que existen por defecto y los objetos dentro de ella.

19

Red Hat Certified Engineer

Instalacin de Directory Server

22. En la OU People cree un nuevo usuario haciendo clic derecho y seleccionando New User. Establezca los siguientes valores:

First Name: Juan Last Name: Perez Comman Name(s): Juan Perez UID: jperez Password: 12345678 Confirm Password: 12345678 E-Mail: jperez@linux.com.py Phone: 555-555

23. Habilite los atributos para Posix User y establezca los siguientes valores:

UID Number: 500

Ing. Ivan Ferreira

20

Instalacin de Directory Server


GID Number: 500 Home Directory: /home/jperez Login Shell: /bin/bash

24. En la OU Groups cree un nuevo grupo haciendo clic derecho y seleccionando New Group. Establezca los siguientes valores para el grupo:

Group Name: jperez

21

Red Hat Certified Engineer

Instalacin de Directory Server

25. Haga clic sobre Members en el panel izquierdo. Presione el botn Add. Presione el botn Search y seleccione el usuario Juan Perez. Haga clic en OK.

26. Haga clic en el botn Advanced..., Haga clic sobre el cuado Object Class y presione el botn Add value. Seleccione Posix Group de la lista desplegada.
Ing. Ivan Ferreira 22

Instalacin de Directory Server

27. Utilice como gidnumber el valor 500 y haga clic en el botn OK.

28. Una vez creado el usuario, haga clic sobre el icono del mismo y observe su DN. Cul es el DN para el usuario? Cual es el RDN?

23

Red Hat Certified Engineer

Instalacin de Directory Server

29. Haga clic derecho sobre el usuario Juan Perez y seleccione Advanced Properties. Que clases de objectos (ObjectClass) utiliza la entrada de Juan Perez?

Ing. Ivan Ferreira

24

Instalacin de Directory Server

30. Marque la clase de objeto posixAccount y presione el botn Delete Value, an no presione el botn OK. Que atributos han desaparecido del usuario?

31. Presione el botn Cancel, 32. En una terminal, cmbise al directorio /etc/dirsrv/slapd-ds1/schema/
# cd /etc/dirsrv/slap-ds1/schema

33. Visualice el archivo 10rfc2307.ldif con el comando more. 34. Segn la definicin de posixAccount en el esquema del directorio, que atributos seran eliminados de una entrada del directorio si se remueve la clase de objeto posixAccount? que atributos para esa clase de objetos son mandatorios y que atributos son opcionales? 35. Utilizando el mismo procedimiento anterior, cree un nuevo grupo y usuario para Pedro Lopez. Establezca los siguientes valores: Para el grupo:

Group Name: plopez gidNumber: 501

25

Red Hat Certified Engineer

Instalacin de Directory Server

Para la cuenta LDAP:


First Name: Pedro Last Name: Lopez Comman Name(s): Pedro Lopez UID: plopez Password: 12345678 Confirm Password: 12345678 E-Mail: plopez@linux.com.py Phone: 555-556

Para la cuenta Posix:


User Name: plopez UID Number: 501 GID Number: 501 Home Directory: /home/plopez Login Shell: /bin/bash

Ing. Ivan Ferreira

26

3 Administracin de Directory Server

Administracin de Directory Server

Administracin de Directory Server


Bsqueda de entradas desde la lnea de comandos
1. Busque todas las entradas que concuerdan con el siguiente criterio:

Iniciar la busqueda a partir de del sufijo dc=linux,dc=com,dc=py Utilizar como DN cn=Directory Manager y que solicite la contrasea Inciar al comando que utilice autenticacin simple

Cuantas entradas ha retornado?


# ldapsearch -x -D "cn=Directory Manager" -H ldap://localhost -W \ -b "dc=linux,dc=com,dc=py"

2. Busque todas las entradas que concuerdan con el siguiente criterio:


Iniciar la busqueda a partir de del sufijo dc=linux,dc=com,dc=py Utilizar como DN cn=Directory Manager y que solicite la contrasea Inciar al comando que utilice autenticacin simple La clase de objeto sea posixAccount

Cuantas entradas ha retornado?


# ldapsearch -x -D "cn=Directory Manager" -H ldap://localhost -W \ -b "ou=people,dc=linux,dc=com,dc=py" 'objectclass=posixAccount'

3. Busque todas las entradas que concuerdan con el siguiente criterio:


Iniciar la busqueda a partir de del sufijo dc=linux,dc=com,dc=py Utilizar como DN cn=Directory Manager y que solicite la contrasea Inciar al comando que utilice autenticacin simple El atributo gidnumber es igual a 500

Cuantas entradas ha retornado?


# ldapsearch -x -D "cn=Directory Manager" -H ldap://localhost -W \ -b "dc=linux,dc=com,dc=py" 'gidnumber=500'

4. Busque todas las entradas que concuerdan con el siguiente criterio:

Iniciar la busqueda a partir de del sufijo dc=linux,dc=com,dc=py


28

Ing. Ivan Ferreira

Administracin de Directory Server


Utilizar como DN cn=Directory Manager y que solicite la contrasea Inciar al comando que utilice autenticacin simple El atributo gidnumber es igual a 500 y... La clase de objeto es posixGroup Mostrar unicamente el atributo DN y CN

Cuantas entradas ha retornado?


# ldapsearch -x -D "cn=Directory Manager" -H ldap://localhost -W \ -b "dc=linux,dc=com,dc=py" '(&(gidnumber=500)(objectClass=posixGroup))' dn cn

5. Busque todas las entradas que concuerdan con el siguiente criterio:


Iniciar la busqueda a partir de del sufijo dc=linux,dc=com,dc=py Utilizar como DN cn=Directory Manager y que solicite la contrasea Inciar al comando que utilice autenticacin simple La clase de objeto es posixAccount o... La clase de objeto es posixGroup

Cuantas entradas ha retornado?


# ldapsearch -x -D "cn=Directory Manager" -H ldap://localhost -W \ -b "dc=linux,dc=com,dc=py" '(|(objectclass=posixAccount)(objectclass=posixGroup))'

6. Busque todas las entradas que concuerdan con el siguiente criterio:


Iniciar la busqueda a partir de del sufijo dc=linux,dc=com,dc=py Utilizar como DN cn=Directory Manager y que solicite la contrasea Inciar al comando que utilice autenticacin simple La clase de objeto es person y... No tiene direccin de correo electrnico definida

Cuantas entradas ha retornado?


# ldapsearch -x -D "cn=Directory Manager" -H ldap://localhost -W \ -b "dc=linux,dc=com,dc=py" '(&(objectclass=person)(!(mail=*)))'

29

Red Hat Certified Engineer

Administracin de Directory Server

Agregando entradas con ldapmodify usando un archivo LDIF


En este laboratorio utilizara el comando ldapmodify con archivos LDIF para crear una nueva entrada de grupo y usuario para Hugo Gomez. 1. Utilice el comando ldapsearch para buscar la entrada que corresponde con la clase de objeto posixAccount y el uid=jperez. Redireccione la salida al archivo /tmp/usuario.ldif. 2. Edite el archivo /tmp/usuario.ldif y modifique los valores como sigue:
dn: uid=hgomez,ou=People, dc=linux, dc=com, dc=py givenName: Hugo sn: Gomez loginShell: /bin/bash uidNumber: 502 gidNumber: 502 objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetorgperson objectClass: posixAccount uid: hgomez cn: Hugo Gomez homeDirectory: /home/hgomez userPassword:: e1NTSEF9RVNCbzNXbWtKOWx3Nnk3N1Y4VjBmL1djVTBKZFRuelRLN1RSZnc9PQ= = mail: hgomez@linux.com.py telephoneNumber: 555-557

3. Utilice el comando ldapmodify para agregar la entrada para el usuario Hugo Gomez a partir del archivo /tmp/usuario.ldif:
# ldapmodify -a -x -D -f /tmp/usuario.ldif "cn=Directory Manager" -H ldap://localhost -W \

4. Utilice el comando ldapsearch para buscar la entrada que corresponde con la clase de objeto posixGroup y el cn=jperez. Redireccione la salida al archivo /tmp/grupo.ldif.
# ldapsearch -x -D "cn=Directory Manager" -H ldap://localhost -W \ -b "dc=linux,dc=com,dc=py" '(&(objectclass=posixGroup)(cn=jperez))' > /tmp/grupo.ldif

5. Edite el archivo /tmp/grupo.ldif y modifique los valores como sigue:


dn: cn=hgomez,ou=Groups, dc=linux, dc=com, dc=py gidNumber: 502 objectClass: top objectClass: groupofuniquenames objectClass: posixgroup cn: hgomez uniqueMember: uid=hgomez,ou=People, dc=linux, dc=com, dc=py

6. Utilice el comando ldapmodify para agregar la entrada para el grupo del usuario
Ing. Ivan Ferreira 30

Administracin de Directory Server

Hugo Gomez a partir del archivo /tmp/grupo.ldif:


# ldapmodify -a -x -D -f /tmp/grupo.ldif "cn=Directory Manager" -H ldap://localhost -W \

Modificando entradas con el comando ldapmodify


En este laboratorio agregar una direccin de correo alternativa para todos los usuarios utilizando archivos LDIF. 1. Utilice el comando ldapsearch para buscar las entradas que corresponde con la clase de objeto posixAccount. Obtenga nicamente el atributo dn y redireccione la salida al archivo /tmp/correos.ldif.
# ldapsearch -x -D "cn=Directory Manager" -H ldap://localhost -W \ -b "dc=linux,dc=com,dc=py" '(objectclass=posixAccount)' dn > /tmp/correos.ldif

2. Edite el archivo /tmp/correos.ldif y agregue los comandos requeridos para agregar una direccin de correo adicional en el formato Nombre.Apellido@linux.com.py:
dn: uid=jperez,ou=People, dc=linux, dc=com, dc=py changetype: modify add: mail mail: juan.perez@linux.com.py dn: uid=plopez,ou=People, dc=linux, dc=com, dc=py changetype: modify add: mail mail: pedro.lopez@linux.com.py dn: uid=hgomez,ou=People, dc=linux, dc=com, dc=py changetype: modify add: mail mail: pedro.lopez@linux.com.py

3. Utilice el comando ldapsearch para buscar las entradas que correspondan con la clase de objeto posixAccount para verificar el resultado. Obtenga nicamente el atributo mail.
# ldapsearch -x -D "cn=Directory Manager" -H ldap://localhost -W \ -b "dc=linux,dc=com,dc=py" '(objectClass=posixAccount)' mail

Borrando entradas usando el comando ldapdelete


En este laboratorio eliminar el grupo y usuario para Hugo Gomez usando el comando ldapdelete. 1. Utilice el comando ldapsearch para buscar las entradas que corresponde con el gidnumber=502. Obtenga unicamente el atributo DN.

31

Red Hat Certified Engineer

Administracin de Directory Server


# ldapsearch -x -D "cn=Directory Manager" -H ldap://localhost -W \ -b "dc=linux,dc=com,dc=py" '(gidnumber=502)' dn

2. Utilice el comando ldapdelete para eliminar ambas entradas del directorio.


# ldapdelete -x -D "cn=Directory Manager" -H ldap://localhost -W \ "uid=hgomez,ou=People, dc=linux, dc=com, dc=py" \ "cn=hgomez,ou=Groups, dc=linux, dc=com, dc=py"

Ing. Ivan Ferreira

32

4 Manteniendo la base de datos del directorio

Manteniendo la base de datos del directorio

Exportando la base de datos del directorio


En este laboratorio exportar la bases de datos a formato LDIF directorio utilizando la lnea de comandos. 1. En una terminal, ejecute el comando db2ldif para exportar la base de datos userRoot y netscapeRoot. En que directorios y a que archivos fueron exportados los datos?
# /usr/lib*/dirsrv/slapd-ds1/db2ldif -n userRoot Exported ldif file: /var/lib/dirsrv/slapd-ds1/ldif/ds1-userRoot2010_02_23_070719.ldif ldiffile: /var/lib/dirsrv/slapd-ds1/ldif/ds1-userRoot-2010_02_23_070719.ldif [23/Feb/2010:07:07:21 -0300] - export userRoot: Processed 13 entries (100%). [23/Feb/2010:07:07:21 -0300] - All database threads now stopped # /usr/lib*/dirsrv/slapd-ds1/db2ldif -n netscapeRoot Exported ldif file: /var/lib/dirsrv/slapd-ds1/ldif/ds1-netscapeRoot2010_02_23_070755.ldif ldiffile: /var/lib/dirsrv/slapd-ds1/ldif/ds1-netscapeRoot-2010_02_23_070755.ldif [23/Feb/2010:07:07:56 -0300] - export NetscapeRoot: Processed 107 entries (100%). [23/Feb/2010:07:07:56 -0300] - All database threads now stopped

2. Visualice el contenido del archivo ldif generado para la base de datos userRoot. Encuentre la entrada para la OU People. A que clase de objeto pertenece esta entrada? 3. Utilice el comando ldapsearch para localizar las entradas de clase posixAccount en la OU=people.
# ldapsearch -x -H ldap://localhost -D "cn=Directory Manager" \ -b "dc=linux,dc=com,dc=py" -W 'objectclass=posixAccount' dn

4. Utilice el comando ldapdelete para eliminar las entras de los usuarios jperez y plopez en la OU People.
# ldapdelete -x -H ldap://localhost -D "cn=Directory Manager" -W \ "uid=JPerez,ou=People, dc=linux, dc=com, dc=py" \ "uid=plopez,ou=People, dc=linux, dc=com, dc=py"

5. Utilice el comando ldapsearch para verificar las entradas de clase posixAccount en la OU=people han sido eliminadas.
# ldapsearch -x -H ldap://localhost -D "cn=Directory Manager" \ -b "dc=linux,dc=com,dc=py" -W 'objectclass=posixAccount' dn

Importando la base de datos del directorio usando ldif2db


En este laboratorio importar la base de datos userRoot a partir del archivo LDIF generado anteriormente.

Ing. Ivan Ferreira

34

Manteniendo la base de datos del directorio

1. Detenga el servicio de Directory Server


# service dirsrv stop

2. Ejecute el comando ldif2db para importar los datos a la base userRoot:


# /usr/lib*/dirsrv/slapd-ds1/ldif2db -n userRoot \ -i /var/lib/dirsrv/slapd-ds1/ldif/ds1-userRoot-<fecha_hora>.ldif importing data ... [23/Feb/2010:07:35:22 -0300] - dblayer_instance_start: pagesize: 4096, pages: 63889, procpages: 7233 [23/Feb/2010:07:35:22 -0300] - cache autosizing: import cache: 102220k [23/Feb/2010:07:35:22 -0300] - li_import_cache_autosize: 50, import_pages: 25555, pagesize: 4096 [23/Feb/2010:07:35:22 -0300] - WARNING: Import is running with nsslapd-db-privateimport-mem on; No other process is allowed to access the database [23/Feb/2010:07:35:22 -0300] - dblayer_instance_start: pagesize: 4096, pages: 63889, procpages: 7233 [23/Feb/2010:07:35:22 -0300] - cache autosizing: import cache: 102220k [23/Feb/2010:07:35:22 -0300] - li_import_cache_autosize: 50, import_pages: 25555, pagesize: 4096 [23/Feb/2010:07:35:22 -0300] - import userRoot: Beginning import job... [23/Feb/2010:07:35:22 -0300] - import userRoot: Index buffering enabled with bucket size 71 [23/Feb/2010:07:35:22 -0300] import userRoot: Processing file "/var/lib/dirsrv/slapd-ds1/ldif/ds1-userRoot-2010_02_23_070719.ldif" [23/Feb/2010:07:35:22 -0300] import userRoot: Finished scanning file "/var/lib/dirsrv/slapd-ds1/ldif/ds1-userRoot-2010_02_23_070719.ldif" (13 entries) [23/Feb/2010:07:35:23 -0300] - import userRoot: Workers finished; cleaning up... [23/Feb/2010:07:35:23 -0300] - import userRoot: Workers cleaned up. [23/Feb/2010:07:35:23 -0300] - import userRoot: Cleaning up producer thread... [23/Feb/2010:07:35:23 -0300] import userRoot: Indexing complete. Postprocessing... [23/Feb/2010:07:35:23 -0300] - import userRoot: Flushing caches... [23/Feb/2010:07:35:23 -0300] - import userRoot: Closing files... [23/Feb/2010:07:35:23 -0300] - All database threads now stopped [23/Feb/2010:07:35:23 -0300] - import userRoot: Import complete. Processed 13 entries in 1 seconds. (13.00 entries/sec)

3. Inicie nuevamente Directory Server con el comando:


# service dirsrv start

6. Utilice el comando ldapsearch para verificar las entradas de clase posixAccount en la OU=people han sido importadas.
# ldapsearch -x -H ldap://localhost -D "cn=Directory Manager" \ -b "dc=linux,dc=com,dc=py" -W 'objectclass=posixAccount' dn

4. Al utilizar el comando ldif2db, la base de datos userRoot fue inicializada o simplemente se agregaron los datos? 7. Utilice el comando ldapdelete para eliminar las entras de los usuarios jperez y plopez en la OU People.
# ldapdelete -x -H ldap://localhost -D "cn=Directory Manager" -W \ "uid=JPerez,ou=People, dc=linux, dc=com, dc=py" \

35

Red Hat Certified Engineer

Manteniendo la base de datos del directorio


"uid=plopez,ou=People, dc=linux, dc=com, dc=py"

8. Utilice el comando ldapsearch para verificar las entradas de clase posixAccount en la OU=people han sido eliminadas.
# ldapsearch -x -H ldap://localhost -D "cn=Directory Manager" \ -b "dc=linux,dc=com,dc=py" -W 'objectclass=posixAccount' dn

Importando la base de datos del directorio usando la Consola


En este laboratorio importar la base de datos userRoot a partir del archivo LDIF generado anteriormente usando la Consola de Directory Server. 1. Inicie la consola de Directory Server ya autentiquese como el Directory Manager
# /usr/bin/389-console -a http://localhost:9830

2. En la pestaa Tasks, seleccione Import Databases

3. Ingrese la ruta al archivo LDIF y marque la casilla de verificacin Add only y Continue con error

4. Observe los mensajes de error retornados. Cual es el motivo de los errores? 5. Cambiese a la pestaa Directory y verifique que las entradas posixAccount para jperez y plopez fueron importadas.

Ing. Ivan Ferreira

36

Manteniendo la base de datos del directorio

6. Al utilizar este mtodo de importacin, la base de datos userRoot fue inicializada o simplemente se agregaron los datos?

Respaldando la base de datos de Directory Server


En este laboratorio realizar una copia de seguridad de la base de datos de Directory Server. 1. Utilice el comando db2bak para respaldar la base de datos de Directory Server
# /usr/lib*/dirsrv/slapd-ds1/db2bak

2. Cul es el directorio en el cual los archivos fueron respaldados?

Restaurando la base de datos de Directory Server


En este laboratorio restaurar una copia de seguridad de la base de datos de Directory Server. 1. Provoque la prdida de la base de datos userRoot utilizando el siguiente comando:
# rm -fr /var/lib/dirsrv/slapd-ds1/db/userRoot/*

2. Reinicie el servicio de Directory Server

37

Red Hat Certified Engineer

Manteniendo la base de datos del directorio


# service dirsrv restart

3. Verifique los mensajes registrados en el archivo errors:


# tail /var/log/dirsrv/slapd-ds1/errors [23/Feb/2010:08:16:45 -0300] - libdb: userRoot/uid.db4: unable to flush: No such file or directory [23/Feb/2010:08:16:45 -0300] - libdb: userRoot/sn.db4: unable to flush: No such file or directory [23/Feb/2010:08:16:45 -0300] - libdb: userRoot/givenName.db4: unable to flush: No such file or directory [23/Feb/2010:08:16:45 -0300] - libdb: userRoot/nsuniqueid.db4: unable to flush: No such file or directory [23/Feb/2010:08:16:45 -0300] - libdb: userRoot/objectclass.db4: unable to flush: No such file or directory [23/Feb/2010:08:16:45 -0300] - libdb: userRoot/entrydn.db4: unable to flush: No such file or directory [23/Feb/2010:08:16:45 -0300] - libdb: userRoot/id2entry.db4: unable to flush: No such file or directory [23/Feb/2010:08:16:45 -0300] - libdb: txn_checkpoint: failed to flush the buffer cache No such file or directory [23/Feb/2010:08:16:45 -0300] - Checkpoint FAILED, error No such file or directory (2) [23/Feb/2010:08:16:46 -0300] - slapd started. Listening on All Interfaces port 389 for LDAP requests

4. Detenga el servicio de Directory Server


# service dirsrv stop

5. Utilize el comando bak2db para restaurar los datos de la base de datos userRoot
# /usr/lib*/dirsrv/slapd-ds1/bak2db \ /var/lib/dirsrv/slapd-ds1/bak/ds1-<fecha-hora> [23/Feb/2010:09:47:08 -0300] Deleting log file: ds1/db/log.0000000001) [23/Feb/2010:09:47:08 -0300] Restoring file 1 ds1/db/log.0000000001) [23/Feb/2010:09:47:08 -0300] Restoring file 2 ds1/db/DBVERSION) [23/Feb/2010:09:47:08 -0300] Restoring file 3 ds1/db/NetscapeRoot/numsubordinates.db4) [23/Feb/2010:09:47:08 -0300] Restoring file 4 ds1/db/NetscapeRoot/cn.db4) [23/Feb/2010:09:47:08 -0300] Restoring file 5 ds1/db/NetscapeRoot/parentid.db4) [23/Feb/2010:09:47:08 -0300] Restoring file 6 ds1/db/NetscapeRoot/aci.db4) [23/Feb/2010:09:47:08 -0300] Restoring file 7 ds1/db/NetscapeRoot/entrydn.db4) [23/Feb/2010:09:47:08 -0300] Restoring file 8 ds1/db/NetscapeRoot/DBVERSION) [23/Feb/2010:09:47:08 -0300] Restoring file 9 ds1/db/NetscapeRoot/nsuniqueid.db4) [23/Feb/2010:09:47:08 -0300] Restoring file 10 ds1/db/NetscapeRoot/id2entry.db4) [23/Feb/2010:09:47:08 -0300] Restoring file 11 ds1/db/NetscapeRoot/sn.db4) [23/Feb/2010:09:47:08 -0300] Restoring file 12 ds1/db/NetscapeRoot/uid.db4) [23/Feb/2010:09:47:09 -0300] Restoring file 13

(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd-

Ing. Ivan Ferreira

38

Manteniendo la base de datos del directorio


ds1/db/NetscapeRoot/objectclass.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/NetscapeRoot/givenName.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/NetscapeRoot/ancestorid.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/NetscapeRoot/uniquemember.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/numsubordinates.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/nscpEntryDN.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/cn.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/telephoneNumber.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/entryusn.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/parentid.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/aci.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/entrydn.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/DBVERSION) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/seeAlso.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/mailAlternateAddress.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/mail.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/nsuniqueid.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/memberOf.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/id2entry.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/sn.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/.default.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/ntUniqueId.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/ntUserDomainId.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/uid.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/member.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/objectclass.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/givenName.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/mailHost.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/ancestorid.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/owner.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/nsds5ReplConflict.db4) [23/Feb/2010:09:47:09 -0300] Restoring ds1/db/userRoot/uniquemember.db4)

file file file file file file file file file file file file file file file file file file file file file file file file file file file file file file file

14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd(/var/lib/dirsrv/slapd-

39

Red Hat Certified Engineer

Manteniendo la base de datos del directorio


[23/Feb/2010:09:47:09 -0300] - All database threads now stopped

6. Inicie nuevamente el servicio de Directory Server


# service dirsrv start

7. Verifique que los datos han sido restaurdados utilizando la Consola de Directory Server o el comando ldapsearch.

Ing. Ivan Ferreira

40

5 Control de acceso al directorio

Control de acceso al directorio

Administrando ACIs desde la Consola


En este laboratorio, crear una ACI utilizando la Consola de Directory Server para permitir a los miembros del grupo Supervisores la creacin de entradas y modificacin de atributos sobre las OU People y Groups. 1. Inicie la consola de Directory Server y autentiquese con cn=Directory Manager 2. Seleccione la pestaa Directory 3. En la OU Groups, cree un nuevo grupo llamado supervisores

4. Agregue al usuario Juan Perez como miembro del grupo supervisores

Ing. Ivan Ferreira

42

Control de acceso al directorio

5. Haga clic en OK 6. Haga clic derecho sobre la OU People y seleccione Set Access Permissions... del menu desplegable 7. Haga clic en el botn New 8. En el cuadro de texto ACI Name ingrese Acceso para Supervisores 9. En la pestaa Users seleccione All Users y presione el botn Remove. Agregue el grupo supervisores.

43

Red Hat Certified Engineer

Control de acceso al directorio

10. En la pestaa Rights seleccione todos los permisos excepto proxy

11. En la pestaa Targets presione el botn This Entry

Ing. Ivan Ferreira

44

Control de acceso al directorio

12. Haga clic en el botn Edit Manually y verifique la sintaxis de la ACI creada:

13. Haga clic en el botn Check Syntax. La sintaxis de la ACI debe ser correcta. 14. Haga clic en el botn OK.

Verificacin del acceso sobre la OU People


1. Cree un archivo /tmp/sistemas.ldif para agregar la ou=sistemas por debajo de la ou=people como sigue:
45 Red Hat Certified Engineer

Control de acceso al directorio


dn: ou=Sistemas, ou=People, dc=linux, dc=com, dc=py objectClass: top objectClass: organizatrionalunit ou: Sistemas

2. Con el comando ldapmodify, intente agregar la OU con el usuario plopez y contrasea 12345678. Como este usuario no es miembro del grupo supervisores la operacin fallar.
# ldapmodify -a -x -H ldap://localhost \ -D "uid=plopez,ou=people,dc=linux,dc=com,dc=py" -W -f /tmp/sistemas.ldif Enter LDAP Password: adding new entry "ou=Sistemas, ou=People, dc=linux, dc=com, dc=py" ldapmodify: Insufficient access (50) additional info: Insufficient 'add' privilege to add the entry 'ou=Sistemas, ou=People, dc=linux, dc=com, dc=py'.

3. Con el comando ldapmodify, intente agregar la OU con el usuario jperez y contrasea 12345678. Como este usuario si es miembro del grupo supervisores la operacin ser realizada con xito.
# ldapmodify -a -x -H ldap://localhost \ -D "uid=jperez,ou=people,dc=linux,dc=com,dc=py" -W -f /tmp/sistemas.ldif Enter LDAP Password: adding new entry "ou=Sistemas, ou=People, dc=linux, dc=com, dc=py"

Configuracin de la ACI para la ou=Groups


Cree una nueva ACI en la ou=Groups copiando (CTRL+C) y pegando (CTRL+V) los valores de la ACI de la ou=People. 1. En la consola de Directory Server, seleccione la pestaa Directory 2. Haga clic derecho sobre la ou=People y seleccione Set Access Permissions... 3. Seleccione Acceso para supervisores y haga clic en el boton Edit 4. Haga clic sobre el boton Edit Manually 5. Seleccione todo el texto de la ACI y presione las teclas CTRL+C 6. Haga clic en el boton Cancel 7. Haga clic derecho sobre la ou=Groups y seleccione Set Access Permissions... 8. Haga clic en el boton New

Ing. Ivan Ferreira

46

Control de acceso al directorio

9. Haga clic en el boton Edit Manually 10. Borre el contenido de la ventana y poresione las teclas CTRL+V 11. Cambie el valor de target= de ou=People a ou=Groups

12. Haga clic en el boton Check Syntax. La sintaxis debe ser correcta. 13. Haga clic en el boton OK.

47

Red Hat Certified Engineer

7 Configuracin de los clientes LDAP

Configuracin de los clientes LDAP

Configurando la autenticacin por LDAP


En este laboratorio, configurar el sistema operativo Linux para utilizar las cuentas almacenadas en el servidor LDAP para iniciar sesin en el sistema operativo. 1. Cree una copia de seguridad de los archivos que sern modificados
# tar cvf /tmp/authconfig.tar /etc/nsswitch.conf \ /etc/pam.d/system-auth-ac /etc/ldap.conf /etc/openldap/ldap.conf

2. Ejecute el comando authconfig-tui


# authconfig-tui

3. En la seccin Informacin de usuario, marque la casilla de verificacin Utilizar LDAP utilizando la barra espaciadora 4. En la seccin Autenticacin, marque la casilla de verificacin Utilizar Autenticacin LDAP utilizando la barra espaciadora 5. En la seccin Autenticacin, marque la casilla de verificacin La autorizacin local es suficiente para permitir el acceso a los usuarios creados localmente en el sistema utilizando la barra espaciadora

6. Seleccione el botn Siguiente, la ventana Configuracin del LDAP aparece

49

Red Hat Certified Engineer

Configuracin de los clientes LDAP

7. Ingrese ldap://ds1.linux.com.py en el campo Servidor 8. Ingrese dc=linux,dc=com,dc=py en DN base 9. Seleccione el botn Aceptar y presione la tecla Enter 10. Utilice el comando getent passwd para verificar que las cuentas de usuario del servidor LDAP son listadas en la salida del comando:
# getent passwd | tail dbus:x:81:81:System message bus:/:/sbin/nologin haldaemon:x:68:68:HAL daemon:/:/sbin/nologin avahi:x:70:70:Avahi daemon:/:/sbin/nologin avahi-autoipd:x:100:103:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin gdm:x:42:42::/var/gdm:/sbin/nologin sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin ldap:x:389:389::/home/ldap:/sbin/nologin jperez:$1$.0b89jvA$5p6epX9kArifP5zEo3Y42.:500:500:Juan Perez:/home/jperez:/bin/bash plopez:*:501:501:Pedro Lopez:/home/plopez:/bin/bash

11. Utilice el comando getent group para verificar que los grupos del servidor LDAP son listados en la salida del comando:
# getent group | tail dbus:x:81: haldaemon:x:68: avahi:x:70: avahi-autoipd:x:103: xfs:x:43:

Ing. Ivan Ferreira

50

Configuracin de los clientes LDAP


gdm:x:42: sabayon:x:86: ldap:x:389: jperez:*:500:jperez plopez:*:501:plopez

12. Inicie sesin utilizando la cuenta jperez y contrasea 12345678. Que mensaje recibe? En que directorio ha iniciado sesin?
Last login: Sat Mar 6 07:51:30 2010 from 10.129.5.220 Could not chdir to home directory /home/jperez: No such file or directory /usr/bin/xauth: error in locking authority file /home/jperez/.Xauthority -bash-3.2$ pwd /

Creacin de directorios HOME


En este laboratorio, configurar el sistema operativo automticamente los directorios HOME para los usuarios LDAP. 1. Cmbiese al directorio /etc/pam.d/
# cd /etc/pam.d

Linux

para

crear

2. Copie el archivo system-auth-ac a system-auth-local


# cp system-auth-ac system-auth-local

3. Actualice el enlace simblico system-auth para apuntar al archivo system-authlocal


# ln -sf system-auth-local system-auth # ls -la system-auth lrwxrwxrwx 1 root root 17 mar 6 09:09 system-auth -> system-auth-local

4. Edite el archivo system-auth y agregue el modulo pam_mkhomedir en el grupo de gestin session


# vi system-auth #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth sufficient pam_ldap.so use_first_pass auth required pam_deny.so account required pam_unix.so broken_shadow

51

Red Hat Certified Engineer

Configuracin de los clientes LDAP


account account account account password password password password session session session use_uid session session session sufficient pam_localuser.so sufficient pam_succeed_if.so uid < 500 quiet [default=bad success=ok user_unknown=ignore] pam_ldap.so required pam_permit.so requisite sufficient sufficient required pam_cracklib.so try_first_pass retry=3 pam_unix.so md5 shadow nullok try_first_pass use_authtok pam_ldap.so use_authtok pam_deny.so

optional pam_keyinit.so revoke required pam_limits.so [success=1 default=ignore] pam_succeed_if.so service in crond quiet required optional required pam_unix.so pam_ldap.so pam_mkhomedir.so skel=/etc/skel umask=022

5. Inicie sesin utilizando la cuenta jperez y contrasea 12345678. Que mensaje recibe? En que directorio ha iniciado sesin?
Creating directory '/home/jperez'. Creating directory '/home/jperez/.mozilla'. Creating directory '/home/jperez/.mozilla/plugins'. Creating directory '/home/jperez/.mozilla/extensions'. Last login: Sat Mar 6 09:04:09 2010 from 10.129.5.220 /usr/bin/xauth: creating new authority file /home/jperez/.Xauthority [jperez@ds1 ~]$ pwd /home/jperez

Configuracin de la cuenta root


En este laboratorio, asociar la cuenta de sistema operativo root con la cuenta cn=Directory Manager del servidor LDAP. 1. Utilizando la consola de Directory Server, seleccione la pestaa Directory, en el panel de navegacin izquierdo haga clic derecho sobre nodo config y seleccione New, User

Ing. Ivan Ferreira

52

Configuracin de los clientes LDAP

2. En el cuadro de texto First Name, ingrese LDAP proxy, en el cuadro de texto Last Name ingrese root, en el cuadro de texto User ID ingrese root, establezca la contrasea a 12345678.

53

Red Hat Certified Engineer

Configuracin de los clientes LDAP

3. En el panel de navegacin izquierdo haga clic derecho sobre nodo linux y seleccione Set Access Permissions

Ing. Ivan Ferreira

54

Configuracin de los clientes LDAP

4. Cree una nueva ACI para permitir la escritura al atributo userPassword para el usuario uid=root,cn=config
(targetattr = "userPassword") (target = "ldap:///ou=People,dc=linux,dc=com,dc=py") (version 3.0; acl "LDAP Proxy Root Access"; allow (all) userdn="ldap:///uid=root,cn=config";)

5. Haga clic en OK 6. Edite el archivo /etc/ldap.conf, busque la lnea rootbinddn y configurela como sigue:
rootbinddn uid=root,cn=config

6. Configure la contrasea para uid=root,cn=config en el archivo /etc/ldap.secret:


# echo 12345678 > /etc/ldap.secret

7. Establezca los permisos apropiados para el archivo /etc/ldap.secret:


# chmod 600 /etc/ldap.secret

8. Verifique que puede cambiar la contrasea del usuario plopez desde el sistema operativo utilizando el comando passwd con el usuario root, estableciendola a 12345678:
# passwd plopez Changing password for user plopez.

55

Red Hat Certified Engineer

Configuracin de los clientes LDAP


New UNIX password: BAD PASSWORD: it is too simplistic/systematic Retype new UNIX password: LDAP password information changed for plopez passwd: all authentication tokens updated successfully.

Ing. Ivan Ferreira

56

8 Seguridad del Directorio

Seguridad del Directorio

Comunicacin encriptada con SSL/TLS


En este laboratorio, configurar SSL/TLS para Directory Server, Administration Server y la Consola.

Obtencin y configuracin de de Certificados Digitales para Directory Server


1. Cambiese al directorio donde las bases de datos de certificados son almacenados:
# cd /etc/dirsrv/slapd-ds1/

2. Cree una copia de seguridad de todos los archivos del directorio por precaucin:
# tar cvf /tmp/db-backup.tar *

3. Cree un archivo de contrasea para su clave de seguridad:


# ps | sha1sum > pwdfile

4. Cree un archivo que sera utilizado como alimentador de datos aleatorios para la generacin de la clave publica RSA:
# ps | sha1sum > noise

5. Cree la llave y la base de datos de certificados:


# certutil -N -d . -f pwdfile

6. Genere un certificado autofirmado para el CA.


# certutil -S -n "CA certificate" -s "cn=CA Server,dc=linux,dc=com,dc=py" \ -x -t "CT,," -m 1000 -v 120 -d . -f pwdfile -z noise -2 Generating key. This may take a few moments...

Is this a CA certificate [y/N]? y Enter the path length constraint, enter to skip [<0 for unlimited path]: > Is this a critical extension [y/N]? y

7. Genere el certificado para el Directory Server firmado por el CA creado anteriormente:


# certutil -S -n "Server-Cert" -s "cn=ds1.linux.com.py" -c "CA certificate" \ -t "u,u,u" -m 1001 -v 120 -d . -k rsa -f pwdfile -z noise Generating key. This may take a few moments...

8. Visualice los certificados existentes en la base de datos:


# certutil -d . -L

Ing. Ivan Ferreira

58

Seguridad del Directorio

9. Exporte el certificado del CA para utilizar con otros servidores y clientes.


# certutil -d . -L -n "CA certificate" -a > cacert.asc

10. Establezca el propietario y los permisos correctos para los archivos generados:
# chown ldap:ldap key3.db cert8.db pwdfile # chmod 640 key3.db cert8.db pwdfile

Configuracin de TLS/SSL en Directory Server y la Consola


1. En la consola de Directory Server, seleccione la pestaa Configuration 2. Seleccione en el panel derecho la pestaa Encryption 3. Marque la casilla de verificacin Enable SSL for this server 4. Marque la casilla de verificacin Use this Cipher Family 5. Marque la casilla de verificacin Use SSL in Console 6. Desmarque la casilla de verificacin Check hostname against name in certificate for outbound SSL connections.

7. Haga clic en el botn Save.

59

Red Hat Certified Engineer

Seguridad del Directorio

Configuracin del archivo de contrasea para Directory Server


1. Cambiese al directorio donde las bases de datos de certificados son almacenados:
# cd /etc/dirsrv/slapd-ds1/

2. Cree el archivo pin.txt con los siguientes comandos:


# echo "Internal (Software) Token:$(cat pwdfile)" > pin.txt # chown ldap:ldap pin.txt # chmod 640 pin.txt

3. Reinicie el servicio de Directory Server para activar SSL/TLS:


# service dirsrv restart

Obtencin y configuracin de de Certificados Digitales para Administration Server


1. Cambiese al directorio donde las bases de datos de certificados de Directory Server son almacenados:
# cd /etc/dirsrv/slapd-ds1/

2. Exporte el certificado del servidor en formato PKCS12 con el comando pk12util:


# pk12util -d . -o servercert.pfx -n Server-Cert -w pwdfile -k pwdfile

3. Cambiese al directorio donde las bases de datos de certificados de Administration Server son almacenados:
# cd /etc/dirsrv/admin-serv/

4. Importe los certificados del CA y del servidor:


# certutil -A -d . -n "CA certificate" -t "CT,," -a \ -i /etc/dirsrv/slapd-ds1/cacert.asc # pk12util -d . -n server-cert \ -i /etc/dirsrv/slapd-ds1/servercert.pfx \ -w /etc/dirsrv/slapd-ds1/pwdfile \ -k /etc/dirsrv/slapd-ds1/pwdfile

Configuracin de TLS/SSL en Administration Server


1. En la consola de Administration Server, seleccione la pestaa Configuration 2. En el panel derecho, seleccione la pestaa Encryption 3. Marque la casilla de verificacin Enable SSL for this server
Ing. Ivan Ferreira 60

Seguridad del Directorio

4. Marque la casilla de verificacin Use this Cipher Family 5. Marque la casilla de verificacin Disable client authentication

6. Haga clic en el botn Save.

Configuracin del archivo de contrasea para Directory Server


1. Cambiese al directorio donde las bases de datos de certificados de Administration Server son almacenados:
# cd /etc/dirsrv/admin-serv/

2. Cree el archivo password.conf con los siguientes comandos:


# echo "internal:$(cat /etc/dirsrv/slapd-<serverID>/pwdfile)" > password.conf # chown ldap:ldap password.conf # chmod 640 password.conf

3. Edite el archivo /etc/dirsrv/admin-serv/nss.conf y establezca el siguiente parmetro:


NSSPassPhraseDialog file://etc/dirsrv/admin-serv/password.conf

4. Reinicie el servicio de Administration Server para activar SSL/TLS:


# service dirsrv-admin restart

61

Red Hat Certified Engineer

Seguridad del Directorio

Verificacin de la configuracin
1. Verifique que Directory Server est escuchando conexiones en el puerto 636:
# netstat -an | grep 636.*LISTEN tcp 0 0 :::636 :::* LISTEN

2. Asegrese que en la Consola de Directory Server, la conexin es realizada utilizando https:


# /usr/bin/389-console -a https://localhost:9830

3. En la Consola de Directory Server, verifique que el puerto para Directory Server es 636:

4. Utilice el comando /usr/lib/mozldap/ldapsearch para verificar una conexin al puerto 636 usando SSL:
# /usr/lib/mozldap/ldapsearch -Z -h ds1.linux.com.py -p 636 \ -D "cn=Directory Manager" -P /etc/dirsrv/slapd-ds1/cert8.db \ -b "dc=linux,dc=com,dc=py" -w - objectclass=*

La opcin -Z indica al comando ldapsearch que realice una conexin utilizando encriptacin SSL, la opcin -p indica el puerto LDAPs y la opcin -P indica la ruta a la base de datos de certificados. 5. Utilice el comando /usr/lib/mozldap/ldapsearch para verificar una conexin al
Ing. Ivan Ferreira 62

Seguridad del Directorio

puerto 389 usando TLS:


# /usr/lib/mozldap/ldapsearch -ZZZ -h ds1.linux.com.py -p 389 \ -D "cn=Directory Manager" -P /etc/dirsrv/slapd-ds1/cert8.db \ -b "dc=linux,dc=com,dc=py" -w - objectclass=*

La opcin -ZZZ indica al comando ldapsearch que realice una conexin utilizando encriptacin TLS, la opcin -p indica el puerto LDAP y la opcin -P indica la ruta a la base de datos de certificados.

Configuracin de SSL/TLS en los clientes LDAP


1. Realice una copia de seguridad de los archivos /etc/openldap/ldap.conf y /etc/ldap.conf.
# cp /etc/openldap/ldap.conf /etc/openldap/ldap.conf.bak # cp /etc/ldap.conf /etc/ldap.conf.bak

2. Copie el certificado del CA al directorio /etc/openldap/cacerts con el siguiente comando:


# cp /etc/dirsrv/slapd-ds1/cacert.asc \ /etc/openldap/cacerts/`openssl x509 -noout -hash -in cacert.asc`.0

3. Ejecute el comando authconfig-tui y marque la casilla de verificacin Utilizar TLS:

4. Verifique los cambios efectuados por la herramienta authconfig-tui en los archivos /etc/openldap/ldap.conf y /etc/ldap.conf utilizando el comando diff:
63 Red Hat Certified Engineer

Seguridad del Directorio


# diff /etc/openldap/ldap.conf /etc/openldap/ldap.conf.bak # diff /etc/ldap.conf /etc/ldap.conf.bak

Permitiendo conexiones no autenticadas


1. Verifique el valor del atributo dse.ldif: nsslapd-allow-unauthenticated-binds en el archivo

# grep unauthenticated /etc/dirsrv/slapd-ds1/dse.ldif nsslapd-allow-unauthenticated-binds: off

2. Intente realizar una bsqueda en el directorio utilizando una conexin no autenticada omitiendo el parmetro -W en el comando ldapsearch:
# ldapsearch -x -H ldap://localhost -D "cn=Directory Manager" \ -b "dc=linux,dc=com,dc=py" objectclass=* ldap_bind: Server is unwilling to perform (53) additional info: Unauthenticated binds are not allowed

3. Modifique el parmetro nsslapd-allow-unauthenticated-binds utilizando el comando ldapmodify:


# ldapmodify -x -H ldap://localhost -D "cn=Directory Manager" -W Enter LDAP Password: dn: cn=config changetype: modify replace: nsslapd-allow-unauthenticated-binds nsslapd-allow-unauthenticated-binds: on modifying entry "cn=config"

4. Verifique el valor del atributo dse.ldif:

nsslapd-allow-unauthenticated-binds en el archivo

# grep unauthenticated /etc/dirsrv/slapd-ds1/dse.ldif nsslapd-allow-unauthenticated-binds: on

5. Intente realizar una bsqueda en el directorio utilizando una conexin no autenticada omitiendo el parmetro -W en el comando ldapsearch:
# ldapsearch -x -H ldap://localhost -D "cn=Directory Manager" \ -b "dc=linux,dc=com,dc=py" objectclass=* # extended LDIF # # LDAPv3 # base <dc=linux,dc=com,dc=py> with scope subtree # filter: objectclass=* # requesting: ALL # .

Ing. Ivan Ferreira

64

Seguridad del Directorio


. . # search result search: 2 result: 0 Success # numResponses: 16 # numEntries: 15

Configurando polticas de contraseas global utilizando la Consola


Las politicas de contrasea funcionan unicamente utilizando rootbinddn diferente a cn=Directory Manager. 1. En la Consola de Directory Server, seleccione la pestaa Configuration y luego el nodo Data. 2. En el panel derecho seleccione la pestaa Passwords 3. Marque la casilla de verificacin Enable fine-grained password policy 4. Marque la casilla de verificacin User must change password after reset 5. Marque la casilla de verificacin Password expires after X days y establezca 8 en la cantidad de das 6. Marque la casilla de verificacin Send Warning X Days Before Password Expires y establezca 8 en la cantidad de das

65

Red Hat Certified Engineer

Seguridad del Directorio

7. Haga clic en la pestaa Account Lockout 8. Marque la casilla de verificacin Accounts may be locked out 9. Establezca 3 en el valor para Lockout account after X login failures 10. Establezca 60 en el valor para Reset failure count after X minutes 11. Seleccione Lockout Forever

Ing. Ivan Ferreira

66

Seguridad del Directorio

12. Haga clic en el boton Save 13. Haga clic en la pestaa Directory 14. Seleccione en el panel de navegacin izquierdo la OU=People 15. En el panel de navegacin derecho, haga clic sobre el usuario jperez 16. Establezca la contrasea para el usuario a 87654321

67

Red Hat Certified Engineer

Seguridad del Directorio

Configuracin del cliente LDAP


1. Edite el archivo /etc/ldap.conf y descomente los siguientes parmetro:
# vi /etc/ldap.conf # Search the root DSE for the password policy (works # with Netscape Directory Server) pam_lookup_policy yes # Use the OpenLDAP password change # extended operation to update the password. pam_password exop

2. Asegrese de que pam_ldap se encuentra listado antes que pam_unix en el archivo /etc/pam.d/system-auth-local, verifique adems los argumentos try_first_pass y use_first_pass en cada mdulo:
auth auth auth auth auth required sufficient sufficient requisite required pam_env.so pam_ldap.so try_first_pass pam_unix.so nullok use_first_pass pam_succeed_if.so uid >= 500 quiet pam_deny.so

Ing. Ivan Ferreira

68

Seguridad del Directorio

Verificacin de polticas de contrsea


1. Inicie sesin utilizando el usuario jperez y contrasea 87654321 en el sistema operativo. Que mensajes recibe al iniciar sesin?
You are required to change your LDAP password immediately. Your LDAP password will expire in 8 days. Last login: Fri Mar 12 08:24:02 2010 from 10.129.5.220 WARNING: Your password has expired. You must change your password now and login again! Changing password for user jperez. Enter login(LDAP) password:

2. Cambie la contrasea y estableza a LE304lab8. Deber volver a iniciar sesin.

Verificacin de polticas de cuenta


1. Verifique los atributos accountUnlockTime y passwordRetryCount para el usuario jperez con el comando ldapsearch:
# ldapsearch -x -H ldap://localhost -D "cn=Directory Manager" \ -b "dc=linux,dc=com,dc=py" uid=jperez accountUnlockTime passwordRetryCount # # # # # # # extended LDIF LDAPv3 base <dc=linux,dc=com,dc=py> with scope subtree filter: uid=jperez requesting: accountUnlockTime passwordRetryCount

# JPerez, People, linux.com.py dn: uid=JPerez,ou=People, dc=linux, dc=com, dc=py passwordRetryCount: 0 # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1

Observacin: El comando podra no mostrar ninguno de los atributos solictados indicando que la cuenta no tiene intentos invlidos de inicio de sesin y que la cuenta no se encuentra bloqueada. 2. Introduciendo una contrasea equivocada, intente iniciar sesin con el usuario jperez. 3. Verifique los atributos accountUnlockTime y passwordRetryCount para el usuario jperez con el comando ldapsearch. Que atributo ha cambiado?
# ldapsearch -x -H ldap://localhost -D "cn=Directory Manager" "dc=linux,dc=com,dc=py" uid=jperez accountUnlockTime passwordRetryCount # extended LDIF # -b

69

Red Hat Certified Engineer

Seguridad del Directorio


# # # # # LDAPv3 base <dc=linux,dc=com,dc=py> with scope subtree filter: uid=jperez requesting: accountUnlockTime passwordRetryCount

# JPerez, People, linux.com.py dn: uid=JPerez,ou=People, dc=linux, dc=com, dc=py passwordRetryCount: 1 # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1

4. Introduciendo una contrasea equivocada por segunda vez, intente iniciar sesin con el usuario jperez. 5. Verifique los atributos accountUnlockTime y passwordRetryCount para el usuario jperez con el comando ldapsearch. Que atributo ha cambiado?
# ldapsearch -x -H ldap://localhost -D "cn=Directory Manager" "dc=linux,dc=com,dc=py" uid=jperez accountUnlockTime passwordRetryCount # extended LDIF # # LDAPv3 # base <dc=linux,dc=com,dc=py> with scope subtree # filter: uid=jperez # requesting: accountUnlockTime passwordRetryCount # # JPerez, People, linux.com.py dn: uid=JPerez,ou=People, dc=linux, dc=com, dc=py passwordRetryCount: 2 # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 -b

6. Introduciendo una contrasea equivocada por tercera vez, intente iniciar sesin con el usuario jperez. 7. Verifique los atributos accountUnlockTime y passwordRetryCount para el usuario jperez con el comando ldapsearch. Que atributo ha cambiado? Que atributo indica que la cuenta ha sido bloqueada?
# ldapsearch -x -H ldap://localhost -D "cn=Directory Manager" "dc=linux,dc=com,dc=py" uid=jperez accountUnlockTime passwordRetryCount # extended LDIF # # LDAPv3 # base <dc=linux,dc=com,dc=py> with scope subtree # filter: uid=jperez # requesting: accountUnlockTime passwordRetryCount -b

Ing. Ivan Ferreira

70

Seguridad del Directorio


# # JPerez, People, linux.com.py dn: uid=JPerez,ou=People, dc=linux, dc=com, dc=py accountUnlockTime: 19700101000000Z passwordRetryCount: 3 # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1

8. Introduciendo la contrasea LE304lab8, intente iniciar sesin con el usuario jperez. 9. Elimine los atributos passwordRetryCount y accountUnlockTime de la cuenta jperez. Para ello, cree un script llamado ldap_unlock_user.sh con el siguiente contenido:
#!/bin/bash if [ $# -eq 0 ] then echo "Uso: $0 <usuario> <OU>" exit 1 fi USUARIO=$1 if [ -z $2 ] then OU=People else OU=$2 fi cat > /tmp/unlock.ldif <<EOF dn: uid=$USUARIO,ou=$OU,dc=linux,dc=com,dc=py changetype: modify delete: passwordRetryCount changetype: modify delete: accountUnlockTime EOF ldapmodify -x -H ldap://localhost -D "cn=Directory Manager" -W -f /tmp/unlock.ld if

10. Establezca los permisos apropiados al script:


# chmod 755 ldap_unlock_user.sh

11. Ejecute el script para desbloquear la cuenta de jperez:


# ./ldap_unlock_user.sh jperez Enter LDAP Password: modifying entry "uid=jperez,ou=People,dc=linux,dc=com,dc=py"

12. Introduciendo la contrasea LE304lab8, intente iniciar sesin con el usuario jperez.

71

Red Hat Certified Engineer

Seguridad del Directorio

Deshabilitando las politicas de cuenta y contrasea


1. Utilizando la consola de Directory Server, deshabilite las politicas de cuenta y contrsaea.

Ing. Ivan Ferreira

72

9 Herramientas de administracin del Directorio

Herramientas de administracin del Directorio

PhpLDAPadmin
En este laboratorio, configurar phpLDAPadmin para administrar el Directorio utilizando una interfaz Web. 1. Asegrese de tener instalado los paquetes httpd, php, php-ldap y mod_ssl. Si los paquetes no estan instalados, instlelos utilizando el comando yum install.
# yum info httpd php php-ldap mod_ssl Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c5-media: Installed Packages Name : httpd Arch : i386 Version : 2.2.3 Release : 22.el5.centos Size : 3.1 M Repo : installed Summary : Apache HTTP Server URL : http://httpd.apache.org/ License : Apache Software License Description: The Apache HTTP Server is a powerful, efficient, and extensible web server. Name : mod_ssl Arch : i386 Epoch : 1 Version : 2.2.3 Release : 22.el5.centos Size : 173 k Repo : installed Summary : SSL/TLS module for the Apache HTTP server URL : http://httpd.apache.org/ License : Apache Software License Description: The mod_ssl module provides strong cryptography for the Apache Web server via the Secure Sockets : Layer (SSL) and Transport Layer Security (TLS) protocols. Name : php Arch : i386 Version : 5.1.6 Release : 23.el5 Size : 2.9 M Repo : installed Summary : The PHP HTML-embedded scripting language. (PHP: Hypertext Preprocessor) URL : http://www.php.net/ License : The PHP License v3.01 Description: PHP is an HTML-embedded scripting language. PHP attempts to make it easy for developers to write dynamically generated webpages. PHP also offers built-in database integration for several commercial and non-commercial database management systems, so writing a database-enabled webpage with PHP is fairly simple. The most common use of PHP coding is probably as a replacement for CGI scripts. The php package contains the module which adds support for the PHP language to Apache HTTP Server. Name Arch Version Release : : : : php-ldap i386 5.1.6 23.el5

Ing. Ivan Ferreira

74

Herramientas de administracin del Directorio


Size : 43 k Repo : installed Summary : A module for PHP applications that use LDAP. URL : http://www.php.net/ License : The PHP License v3.01 Description: The php-ldap package is a dynamic shared object (DSO) for the Apache Web server that adds Lightweight Directory Access Protocol (LDAP) support to PHP. LDAP is a set of protocols for accessing directory services over the Internet. PHP is an HTML-embedded scripting language. If you need LDAP support for PHP applications, you will need to install this package in addition to the php package.

2. Edite el archivo /etc/php.ini y aumente el lmite de memoria a 32 MB y reinicie el servicio de Apache:


# vi /etc/php.ini memory_limit = 32M # service httpd restart

3. Obtenga el paquete de instalacin de phpldapadmin y ubiquelo en el directorio /tmp 4. Cree un directorio para la instalacin de phpldapadmin por debajo del DocumentRoot de Apache, por defecto /var/www/html
# mkdir /var/www/html/phpldapadmin

5. Desempaquete el archivo de instalacin de phpldapadmin:


# cd /tmp # tar xpf phpldapadmin-*tgz

6. Mueva los archivos desempaquetados al directorio de instalacin:


# mv phpldapadmin*/* /var/www/html/phpldapadmin/

7. Cambiese al directorio de instalacin de phpldapadmin:


# cd /var/www/html/phpldapadmin/

8. Copie el archivo de configuracin ejemplo y modifiquelo para indicar los valores de conexin al Directory Server. Elimine la doble barra inicial de las lneas para descomentarlas:
# cp config/config.php.example config/config.php # vi config/config.php /*********************************************/ /* Define your LDAP servers in this section */ /*********************************************/ $servers = new Datastore(); /* $servers->NewServer('ldap_pla') must be called before each new LDAP server

75

Red Hat Certified Engineer

Herramientas de administracin del Directorio


declaration. */ $servers->newServer('ldap_pla'); /* A convenient name that will appear in the tree viewer and throughout phpLDAPadmin to identify this LDAP server to users. */ $servers->setValue('server','name','389 Directory Server'); /* Examples: 'ldap.example.com', 'ldaps://ldap.example.com/', 'ldapi://%2fusr%local%2fvar%2frun%2fldapi' (Unix socket at /usr/local/var/run/ldap) */ $servers->setValue('server','host','ds1.linux.com.py'); /* The port your LDAP server listens on (no quotes). 389 is standard. */ $servers->setValue('server','port',389); /* Array of base DNs of your LDAP server. Leave this blank to have phpLDAPadmin auto-detect it for you. */ // $servers->setValue('server','base',array('')); /* Four options for auth_type: 1. 'cookie': you will login via a web form, and a client-side cookie will store your login dn and password. 2. 'session': same as cookie but your login dn and password are stored on the web server in a persistent session variable. 3. 'http': same as session but your login dn and password are retrieved via HTTP authentication. 4. 'config': specify your login dn and password here in this config file. No login will be required to use phpLDAPadmin for this server. Choose wisely to protect your authentication information appropriately for your situation. If you choose 'cookie', your cookie contents will be encrypted using blowfish and the secret your specify above as session['blowfish']. */ $servers->setValue('login','auth_type','session'); /* The DN of the user for phpLDAPadmin to bind with. For anonymous binds or 'cookie' or 'session' auth_types, LEAVE THE LOGIN_DN AND LOGIN_PASS BLANK. If you specify a login_attr in conjunction with a cookie or session auth_type, then you can also specify the bind_id/bind_pass here for searching the directory for users (ie, if your LDAP server does not allow anonymous binds. */ $servers->setValue('login','bind_id',''); # $servers->setValue('login','bind_id','cn=Manager,dc=example,dc=com'); /* Your LDAP password. If you specified an empty bind_id above, this MUST also be blank. */ $servers->setValue('login','bind_pass',''); # $servers->setValue('login','bind_pass','secret'); /* Use TLS (Transport Layer Security) to connect to the LDAP server. */ $servers->setValue('server','tls',false);

9. Edite el archivo templates/creation/posixAccount.xml y modifique las siguientes lneas:


# vi templates/creation/posixAccount.xml <rdn>uid</rdn> <attribute id="uid"> <display>User ID</display> <onchange>=autoFill(homeDirectory;/home/%uid%)</onchange>

Ing. Ivan Ferreira

76

Herramientas de administracin del Directorio


<order>4</order> <page>1</page> <spacer>1</spacer> </attribute> <attribute id="loginShell"> <display>Login shell</display> <order>9</order> <page>1</page> <!-- <value><![CDATA[=php.PickList(/;(&(objectClass=posixAccount));loginShell; %loginShell%;;;;loginShell)]]></value> --> <type>select</type> <value id="/bin/sh">/bin/sh</value> <value id="/bin/csh">/bin/csh</value> <value id="/bin/tsh">/bin/tsh</value> <value id="/bin/bash">/bin/bash</value> </attribute>

10. Utilizando el navegador web, conctese al URL https://ds1.linux.com.py 11. Haga clic en conectar e inicie sesin con cn=Directory Manager y contrasea 12345678

12. En el panel de navegacin izquierdo, despliegue la ou=Groups y seleccione Crear nuevo objeto. En el panel derecho, seleccione Genrico Groupo Posix 13. Ingrese hgomez en el campo Grupo y haga clic en el boton Crear nuevo objeto:

77

Red Hat Certified Engineer

Herramientas de administracin del Directorio

14. En la ventana de resumen, haga clic en el boton Cometer 15. En el panel de navegacin izquierdo, despliegue la ou=People y seleccione Crear nuevo objeto. En el panel derecho, seleccione Genrico Cuenta de Usuario 16. Ingrese en el campo Nombre el valor Hugo, en el campo Apellido el valor Gomez, establezca la contrasea a 12345678, seleccione hgomez de la lista en el campo Nmero GID, y seleccione /bin/bash de la lista en el campo Consola de Login. Haga clic en el botn Crear objeto. 17. En la ventana de resumen, haga clic en el boton Cometer

LdapAdmin
En este laboratorio, configurar LdapAdmin para administrar el Directorio utilizando una interfaz GUI desde un equipo con MS Windows. 1. Obtenga el archivo LdapAdmin.exe y haga doble clic sobre el mismo 2. Haga clic en Start, Connect... La ventana Connections aparece. Seleccione New Connection 3. En el cuadro de texto Connection name, ingrese 389 Directory Server 4. En el cuadro de texto Host ingrese ds1.linux.com.py. Marque la casilla Use SSL
Ing. Ivan Ferreira 78

Herramientas de administracin del Directorio

secure connection 5. En el cuadro de texto Base introduzca dc=linux, dc=com, dc=py 6. En el cuadro de texto Username, ingrese cn=Directory Manager 7. Deje sin completar el cuadro de texto Password

8. Haga clic en el botn OK 9. Haga doble clic sobre la conexin creada e ingrese la contrasea para Directory Manager 10. Haga clic en el men Tools y seleccione Session Preferences... 11. Haga clic en el botn Create default, la ventana Profile Wizard aparece, haga clic en el botn Next para continuar 12. Para el formato de nombre de usuario, seleccione Initial letter of first name, Last name y haga clic en el botn Next 13. Seleccione Last Name, First Name para el formato que sera mostrado en pantalla 14. Presione el boton Next aceptando los valores por defecto hasta finalizar el asistente 15. Modifique el shell para utilizar por defecto /bin/bash

79

Red Hat Certified Engineer

Herramientas de administracin del Directorio

16. Haga clic en el boton OK 17. En el panel de navegacin izquierdo, haga clic derecho sobre la ou=Groups y seleccione New Group 18. En el campo Group Name, ingrese jmendez

Ing. Ivan Ferreira

80

Herramientas de administracin del Directorio

19. En el panel de navegacin izquierdo, haga clic derecho sobre la ou=People y seleccione New User 20. En el cuadro de texto First Name, ingrese Jose, en el cuadro de texto Second Name ingrese Mendez, acepte los valores autocompletados 21. Marque la casilla de verificacin Shadow Account

81

Red Hat Certified Engineer

Herramientas de administracin del Directorio

22. Haga clic en la pestaa Membership y presione el botn Set... 23. Seleccione jmendez de la lista de grupos

24. Haga clic en el botn OK 25. En el panel de navegacin derecho, haga clic derecho sobre el usuario jmendez y
Ing. Ivan Ferreira 82

Herramientas de administracin del Directorio

seleccione Set Password... 26. Ingrese 12345678 como contrasea para el usuario y haga clic en el botn OK

83

Red Hat Certified Engineer

10 Integracin de servicios con el Directorio

Integracin de servicios con el Directorio

Servidor Web Apache


En este laboratorio, configurar Apache para requerir autenticacin y permitir el acceso a directorios virtuales a usuarios miembros de un grupo LDAP especifico. 1. Instale el paquete mod_auth_ldapz utilizando el comando yum:
# yum install mod_authz_ldap Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c5-media: Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package mod_authz_ldap.i386 0:0.26-8.el5 set to be updated --> Finished Dependency Resolution Dependencies Resolved ===================================================================================== ==================================== Package Arch Version Repository Size ===================================================================================== ==================================== Installing: mod_authz_ldap i386 0.26-8.el5 c5-media 84 k Transaction Summary ===================================================================================== ==================================== Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 84 k Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : mod_authz_ldap Installed: mod_authz_ldap.i386 0:0.26-8.el5 Complete!

[1/1]

2. Cree un directorio donde almacenara archivos para los usuarios del grupo admin:
# mkdir /var/www/admin

3. Cree el archivo de configuracin para el directorio virtual admin en Apache con el siguiente contenido:
# vi /etc/httpd/conf.d/admin_authz_ldap.conf

85

Red Hat Certified Engineer

Integracin de servicios con el Directorio

Alias /admin

"/var/www/admin"

<Directory "/var/www/admin"> Options Indexes SymLinksIfOwnerMatch AllowOverride None Order allow,deny Allow from all AuthType basic AuthName Administracion AuthBasicProvider ldap AuthzLDAPAuthoritative on AuthLDAPGroupAttribute memberUid AuthLDAPGroupAttributeIsDN off AuthLDAPURL ldaps://ds1.linux.com.py/ou=People,dc=linux,dc=com,dc=py?uid?sub require ldap-group cn=admin,ou=Groups,dc=linux,dc=com,dc=py </Directory>

4. Deshabilite SELinux para el servicio Apache:


# setsebool -P httpd_disable_trans=1

5. Reinicie el servicio Apache:


# service httpd reload Cargando httpd: [ OK ]

6. Utilizando la herramienta LdapAdmin, cree un grupo llamado admin en la OU=Groups y agregue al usuario plopez al grupo:

Ing. Ivan Ferreira

86

Integracin de servicios con el Directorio

7. Verifique que el usuario plopez es miembro del grupo admin:


# id plopez uid=501(plopez) gid=501(plopez) grupos=501(plopez),45494(admin) context=root:system_r:unconfined_t:SystemLow-SystemHigh

8. Utilizando el navegador firefox, acceda al URL https://ds1.linux.com.py/admin, la ventana de autenticacin aparece:

9. Intente iniciar sesin con el usuario hgomez, el inicio de sesion debe ser denegado ya que no es miembro del grupo admin. 10. Intente iniciar sesin con el usuario plopez, el inicio de sesin debe ser satisfactorio y debera visualizar el contenido del directorio /var/www/admin.

87

Red Hat Certified Engineer

Integracin de servicios con el Directorio

Servidor Proxy Squid


En este laboratorio, configurar Squid para requerir autenticacin y permitir el acceso a Internet a los miembros un grupo LDAP especifico. 1. Edite el archivo de configuracin /etc/squid/squid.conf y busque la siguiente lnea:
#auth_param basic program <uncomment and complete this line>

2. Descomente y complete las lneas auth_param basic como sigue:


auth_param basic program /usr/lib/squid/squid_ldap_auth -b "ou=People,dc=linux,dc=com,dc=py" -f "(&(objectClass=posixAccount)(uid=%s))" -H ldaps://ds1.linux.com.py -v 3 -s sub auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off

3. Para configurar las listas y reglas de control de acceso, busque la lnea:


# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

4. Agregue las siguientes lneas en esa seccin del archivo de configuracin para permitir el acceso a Internet a los miembros del grupo admin:
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # Example rule allowing access from your local networks. Adapt # to list your (internal) IP networks from where browsing should # be allowed #acl our_networks src 192.168.1.0/24 192.168.2.0/24 #http_access allow our_networks # And finally deny all other access to this proxy # http_access allow localhost external_acl_type ldap_group_match %LOGIN /usr/lib/squid/squid_ldap_group -b "ou=Groups,dc=linux,dc=com,dc=py" -f "(&(objectClass=posixGroup)(cn=%g)(memberUid= %u))" -H ldaps://ds1.linux.com.py -v 3 -s sub acl grupo_admin external ldap_group_match admin http_access allow grupo_admin http_access deny all

5. Deshabilite SELinux para el servicio squid


# setsebool -P squid_disable_trans=1

6. Guarde el archivo de configuracin y reinicie el servicio de Squid


# service squid restart

7. Verifique que el usuario jperez no es miembro del grupo admin y que el usuario plopez si es miembro del grupo admin:
Ing. Ivan Ferreira 88

Integracin de servicios con el Directorio


# id jperez uid=500(jperez) gid=500(jperez) grupos=500(jperez) context=root:system_r:unconfined_t:SystemLow-SystemHigh # id plopez uid=501(plopez) gid=501(plopez) grupos=501(plopez),45494(admin) context=root:system_r:unconfined_t:SystemLow-SystemHigh

8. Inicie el navegador firefox y configure el servidor Proxy haciendo clic en Editar, Preferencias, Avanzado. Seleccione la pestaa Red y haga clic en el botn Configuracin.

9. Haga clic en Configuracin manual del proxy e ingrese ds1.linux.com.py en el cuadro de texto Proxy HTTP. Ingrese 3128 en el cuadro de texto Puerto. Marque la casilla de verificacin Usar el mismo proxy para todo.Haga clic en el botn Aceptar.

89

Red Hat Certified Engineer

Integracin de servicios con el Directorio

10. Intente acceder al sitio www.centos.org, se solicitar autenticacin de usuario

11. Intente autenticarse con el usuario jperez. Como este usuario no es miembro del grupo admin, el acceso ser denegado.

Ing. Ivan Ferreira

90

Integracin de servicios con el Directorio

12. Cierre el navegador e inicielo nuevamente. Intente acceder al sitio www.centos.org y autentiquese con el usuario plopez. Como el usuario plopez es miembro del grupo admin el acceso debe ser concedido. 13. Para permitir a grupos creados con la consola de Directory Server, es necesario modificar el filtro de la siguiente forma:
external_acl_type ldap_group_match %LOGIN /usr/lib/squid/squid_ldap_group -b "ou=Groups,dc=linux,dc=com,dc=py" -f "(&(objectClass=posixGroup)(cn=%g)(|(memberUid= %u)(uniqueMember=%u,*))" -H ldaps://ds1.linux.com.py -v 3 -s sub

Integracin de SUDO con LDAP


En este laboratorio, configurar SUDO para obtener los datos de delegacin desde el servidor de Directorio. 1. Verifique que SUDO ha sido compilado con soporte LDAP ejecutando el siguiente comando:
# ldd /usr/bin/sudo | grep ldap libldap-2.3.so.0 => /usr/lib/libldap-2.3.so.0 (0x0049c000)

2. Obtenga la plantilla sudo-role.ltf para LdapAdmin y ubiquela en el mismo directorio que la aplicacin. 3. Inicie la aplicacin LdapAdmin y conectese al servidor ds1. 4. Utilice la herramienta LdapAdmin para crear una OU llamada Sudoers por debajo del
91 Red Hat Certified Engineer

Integracin de servicios con el Directorio

sufijo raz. En el panel de navegacin izquierdo, haga clic derecho sobre dc=linux,dc=com,dc=py y seleccione New Organizational Unit...

5. Haga clic derecho sobre la ou=sudoers y seleccione New, More..., Sudo Role 6. Cree una nueva entrada con los siguientes valores

cn: dirsrv sudoHost: ALL sudoUser: %admin sudoCommand: /sbin/service dirsrv * sudoOption: !authenticate sudoRunAs: root

Ing. Ivan Ferreira

92

Integracin de servicios con el Directorio

27. Edite el archivo /etc/ldap.conf y agregue la siguiente lnea al final del archivo:
sudoers_base ou=sudoers,dc=linux,dc=com,dc=py

28. Inicie sesin con el usuario plopez y verifique que es miembro del grupo admin:
$ id uid=501(plopez) gid=501(plopez) grupos=501(plopez),45494(admin) context=user_u:system_r:unconfined_t

29. Ejecute el comando sudo -l para verificar la configuracin:


$ sudo -l User plopez may run the following commands on this host: LDAP Role: dirsrv RunAs: (root) Commands: /sbin/service dirsrv *

30. Reinicie el servicio de Directory Server con el usuario plopez ejecutando el siguiente comando:
$ sudo /sbin/service dirsrv restart Shutting down dirsrv: ds1... Starting dirsrv: ds1...

[ [

OK OK

] ]

Servidor Postfix
En este laboratorio, configurar Postfix para obtener los datos de aliases y listas de correo del directorio. 1. Obtenga o cree el archivo 61postfix.ldif para extender el esquema del directorio y almacenelo en el directorio /tmp 2. Mueva el archivo al directorio /etc/dirsrv/slapd-ds1/schema/
93 Red Hat Certified Engineer

Integracin de servicios con el Directorio


# mv /tmp/61postfix.ldif /etc/dirsrv/slapd-ds1/schema/

3. Reinicie el servicio de Directory Server:


# service dirsrv restart Shutting down dirsrv: ds1... Starting dirsrv: ds1...

[ [

OK OK

] ]

4. Instale postfix con el comando yum


# yum install postfix Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c5-media: Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package postfix.i386 2:2.3.3-2.1.el5_2 set to be updated --> Finished Dependency Resolution Dependencies Resolved ===================================================================================== ====================== Package Arch Version Repository Size ===================================================================================== ====================== Installing: postfix i386 2:2.3.3-2.1.el5_2 c5-media 3.6 M Transaction Summary ===================================================================================== ====================== Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 3.6 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : postfix Installed: postfix.i386 2:2.3.3-2.1.el5_2 Complete!

[1/1]

5. Detenga el servicio sendmail


# service sendmail stop

6. Configure postfix como MTA predeterminado:


Ing. Ivan Ferreira 94

Integracin de servicios con el Directorio


# alternatives --config mta There are 2 programs which provide 'mta'. Selection Command ----------------------------------------------* 1 /usr/sbin/sendmail.sendmail + 2 /usr/sbin/sendmail.postfix Enter to keep the current selection[+], or type selection number: 2

7. Edite el archivo /etc/postfix/main.cf y configure los siguientes valores bsicos:


myhostname = ds1.linux.com.py mydomain = linux.com.py mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain inet_interfaces = all

8. Agregue al final del archivo los siguientes parmetros de configuracin para LDAP:
virtual_maps = ldap:/etc/postfix/ldap-mailgroups.cf, ldap:/etc/postfix/ldapaliases.cf local_recipient_maps = unix:passwd.byname $alias_maps $virtual_maps

9. Cree el archivo /etc/postfix/ldap-aliases.cf con el siguiente contenido:


bind = no version = 3 timeout = 20 size_limit = 1 expansion_limit = 0 start_tls = no tls_require_cert = no server_host = ldap://ds1.linux.com.py search_base = dc=linux,dc=com,dc=py scope = sub query_filter = (&(mail=%s)(objectclass=mailUser)) result_attribute = maildrop

10. Cree el archivo /etc/postfix/ldap-mailgroup.cf con el siguiente contenido:


bind = no version = 3 timeout = 20 size_limit = 1 expansion_limit = 0 start_tls = no tls_require_cert = no server_host = ldap://ds1.linux.com.py search_base = dc=linux,dc=com,dc=py scope = sub query_filter = (&(mail=%s)(objectclass=mailGroup)) special_result_attribute = member

95

Red Hat Certified Engineer

Integracin de servicios con el Directorio

11. Inicie el servicio postfix:


# service postfix start

12. Inicie la herramienta LdapAdmin y conectese al servidor ds1 13. Haga doble clic sobre la entrada de usuario jperez 14. Marque la casilla de verificacin Mail Account

15. Seleccione la pestaa Mail 16. En el cuadro de texto Maildrop ingrese jperez 17. Presione el boton Add e ingrese jperez@linux.com.py 18. Haga clic en el botn OK 19. Presione el boton Add e ingrese juan.perez@linux.com.py 20. Haga clic en el botn OK

Ing. Ivan Ferreira

96

Integracin de servicios con el Directorio

21. Ejecute el comando postmap para verificar el Maildrop para la direccin de correo jperez@linux.com.py
# postmap -q jperez@linux.com.py ldap:/etc/postfix/ldap-aliases.cf jperez

22. Ejecute el comando postmap para verificar el Maildrop para la direccin de correo juan.perez@linux.com.py
# postmap -q juan.perez@linux.com.py ldap:/etc/postfix/ldap-aliases.cf jperez

23. Agregue las direcciones de correo plopez@linux.com.py y pedro.lopez@linux.com.py utilizando el mismo procedimiento estableciendo como maildrop plopez.

97

Red Hat Certified Engineer

Integracin de servicios con el Directorio

24. Haga clic derecho sobre la ou=People y seleccione New, Mailing list... 25. En el cuadro de texto Group Name ingrese soporte 26. En la pestaa Members presione el boton Add, seleccione la entrada jperez y haga clic en OK 27. En la pestaa Members presione el boton Add, seleccione la entrada plopez y haga clic en OK

Ing. Ivan Ferreira

98

Integracin de servicios con el Directorio

28. En la pestaa E-Mail Addresses presione el boton Add e ingrese soporte@linux.com.py

99

Red Hat Certified Engineer

Integracin de servicios con el Directorio

29. Ejecute el comando postmap para verificar la expansin del grupo de correo a los miembros del mismo:
# postmap -q soporte@linux.com.py ldap:/etc/postfix/ldap-mailgroups.cf jperez,plopez

Controlador de dominio SAMBA


En este laboratorio, configurar SAMBA para funcionar como un PDC almacenando la informacin en Directory Server.

Instalacin de paquetes requeridos para el controlador de dominio


1. Obtenga e instale los paquetes smbldap-tools de EPEL, para ello, descargue el archivo smbldap-tools.tar y ubiquelo en el directorio /tmp 2. Descompacte el archivo smbldap-tools.tar
# cd /tmp # tar xpf smbldap-tools.tar

Ing. Ivan Ferreira

100

Integracin de servicios con el Directorio

3. Instale los archivos con el comando yum:


# yum --nogpgcheck localinstall /tmp/smbldap-tools/*rpm Loaded plugins: fastestmirror Setting up Local Package Process Examining /tmp/smbldap-tools/keyutils-libs-1.2-1.el5.i386.rpm: keyutils-libs-1.21.el5.i386 /tmp/smbldap-tools/keyutils-libs-1.2-1.el5.i386.rpm: does not update installed package. Examining /tmp/smbldap-tools/perl-Convert-ASN1-0.22-1.el5.rf.noarch.rpm: perlConvert-ASN1-0.22-1.el5.rf.noarch Marking /tmp/smbldap-tools/perl-Convert-ASN1-0.22-1.el5.rf.noarch.rpm to be installed Loading mirror speeds from cached hostfile * c5-media: Examining /tmp/smbldap-tools/perl-Crypt-SmbHash-0.12-6.el5.noarch.rpm: perl-CryptSmbHash-0.12-6.el5.noarch Marking /tmp/smbldap-tools/perl-Crypt-SmbHash-0.12-6.el5.noarch.rpm to be installed Examining /tmp/smbldap-tools/perl-Digest-MD4-1.5-4.el5.i386.rpm: perl-Digest-MD4-1.54.el5.i386 Marking /tmp/smbldap-tools/perl-Digest-MD4-1.5-4.el5.i386.rpm to be installed Examining /tmp/smbldap-tools/perl-Jcode-2.06-1.el5.rf.i386.rpm: perl-Jcode-2.061.el5.rf.i386 Marking /tmp/smbldap-tools/perl-Jcode-2.06-1.el5.rf.i386.rpm to be installed Examining /tmp/smbldap-tools/perl-LDAP-0.33-3.fc6.noarch.rpm: 1:perl-LDAP-0.333.fc6.noarch Marking /tmp/smbldap-tools/perl-LDAP-0.33-3.fc6.noarch.rpm to be installed Examining /tmp/smbldap-tools/perl-libwww-perl-5.805-1.1.1.noarch.rpm: perl-libwwwperl-5.805-1.1.1.noarch Marking /tmp/smbldap-tools/perl-libwww-perl-5.805-1.1.1.noarch.rpm to be installed Examining /tmp/smbldap-tools/perl-Unicode-Map-0.112-12.el5.i386.rpm: perl-UnicodeMap-0.112-12.el5.i386 Marking /tmp/smbldap-tools/perl-Unicode-Map-0.112-12.el5.i386.rpm to be installed Examining /tmp/smbldap-tools/perl-Unicode-Map8-0.13-1.el5.rf.i386.rpm: perl-UnicodeMap8-0.13-1.el5.rf.i386 Marking /tmp/smbldap-tools/perl-Unicode-Map8-0.13-1.el5.rf.i386.rpm to be installed Examining /tmp/smbldap-tools/perl-Unicode-MapUTF8-1.11-7.el5.noarch.rpm: perlUnicode-MapUTF8-1.11-7.el5.noarch Marking /tmp/smbldap-tools/perl-Unicode-MapUTF8-1.11-7.el5.noarch.rpm to be installed Examining /tmp/smbldap-tools/perl-Unicode-String-2.09-6.el5.i386.rpm: perl-UnicodeString-2.09-6.el5.i386 Marking /tmp/smbldap-tools/perl-Unicode-String-2.09-6.el5.i386.rpm to be installed Examining /tmp/smbldap-tools/perl-XML-NamespaceSupport-1.10-1.el5.rf.noarch.rpm: perl-XML-NamespaceSupport-1.10-1.el5.rf.noarch Marking /tmp/smbldap-tools/perl-XML-NamespaceSupport-1.10-1.el5.rf.noarch.rpm to be installed Examining /tmp/smbldap-tools/perl-XML-SAX-0.96-1.el5.rf.noarch.rpm: perl-XML-SAX0.96-1.el5.rf.noarch Marking /tmp/smbldap-tools/perl-XML-SAX-0.96-1.el5.rf.noarch.rpm to be installed Examining /tmp/smbldap-tools/samba-3.0.33-3.15.el5_4.1.i386.rpm: samba-3.0.333.15.el5_4.1.i386 Marking /tmp/smbldap-tools/samba-3.0.33-3.15.el5_4.1.i386.rpm to be installed Examining /tmp/smbldap-tools/samba-client-3.0.33-3.15.el5_4.1.i386.rpm: samba-client3.0.33-3.15.el5_4.1.i386 Marking /tmp/smbldap-tools/samba-client-3.0.33-3.15.el5_4.1.i386.rpm as an update to samba-client-3.0.33-3.7.el5.i386 Examining /tmp/smbldap-tools/samba-common-3.0.33-3.15.el5_4.1.i386.rpm: samba-common3.0.33-3.15.el5_4.1.i386 Marking /tmp/smbldap-tools/samba-common-3.0.33-3.15.el5_4.1.i386.rpm as an update to samba-common-3.0.33-3.7.el5.i386 Examining /tmp/smbldap-tools/smbldap-tools-0.9.5-1.el5.rf.noarch.rpm: smbldap-tools0.9.5-1.el5.rf.noarch

101

Red Hat Certified Engineer

Integracin de servicios con el Directorio


Marking /tmp/smbldap-tools/smbldap-tools-0.9.5-1.el5.rf.noarch.rpm to be installed Resolving Dependencies There are unfinished transactions remaining. You mightconsider running yum-completetransaction first to finish them. --> Running transaction check ---> Package smbldap-tools.noarch 0:0.9.5-1.el5.rf set to be updated --> Processing Dependency: perl(Digest::SHA1) for package: smbldap-tools ---> Package samba-client.i386 0:3.0.33-3.15.el5_4.1 set to be updated ---> Package perl-XML-SAX.noarch 0:0.96-1.el5.rf set to be updated ---> Package samba-common.i386 0:3.0.33-3.15.el5_4.1 set to be updated ---> Package perl-Crypt-SmbHash.noarch 0:0.12-6.el5 set to be updated ---> Package perl-Convert-ASN1.noarch 0:0.22-1.el5.rf set to be updated ---> Package perl-libwww-perl.noarch 0:5.805-1.1.1 set to be updated --> Processing Dependency: perl-HTML-Parser >= 3.33 for package: perl-libwww-perl --> Processing Dependency: perl(Compress::Zlib) for package: perl-libwww-perl --> Processing Dependency: perl(HTML::Entities) for package: perl-libwww-perl --> Processing Dependency: perl(URI) for package: perl-libwww-perl --> Processing Dependency: perl(URI::Escape) for package: perl-libwww-perl --> Processing Dependency: perl(URI::Heuristic) for package: perl-libwww-perl --> Processing Dependency: perl(URI::URL) for package: perl-libwww-perl ---> Package samba.i386 0:3.0.33-3.15.el5_4.1 set to be updated ---> Package perl-LDAP.noarch 1:0.33-3.fc6 set to be updated --> Processing Dependency: perl(IO::Socket::SSL) for package: perl-LDAP ---> Package perl-Unicode-MapUTF8.noarch 0:1.11-7.el5 set to be updated ---> Package perl-Unicode-String.i386 0:2.09-6.el5 set to be updated ---> Package perl-Unicode-Map.i386 0:0.112-12.el5 set to be updated ---> Package perl-Unicode-Map8.i386 0:0.13-1.el5.rf set to be updated ---> Package perl-XML-NamespaceSupport.noarch 0:1.10-1.el5.rf set to be updated ---> Package perl-Jcode.i386 0:2.06-1.el5.rf set to be updated ---> Package perl-Digest-MD4.i386 0:1.5-4.el5 set to be updated --> Running transaction check ---> Package perl-URI.noarch 0:1.35-3 set to be updated ---> Package perl-HTML-Parser.i386 0:3.55-1.fc6 set to be updated --> Processing Dependency: perl-HTML-Tagset >= 3.03 for package: perl-HTML-Parser --> Processing Dependency: perl(HTML::Tagset) for package: perl-HTML-Parser ---> Package perl-IO-Socket-SSL.noarch 0:1.01-1.fc6 set to be updated --> Processing Dependency: perl(Net::SSLeay) >= 1.21 for package: perl-IO-Socket-SSL ---> Package perl-Compress-Zlib.i386 0:1.42-1.fc6 set to be updated ---> Package perl-Digest-SHA1.i386 0:2.11-1.2.1 set to be updated --> Running transaction check ---> Package perl-Net-SSLeay.i386 0:1.30-4.fc6 set to be updated ---> Package perl-HTML-Tagset.noarch 0:3.10-2.1.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ===================================================================================== ========================================================================= Package Arch Version Repository Size ===================================================================================== ========================================================================= Installing: perl-Convert-ASN1 noarch 0.22-1.el5.rf /tmp/smbldap-tools/perl-Convert-ASN1-0.22-1.el5.rf.noarch.rpm 46 k perl-Crypt-SmbHash noarch 0.12-6.el5 /tmp/smbldap-tools/perl-Crypt-SmbHash-0.12-6.el5.noarch.rpm 15 k perl-Digest-MD4 i386 1.5-4.el5 /tmp/smbldap-tools/perl-Digest-MD4-1.5-4.el5.i386.rpm 31 k perl-Jcode i386 2.06-1.el5.rf /tmp/smbldap-tools/perl-Jcode-2.06-1.el5.rf.i386.rpm 31 k perl-LDAP noarch 1:0.33-3.fc6 /tmp/smbldap-tools/perl-LDAP-0.33-3.fc6.noarch.rpm 316 k perl-Unicode-Map i386 0.112-12.el5

Ing. Ivan Ferreira

102

Integracin de servicios con el Directorio


/tmp/smbldap-tools/perl-Unicode-Map-0.112-12.el5.i386.rpm 457 k perl-Unicode-Map8 i386 0.13-1.el5.rf /tmp/smbldap-tools/perl-Unicode-Map8-0.13-1.el5.rf.i386.rpm 161 k perl-Unicode-MapUTF8 noarch 1.11-7.el5 /tmp/smbldap-tools/perl-Unicode-MapUTF8-1.11-7.el5.noarch.rpm 17 k perl-Unicode-String i386 2.09-6.el5 /tmp/smbldap-tools/perl-Unicode-String-2.09-6.el5.i386.rpm 130 k perl-XML-NamespaceSupport noarch 1.10-1.el5.rf /tmp/smbldap-tools/perl-XML-NamespaceSupport-1.10-1.el5.rf.noarch.rpm 16 k perl-XML-SAX noarch 0.96-1.el5.rf /tmp/smbldap-tools/perl-XML-SAX-0.96-1.el5.rf.noarch.rpm 79 k perl-libwww-perl noarch 5.805-1.1.1 /tmp/smbldap-tools/perl-libwww-perl-5.805-1.1.1.noarch.rpm 376 k samba i386 3.0.33-3.15.el5_4.1 /tmp/smbldap-tools/samba-3.0.33-3.15.el5_4.1.i386.rpm 16 M smbldap-tools noarch 0.9.5-1.el5.rf /tmp/smbldap-tools/smbldap-tools-0.9.5-1.el5.rf.noarch.rpm 350 k Updating: samba-client i386 3.0.33-3.15.el5_4.1 /tmp/smbldap-tools/samba-client-3.0.33-3.15.el5_4.1.i386.rpm 5.7 M samba-common i386 3.0.33-3.15.el5_4.1 /tmp/smbldap-tools/samba-common-3.0.33-3.15.el5_4.1.i386.rpm 8.7 M Installing for dependencies: perl-Compress-Zlib i386 1.42-1.fc6 c5-media 52 k perl-Digest-SHA1 i386 2.11-1.2.1 c5-media 48 k perl-HTML-Parser i386 3.55-1.fc6 c5-media 92 k perl-HTML-Tagset noarch 3.10-2.1.1 c5-media 15 k perl-IO-Socket-SSL noarch 1.01-1.fc6 c5-media 49 k perl-Net-SSLeay i386 1.30-4.fc6 c5-media 195 k perl-URI noarch 1.35-3 c5-media 116 k Transaction Summary ===================================================================================== ========================================================================= Install 21 Package(s) Update 2 Package(s) Remove 0 Package(s) Total download size: 33 M Is this ok [y/N]: y Downloading Packages: ------------------------------------------------------------------------------------------------------------------------------------------------------------Total 12 MB/s | 567 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Updating : samba-common [ 1/25] Installing : perl-Unicode-String [ 2/25] Installing : perl-Net-SSLeay [ 3/25] Installing : perl-Digest-MD4 [ 4/25] Installing : perl-Digest-SHA1 [ 5/25] Installing : perl-Compress-Zlib [ 6/25]

103

Red Hat Certified Engineer

Integracin de servicios con el Directorio


Installing Installing Installing Installing Installing Installing Installing Installing Installing Installing Installing Updating Installing Installing Installing Installing Installing Cleanup Cleanup : : : : : : : : : : : : : : : : : : : perl-Convert-ASN1 perl-Crypt-SmbHash perl-IO-Socket-SSL perl-Unicode-Map8 perl-Jcode perl-HTML-Tagset perl-XML-NamespaceSupport perl-XML-SAX perl-URI perl-HTML-Parser samba samba-client perl-libwww-perl perl-LDAP perl-Unicode-Map perl-Unicode-MapUTF8 smbldap-tools samba-client samba-common [ 7/25] [ 8/25] [ 9/25] [10/25] [11/25] [12/25] [13/25] [14/25] [15/25] [16/25] [17/25] [18/25] [19/25] [20/25] [21/25] [22/25] [23/25] [24/25] [25/25]

Installed: perl-Convert-ASN1.noarch 0:0.22-1.el5.rf perl-Crypt-SmbHash.noarch 0:0.126.el5 perl-Digest-MD4.i386 0:1.5-4.el5 perl-Jcode.i386 0:2.06-1.el5.rf perlLDAP.noarch 1:0.33-3.fc6 perl-Unicode-Map.i386 0:0.112-12.el5 perl-Unicode-Map8.i386 0:0.13-1.el5.rf perl-Unicode-MapUTF8.noarch 0:1.11-7.el5 perl-Unicode-String.i386 0:2.09-6.el5 perl-XML-NamespaceSupport.noarch 0:1.10-1.el5.rf perl-XML-SAX.noarch 0:0.96-1.el5.rf perl-libwww-perl.noarch 0:5.805-1.1.1 samba.i386 0:3.0.333.15.el5_4.1 smbldap-tools.noarch 0:0.9.5-1.el5.rf Dependency Installed: perl-Compress-Zlib.i386 0:1.42-1.fc6 perl-Digest-SHA1.i386 0:2.11-1.2.1 perl-HTML-Parser.i386 0:3.55-1.fc6 perl-HTML-Tagset.noarch 0:3.10-2.1.1 perl-IO-Socket-SSL.noarch 0:1.01-1.fc6 perl-Net-SSLeay.i386 0:1.30-4.fc6 perlURI.noarch 0:1.35-3 Updated: samba-client.i386 0:3.0.33-3.15.el5_4.1 samba-common.i386 0:3.0.333.15.el5_4.1 Complete!

4. Instale el paquete openlda-servers para obtener el comando slappasswd:


# yum install openldap-servers Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c5-media: Setting up Install Process Parsing package install arguments Resolving Dependencies There are unfinished transactions remaining. You mightconsider running yum-completetransaction first to finish them. --> Running transaction check ---> Package openldap-servers.i386 0:2.3.43-3.el5 set to be updated file:///media/CentOS/repodata/filelists.xml.gz: [Errno 5] OSError: [Errno 2] No such file or directory: '/media/CentOS/repodata/filelists.xml.gz' Trying other mirror. file:///media/cdrecorder/repodata/filelists.xml.gz: [Errno 5] OSError: [Errno 2] No such file or directory: '/media/cdrecorder/repodata/filelists.xml.gz' Trying other mirror. filelists.xml.gz | 2.8 MB 00:00 --> Processing Dependency: libltdl.so.3 for package: openldap-servers --> Running transaction check ---> Package libtool-ltdl.i386 0:1.5.22-6.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================

Ing. Ivan Ferreira

104

Integracin de servicios con el Directorio


Package Arch Version Repository Size ================================================================================ Installing: openldap-servers i386 2.3.43-3.el5 c5-media 3.1 M Installing for dependencies: libtool-ltdl i386 1.5.22-6.1 c5-media 37 k Transaction Summary ================================================================================ Install 2 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 3.1 M Is this ok [y/N]: y Downloading Packages: -------------------------------------------------------------------------------Total 1.3 GB/s | 3.1 MB 00:00 warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897 Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <centos-5key@centos.org>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 Is this ok [y/N]: y Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : libtool-ltdl [1/2] Installing : openldap-servers [2/2] Installed: openldap-servers.i386 0:2.3.43-3.el5 Dependency Installed: libtool-ltdl.i386 0:1.5.22-6.1 Complete!

Configuracin del Directorio y SAMBA para el controlador de dominio


1. Extienda el esquema del directorio para la creacin de los objetos SAMBA y reinicie el servicio de directorio:
# cp /usr/share/doc/samba*/LDAP/samba-schema-netscapeds5.x \ /etc/dirsrv/slapd-ds1/schema/63samba.ldif # service dirsrv restart Shutting down dirsrv: ds1... Starting dirsrv: ds1...

[ [

OK OK

] ]

2. Realice una copia de seguridad del archivo de configuracin de SAMBA:


# cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

3. Edite el archivo /etc/samba/smb.conf y realice las siguientes modificaciones:

Busque el parmetro workgroup y modifiquelo como sigue:


workgroup = Linux-<X>

105

Red Hat Certified Engineer

Integracin de servicios con el Directorio

Busque el parmetro security y asegrese que esta configurado a user:


security = user

Busque el parmetro passdb backend y modifiquelo como sigue:


ldapsam:ldaps://ds1.linux.com.py

Abajo del parmetro passdb backend agregue los siguientes parmetros de configuracin:
ldap ssl = on ldap admin dn = cn=Directory Manager ldap suffix = dc=linux,dc=com,dc=py ldap user suffix = ou=People ldap machine suffix = ou=Computers ldap group suffix = ou=Groups ldapsam:trusted = yes unix password sync = yes passwd program = /usr/bin/passwd %u pam password change = yes

Busque el parametro domain master, descomentelo y configurelo a yes:


domain master = yes

Busque el parametro domain logons, descomentelo y configurelo a yes:


domain logons = yes

Abajo del parmetro domain logons agregue los siguientes parmetros de configuracin:
logon home = logon drive = H:

Busque el parametro logon path y descomente aquel que esta configurado a una ruta vaca:
logon path =

Busque el parametro add machine script y modifiquelo como sigue:


add machine script = /usr/sbin/smbldap-useradd -w "Domain Computers" -C "Cuenta de equipo" -s /bin/false %u -d /dev/null -g

Busque el parametro local master, descomentelo y configurelo a yes:


local master = yes

Busque el parametro os level, descomentelo y configurelo a 33:


106

Ing. Ivan Ferreira

Integracin de servicios con el Directorio


os level = 33

Busque el parametro preferred master, descomentelo y configurelo a yes:


preferred master = yes

Busque el parametro wins support y configurelo a yes:


wins support = yes

Busque el recurso compartido [netlogon] y descomentelo:


[netlogon] comment = Network Logon Service path = /var/lib/samba/netlogon guest ok = yes writable = no share modes = no

Busque el recurso compartido [profiles] y descomentelo:


[Profiles] path = /var/lib/samba/profiles browseable = no guest ok = yes

Guarde el archivo de configuracin

4. Ejecute el comando testparm para asegurarse que no existen errores de sintaxis en el archivo de configuracin:
# testparm Load smb config files from /etc/samba/smb.conf Processing section "[homes]" Processing section "[printers]" Processing section "[netlogon]" Processing section "[Profiles]" Loaded services file OK. Server role: ROLE_DOMAIN_PDC Press enter to see a dump of your service definitions

5. Cree los directorios necesarios y establezca los permisos apropiados:


# # # # # mkdir mkdir chown chmod chmod /var/lib/samba /var/lib/samba/{netlogon,profiles} root:root -R /var/lib/samba 0755 /var/lib/samba/netlogon 1755 /var/lib/samba/profiles

6. Establezca la contrasea para el DN indicado en ldap admin dn:


# smbpasswd -w a12345678

107

Red Hat Certified Engineer

Integracin de servicios con el Directorio


Setting stored password for "cn=Directory Manager" in secrets.tdb

7. Ejecute el comando net getlocalsid:


# net getlocalsid [2010/04/05 17:13:46, 0] lib/smbldap_util.c:smbldap_search_domain_info(293) smbldap_search_domain_info: Adding domain account policies for LINUX-<X> failed with NT_STATUS_UNSUCCESSFUL SID for domain DS1 is: S-1-5-21-1524996228-2808715951-2724009969

8. Verifique que el dominio ha sido creado en el servidor de directorio con el comando ldapsearch:
# ldapsearch -x -D "cn=Directory Manager" -H ldap://ds1.linux.com.py -W \ -b "dc=linux,dc=com,dc=py" objectclass=sambaDomain Enter LDAP Password: # extended LDIF # # LDAPv3 # base <dc=linux,dc=com,dc=py> with scope subtree # filter: objectclass=sambaDomain # requesting: ALL # # LINUX-<X>, linux.com.py dn: sambaDomainName=LINUX-<X>,dc=linux,dc=com,dc=py sambaDomainName: LINUX-80 sambaSID: S-1-5-21-1524996228-2808715951-2724009969 sambaAlgorithmicRidBase: 1000 objectClass: sambaDomain sambaNextUserRid: 1000 # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1

9. Obtenga el archivo LDIF samba.ldif para la configuracin de SAMBA y ubiquelo en el directorio /tmp 10. Agregue las entradas utilizando el comando ldapmodify:
# ldapmodify -a -x -D "cn=Directory Manager" -H ldap://ds1.linux.com.py -W \ -f /tmp/samba.ldif Enter LDAP Password: adding new entry "ou=Computers,dc=linux,dc=com,dc=py" adding new entry "ou=Idmap,dc=linux,dc=com,dc=py" adding new entry "cn=Domain Admins,ou=Groups,dc=linux,dc=com,dc=py" adding new entry "cn=Domain Users,ou=Groups,dc=linux,dc=com,dc=py" adding new entry "cn=Domain Guests,ou=Groups,dc=linux,dc=com,dc=py" adding new entry "cn=Domain Computers,ou=Groups,dc=linux,dc=com,dc=py" adding new entry "cn=NextFreeUnixId,dc=linux,dc=com,dc=py"

Ing. Ivan Ferreira

108

Integracin de servicios con el Directorio

Configuracin de smbldap-tools
1. Edite el archivo de configuracin /etc/smbldap-tools/smbldap.conf y configure los siguientes parmetros:
SID="S-1-5-21-1524996228-2808715951-2724009969" sambaDomain="LINUX-80" slaveLDAP="ds1.linux.com.py" slavePort="389" masterLDAP="ds1.linux.com.py" masterPort="389" ldapTLS="0" verify="optional" suffix="dc=linux,dc=com,dc=py" usersdn="ou=People,${suffix}" computersdn="ou=Computers,${suffix}" groupsdn="ou=Groups,${suffix}" idmapdn="ou=Idmap,${suffix}" sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}" userSmbHome= userProfile=

2. Edite el archivo de configuracin /etc/smbldap-tools/smbldap_bind.conf y configure los siguientes parmetros:


slaveDN="cn=Directory Manager" slavePw="12345678" masterDN="cn=Directory Manager" masterPw="12345678"

3. Agregue el grupo nobody requerido por SAMBA en el servidor LDAP:


# groupdel nobody # smbldap-groupadd -g 99 -o nobody # net groupmap add rid=516 ntgroup='nobody' unixgroup='nobody' Successfully added group nobody to the mapping db as a domain group

4. Agregue el usuario nobody requerido por SAMBA en el servidor LDAP:


# userdel nobody # smbldap-useradd -a -g 99 -u 99 -s /bin/false -d /dev/null nobody

5. Verifique la configuracin con los siguientes comandos:


# smbldap-userlist uid |username 99 |nobody |

# smbldap-usershow nobody dn: uid=nobody,ou=People,dc=linux,dc=com,dc=py objectClass: top,person,organizationalPerson,inetOrgPerson,posixAccount,shadowAccount,sambaSAMAcco unt cn: nobody sn: nobody givenName: nobody

109

Red Hat Certified Engineer

Integracin de servicios con el Directorio


uid: nobody uidNumber: 99 gidNumber: 99 homeDirectory: /dev/null loginShell: /bin/false gecos: System User userPassword: {crypt}x sambaPwdLastSet: 0 sambaLogonTime: 0 sambaLogoffTime: 2147483647 sambaKickoffTime: 2147483647 sambaPwdCanChange: 0 sambaPwdMustChange: 2147483647 displayName: nobody sambaAcctFlags: [UX] sambaSID: S-1-5-21-1524996228-2808715951-2724009969-1198 sambaLMPassword: XXX sambaPrimaryGroupSID: S-1-5-21-1524996228-2808715951-2724009969-516 sambaNTPassword: XXX sambaLogonScript: logon.bat sambaHomeDrive: H:

Inicio del controlador de dominio SAMBA


1. Mapee los grupos Posix del directorio con los grupos SAMBA:
# net groupmap add rid=512 ntgroup='Domain Admins' unixgroup='Domain Admins' Successfully added group Domain Admins to the mapping db as a domain group # net groupmap add rid=514 ntgroup='Domain Guests' unixgroup='Domain Guests' Successfully added group Domain Guests to the mapping db as a domain group # net groupmap add rid=515 ntgroup='Domain Computers' unixgroup='Domain Computers' Successfully added group Domain Computers to the mapping db as a domain group # net groupmap add rid=513 ntgroup='Domain Users' unixgroup='Domain Users' Successfully added group Domain Users to the mapping db as a domain group

2. Verifique la configuracin con el comando net groupmap list:


# net groupmap list Domain Admins (S-1-5-21-1524996228-2808715951-2724009969-512) -> Domain Admins Domain Users (S-1-5-21-1524996228-2808715951-2724009969-513) -> Domain Users Domain Guests (S-1-5-21-1524996228-2808715951-2724009969-514) -> Domain Guests Domain Computers (S-1-5-21-1524996228-2808715951-2724009969-515) -> Domain Computers nobody (S-1-5-21-1524996228-2808715951-2724009969-516) -> nobody

3. Cree la cuenta para la administracin del dominio:


# /usr/sbin/smbldap-useradd -a -g "Domain Admins" administrator # /usr/sbin/smbldap-passwd administrator Changing UNIX and samba passwords for administrator New password: Retype new password:

4. Inicie el servicio de SAMBA:


# service smb start

Ing. Ivan Ferreira

110

Integracin de servicios con el Directorio


Starting SMB services: Starting NMB services: [ [ OK OK ] ]

5. Liste los privilegios disponibles en SAMBA:


# net rpc rights list -U administrator Password: SeMachineAccountPrivilege Add machines to domain SeTakeOwnershipPrivilege Take ownership of files or other objects SeBackupPrivilege Back up files and directories SeRestorePrivilege Restore files and directories SeRemoteShutdownPrivilege Force shutdown from a remote system SePrintOperatorPrivilege Manage printers SeAddUsersPrivilege Add users and groups to the domain SeDiskOperatorPrivilege Manage disk shares

6. Otorgue todos los privilegios de dominio para el grupo Domain Admins:


# net rpc rights grant "LINUX-80\Domain Admins" \ SeMachineAccountPrivilege \ SeTakeOwnershipPrivilege \ SeBackupPrivilege \ SeRestorePrivilege \ SeRemoteShutdownPrivilege \ SePrintOperatorPrivilege \ SeAddUsersPrivilege \ SeDiskOperatorPrivilege \ -U Administrator Password: Successfully granted rights.

7. Verifique la configuracion con el siguiente comando:


# net rpc rights list accounts -U administrator Password: BUILTIN\Print Operators No privileges assigned BUILTIN\Account Operators No privileges assigned BUILTIN\Backup Operators No privileges assigned LINUX-80\Domain Admins SeMachineAccountPrivilege SeTakeOwnershipPrivilege SeBackupPrivilege SeRestorePrivilege SeRemoteShutdownPrivilege SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege BUILTIN\Server Operators No privileges assigned BUILTIN\Administrators SeMachineAccountPrivilege SeTakeOwnershipPrivilege SeBackupPrivilege

111

Red Hat Certified Engineer

Integracin de servicios con el Directorio


SeRestorePrivilege SeRemoteShutdownPrivilege SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege Everyone No privileges assigned

Unin de los clientes Windows al Dominio


1. En una mquina virtual Windows, asegrese que tiene configurado como servidor WINS al servidor SAMBA ds1 en las propiedades de TCP/IP

2. Haga clic derecho sobre el icono de Mi PC y seleccione Propiedades 3. Seleccione la pestaa Nombre de equipo

Ing. Ivan Ferreira

112

Integracin de servicios con el Directorio

4. Ingrese el nombre de usuario y contrasea del Administrador del dominio LINUX-<X>:

5. El equipo mostrara una pantalla indicando que se ha unido al dominio SAMBA:

113

Red Hat Certified Engineer

Integracin de servicios con el Directorio

Configuracin de las cuentas de usuario para el dominio SAMBA


1. Utilizando la herramienta LdapAdmin, haga doble clic sobre la cuenta del usuario jperez. 2. En la pestaa Account, marque la casilla de verificacin Samba Account:

3. En la pestaa SAMBA, seleccione para Domain el dominio Linux-<X> de la lista desplegable:

Ing. Ivan Ferreira

114

Integracin de servicios con el Directorio

4. En la pestaa Membership, establezca como grupo primario para el usuario el grupo Domain Users y como grupo adicional el grupo jperez:

115

Red Hat Certified Engineer

Integracin de servicios con el Directorio

5. Establezca una contrasea para el usuario jperez y seleccione la casilla de verificacin Set Samba Password:

6. Inicie sesin con la cuenta de usuario jperez en el cliente Windows seleccionando el dominio Linux-<X> en la ventana de inicio de sesin

Ing. Ivan Ferreira

116

You might also like