LE304 Guia de Lab Oratorios v1-2

114
Linux Enterprise – Servicios de directorio (LDAP) Guía de laboratorios

Transcript of LE304 Guia de Lab Oratorios v1-2

Page 1: LE304 Guia de Lab Oratorios v1-2

Linux Enterprise – Servicios de directorio (LDAP)

Guía de laboratorios

Page 2: LE304 Guia de Lab Oratorios v1-2

Índice de contenido

Introducción a los servicios de directorio.............................................................................4Introducción a los servicios de directorio...............................................................................5

Instalación de Directory Server...............................................................................................6Instalación de Directory Server..............................................................................................7

Administración de Directory Server......................................................................................27Administración de Directory Server......................................................................................28

Búsqueda de entradas desde la línea de comandos......................................................28Agregando entradas con ldapmodify usando un archivo LDIF........................................30Modificando entradas con el comando ldapmodify.........................................................31Borrando entradas usando el comando ldapdelete.........................................................31

Manteniendo la base de datos del directorio.......................................................................33Exportando la base de datos del directorio..........................................................................34Importando la base de datos del directorio usando ldif2db.................................................34Importando la base de datos del directorio usando la Consola...........................................36Respaldando la base de datos de Directory Server.............................................................37Restaurando la base de datos de Directory Server.............................................................37

Control de acceso al directorio.............................................................................................41Administrando ACIs desde la Consola.................................................................................42Verificación del acceso sobre la OU People........................................................................45

Configuración de la ACI para la ou=Groups....................................................................46Configuración de los clientes LDAP.....................................................................................48

Configurando la autenticación por LDAP.............................................................................49Creación de directorios HOME.............................................................................................51Configuración de la cuenta root...........................................................................................52

Seguridad del Directorio........................................................................................................57Comunicación encriptada con SSL/TLS..............................................................................58

Obtención y configuración de de Certificados Digitales para Directory Server...............58Configuración de TLS/SSL en Directory Server y la Consola..........................................59Configuración del archivo de contraseña para Directory Server.....................................60Obtención y configuración de de Certificados Digitales para Administration Server......60Configuración de TLS/SSL en Administration Server......................................................60Configuración del archivo de contraseña para Directory Server.....................................61Verificación de la configuración........................................................................................62

Permitiendo conexiones no autenticadas............................................................................63Configurando políticas de contraseñas global utilizando la Consola...................................64

Configuración del cliente LDAP.......................................................................................67Verificación de políticas de contrseña..............................................................................67Verificación de políticas de cuenta...................................................................................68

Page 3: LE304 Guia de Lab Oratorios v1-2

Deshabilitando las politicas de cuenta y contraseña ..........................................................70Herramientas de administración del Directorio..................................................................71

PhpLDAPadmin....................................................................................................................72LdapAdmin............................................................................................................................76

Integración de servicios con el Directorio...........................................................................82Servidor Web Apache...........................................................................................................83Servidor Proxy Squid............................................................................................................86Integración de SUDO con LDAP..........................................................................................89Servidor Postfix.....................................................................................................................91Controlador de dominio SAMBA..........................................................................................98

Instalación de paquetes requeridos para el controlador de dominio...............................98Configuración del Directorio y SAMBA para el controlador de dominio........................103Configuración de smbldap-tools.....................................................................................107Inicio del controlador de dominio SAMBA......................................................................108Unión de los clientes Windows al Dominio....................................................................110Configuración de las cuentas de usuario para el dominio SAMBA...............................112

Page 4: LE304 Guia de Lab Oratorios v1-2

1Introducción a los servicios de directorio

Page 5: LE304 Guia de Lab Oratorios v1-2

Introducción a los servicios de directorio

Introducción a los servicios de directorio

1. Que información puede almacenar un servidor de directorio?

2. Cómo estan organizadas las entradas en un servicio de directorio?

3. Cual es punto inicial de la estructura del directorio?

4. Cómo se representan las entidades en un servidor de directorio?

5. Qué es un DN y un RDN, cuál es la diferencia? Proporcione un ejemplo.

6. Durante la configuración de Directory Server se crean dos bases de datos para almacenar la información, ¿cuáles son esas bases de datos?

7. Que se entiende por “esquema del directorio”?

5 Red Hat Certified Engineer

Page 6: LE304 Guia de Lab Oratorios v1-2

2Instalación de Directory Server

Page 7: LE304 Guia de Lab Oratorios v1-2

Instalación de Directory Server

Instalación de Directory Server

En todos los laboratorios, reemplace <X> con el número de máquina asignado:

1. Instale CentOS Linux en un equipo o máquina virtual.

2. Configure los archivos de red correctamente de la siguiente forma:

/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=noneONBOOT=yesIPADDR=192.168.<X>.1NETMASK=255.255.255.0

/etc/sysconfig/networkNETWORKING=yesNETWORKING_IPV6=noHOSTNAME=ds1.linux.com.py

/etc/hosts127.0.0.1 localhost.localdomain localhost192.168.<X>.1 ds1.linux.com.py ds1

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

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

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

* - nofile 8192

5. Asegúrese que en el archivo /etc/pam.d/system-auth existe el módulo pam_limits.so en el grupo de gestión session:

session required pam_limits.so

6. Reinicie el equipo:

# shutdown -r now

7. Obtenga los paquetes de instalación de directory server. El instructor indicará la ubicación de los archivos. Ubique el archivo dirserv.tar en el directorio /tmp y ejecute los siguientes comandos:

# cd /# tar xpvf /tmp/dirserv.tar

7 Red Hat Certified Engineer

Page 8: LE304 Guia de Lab Oratorios v1-2

Instalación de Directory Server

8. Instale OpenJDK con el siguiente comando:

# yum localinstall /opt/dirserv/java-1.6.0-openjdk-*.rpmLoaded plugins: fastestmirrorSetting up Local Package ProcessExamining /opt/dirserv/java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5.i386.rpm: 1:java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5.i386Marking /opt/dirserv/java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5.i386.rpm to be installedLoading 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.0-openjdk--> 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 MInstalling for dependencies: giflib i386 4.1.3-7.1.el5.1 c5-media 39 k jpackage-utils noarch 1.7.3-1jpp.2.el5 c5-media 61 k

Transaction Summary==============================================================================================================================================================Install 3 Package(s)Update 0 Package(s)Remove 0 Package(s)

Total download size: 28 MIs this ok [y/N]: yDownloading Packages:--------------------------------------------------------------------------------------------------------------------------------------------------------------Total 1.7 MB/s | 100 kB 00:00advertencia:rpmts_HdrFromFdno: CabeceraV3 DSA signature: NOKEY, key ID e8562897Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <[email protected]>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5Is this ok [y/N]: yRunning rpm_check_debugRunning Transaction TestFinished Transaction TestTransaction Test SucceededRunning Transaction Installing : giflib [1/3] Installing : jpackage-utils [2/3]

Ing. Ivan Ferreira 8

Page 9: LE304 Guia de Lab Oratorios v1-2

Instalación de Directory Server

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

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

9. Instale Directory Server con el siguiente comando:

# yum localinstall /opt/dirserv/*rpm --nogpgcheckLoaded plugins: fastestmirrorSetting up Local Package ProcessExamining /opt/dirserv/389-admin-1.1.8-4.el5.i386.rpm: 389-admin-1.1.8-4.el5.i386Marking /opt/dirserv/389-admin-1.1.8-4.el5.i386.rpm to be installedLoading mirror speeds from cached hostfile * c5-media:Examining /opt/dirserv/389-admin-console-1.1.4-1.el5.noarch.rpm: 389-admin-console-1.1.4-1.el5.noarchMarking /opt/dirserv/389-admin-console-1.1.4-1.el5.noarch.rpm to be installedExamining /opt/dirserv/389-admin-console-doc-1.1.4-1.el5.noarch.rpm: 389-admin-console-doc-1.1.4-1.el5.noarchMarking /opt/dirserv/389-admin-console-doc-1.1.4-1.el5.noarch.rpm to be installedExamining /opt/dirserv/389-console-1.1.3-3.el5.noarch.rpm: 389-console-1.1.3-3.el5.noarchMarking /opt/dirserv/389-console-1.1.3-3.el5.noarch.rpm to be installedExamining /opt/dirserv/389-ds-1.1.3-4.el5.noarch.rpm: 389-ds-1.1.3-4.el5.noarchMarking /opt/dirserv/389-ds-1.1.3-4.el5.noarch.rpm to be installedExamining /opt/dirserv/389-ds-base-1.2.2-1.el5.i386.rpm: 389-ds-base-1.2.2-1.el5.i386Marking /opt/dirserv/389-ds-base-1.2.2-1.el5.i386.rpm to be installedExamining /opt/dirserv/389-ds-console-1.2.0-4.el5.noarch.rpm: 389-ds-console-1.2.0-4.el5.noarchMarking /opt/dirserv/389-ds-console-1.2.0-4.el5.noarch.rpm to be installedExamining /opt/dirserv/389-ds-console-doc-1.2.0-4.el5.noarch.rpm: 389-ds-console-doc-1.2.0-4.el5.noarchMarking /opt/dirserv/389-ds-console-doc-1.2.0-4.el5.noarch.rpm to be installedExamining /opt/dirserv/389-dsgw-1.1.4-1.el5.i386.rpm: 389-dsgw-1.1.4-1.el5.i386Marking /opt/dirserv/389-dsgw-1.1.4-1.el5.i386.rpm to be installedExamining /opt/dirserv/adminutil-1.1.8-2.el5.centos.0.i386.rpm: adminutil-1.1.8-2.el5.centos.0.i386Marking /opt/dirserv/adminutil-1.1.8-2.el5.centos.0.i386.rpm to be installedExamining /opt/dirserv/antlr-2.7.6-4jpp.2.i386.rpm: antlr-2.7.6-4jpp.2.i386Marking /opt/dirserv/antlr-2.7.6-4jpp.2.i386.rpm to be installedExamining /opt/dirserv/cyrus-sasl-2.1.22-5.el5.i386.rpm: cyrus-sasl-2.1.22-5.el5.i386Marking /opt/dirserv/cyrus-sasl-2.1.22-5.el5.i386.rpm as an update to cyrus-sasl-2.1.22-4.i386Examining /opt/dirserv/cyrus-sasl-gssapi-2.1.22-5.el5.i386.rpm: cyrus-sasl-gssapi-2.1.22-5.el5.i386Marking /opt/dirserv/cyrus-sasl-gssapi-2.1.22-5.el5.i386.rpm to be installedExamining /opt/dirserv/cyrus-sasl-lib-2.1.22-5.el5.i386.rpm: cyrus-sasl-lib-2.1.22-5.el5.i386Marking /opt/dirserv/cyrus-sasl-lib-2.1.22-5.el5.i386.rpm as an update to cyrus-sasl-lib-2.1.22-4.i386Examining /opt/dirserv/cyrus-sasl-md5-2.1.22-5.el5.i386.rpm: cyrus-sasl-md5-2.1.22-5.el5.i386Marking /opt/dirserv/cyrus-sasl-md5-2.1.22-5.el5.i386.rpm to be installedExamining /opt/dirserv/cyrus-sasl-plain-2.1.22-5.el5.i386.rpm: cyrus-sasl-plain-2.1.22-5.el5.i386Marking /opt/dirserv/cyrus-sasl-plain-2.1.22-5.el5.i386.rpm as an update to cyrus-sasl-plain-2.1.22-4.i386Examining /opt/dirserv/db4-4.3.29-10.el5.i386.rpm: db4-4.3.29-10.el5.i386Marking /opt/dirserv/db4-4.3.29-10.el5.i386.rpm as an update to db4-4.3.29-9.fc6.i386Examining /opt/dirserv/db4-utils-4.3.29-10.el5.i386.rpm: db4-utils-4.3.29-10.el5.i386Marking /opt/dirserv/db4-utils-4.3.29-10.el5.i386.rpm to be installed

9 Red Hat Certified Engineer

Page 10: LE304 Guia de Lab Oratorios v1-2

Instalación de Directory Server

Examining /opt/dirserv/giflib-4.1.3-7.1.el5_3.1.i386.rpm: giflib-4.1.3-7.1.el5_3.1.i386Marking /opt/dirserv/giflib-4.1.3-7.1.el5_3.1.i386.rpm as an update to giflib-4.1.3-7.1.el5.1.i386Examining /opt/dirserv/gjdoc-0.7.7-12.el5.i386.rpm: gjdoc-0.7.7-12.el5.i386Marking /opt/dirserv/gjdoc-0.7.7-12.el5.i386.rpm to be installedExamining /opt/dirserv/idm-console-framework-1.1.3-9.el5.centos.2.noarch.rpm: idm-console-framework-1.1.3-9.el5.centos.2.noarchMarking /opt/dirserv/idm-console-framework-1.1.3-9.el5.centos.2.noarch.rpm to be installedExamining /opt/dirserv/java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.i386.rpm: java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.i386Marking /opt/dirserv/java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.i386.rpm to be installedExamining /opt/dirserv/java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5.i386.rpm: 1:java-1.6.0-openjdk-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-utils-1.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.i386Marking /opt/dirserv/jss-4.2.5-1.fc6.i386.rpm to be installedExamining /opt/dirserv/ldapjdk-4.18-2jpp.3.el5.i386.rpm: ldapjdk-4.18-2jpp.3.el5.i386Marking /opt/dirserv/ldapjdk-4.18-2jpp.3.el5.i386.rpm to be installedExamining /opt/dirserv/libgcj-4.1.2-46.el5_4.2.i386.rpm: libgcj-4.1.2-46.el5_4.2.i386Marking /opt/dirserv/libgcj-4.1.2-46.el5_4.2.i386.rpm to be installedExamining /opt/dirserv/libicu-3.6-5.11.4.i386.rpm: libicu-3.6-5.11.4.i386Marking /opt/dirserv/libicu-3.6-5.11.4.i386.rpm to be installedExamining /opt/dirserv/lm_sensors-2.10.7-4.el5.i386.rpm: lm_sensors-2.10.7-4.el5.i386Marking /opt/dirserv/lm_sensors-2.10.7-4.el5.i386.rpm to be installedExamining /opt/dirserv/mod_nss-1.0.3-8.el5.i386.rpm: mod_nss-1.0.3-8.el5.i386Marking /opt/dirserv/mod_nss-1.0.3-8.el5.i386.rpm to be installedExamining /opt/dirserv/mozldap-6.0.5-1.el5.i386.rpm: mozldap-6.0.5-1.el5.i386Marking /opt/dirserv/mozldap-6.0.5-1.el5.i386.rpm to be installedExamining /opt/dirserv/mozldap-tools-6.0.5-1.el5.i386.rpm: mozldap-tools-6.0.5-1.el5.i386Marking /opt/dirserv/mozldap-tools-6.0.5-1.el5.i386.rpm to be installedExamining /opt/dirserv/perl-Mozilla-LDAP-1.5.2-4.el5.i386.rpm: perl-Mozilla-LDAP-1.5.2-4.el5.i386Marking /opt/dirserv/perl-Mozilla-LDAP-1.5.2-4.el5.i386.rpm to be installedExamining /opt/dirserv/svrcore-4.0.4-3.el5.i386.rpm: svrcore-4.0.4-3.el5.i386Marking /opt/dirserv/svrcore-4.0.4-3.el5.i386.rpm to be installedResolving 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

Page 11: LE304 Guia de Lab Oratorios v1-2

Instalación de Directory Server

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

Page 12: LE304 Guia de Lab Oratorios v1-2

Instalación de Directory Server

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

Transaction Summary================================================================================Install 27 Package(s)Update 5 Package(s)Remove 0 Package(s)

Total download size: 34 MIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestFinished Transaction TestTransaction Test SucceededRunning Transaction Updating : cyrus-sasl-lib [ 1/37] Installing : libicu [ 2/37] Installing : libgcj [ 3/37] Updating : db4 [ 4/37] Installing : svrcore [ 5/37] Installing : mozldap [ 6/37] Installing : perl-Mozilla-LDAP [ 7/37] Installing : adminutil [ 8/37] Installing : mozldap-tools [ 9/37] Installing : db4-utils [10/37] Installing : cyrus-sasl-gssapi [11/37] Installing : cyrus-sasl-md5 [12/37] Updating : cyrus-sasl-plain [13/37] Updating : cyrus-sasl [14/37] Updating : giflib [15/37] Installing : mod_nss [16/37]

mod_nss certificate database generated.

Installing : lm_sensors [17/37] Installing : 389-ds-base [18/37] Installing : 389-admin [19/37] Installing : 389-dsgw [20/37] Installing : 389-ds-console [21/37] Installing : 389-admin-console [22/37] Installing : 389-admin-console-doc [23/37] Installing : 389-ds-console-doc [24/37] Installing : java-1.4.2-gcj-compat [25/37] Installing : gjdoc [26/37] Installing : jss [27/37]

Ing. Ivan Ferreira 12

Page 13: LE304 Guia de Lab Oratorios v1-2

Instalación de Directory Server

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

Installed: 389-admin.i386 0:1.1.8-4.el5 389-admin-console.noarch 0:1.1.4-1.el5 389-admin-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 389-ds-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.22-5.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-gcj-compat.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.7-4.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.el5Updated: cyrus-sasl.i386 0:2.1.22-5.el5 cyrus-sasl-lib.i386 0:2.1.22-5.el5 cyrus-sasl-plain.i386 0:2.1.22-5.el5 db4.i386 0:4.3.29-10.el5 giflib.i386 0:4.1.3-7.1.el5_3.1Complete!

10.Cree un grupo y usuario para la ejecución 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 configuración típica:

# /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 BYAND ARE BECOMING A PARTY TO THE AGREEMENT FOUND IN THELICENSE.TXT FILE. IF YOU DO NOT AGREE TO ALL OF THE TERMSOF 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 tobe addressed before running this software in a productionenvironment.

13 Red Hat Certified Engineer

Page 14: LE304 Guia de Lab Oratorios v1-2

Instalación 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 therecommended 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 computeron 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 privilegeson the computer (i.e. a non-root user). The setup procedurewill give this user/group some permissions in specific paths/filesto 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 operatingsystem utilities.

System User [nobody]: ldapSystem Group [nobody]: ldap==============================================================================Server information is stored in the configuration directory server.This information is used by the console and administration server toconfigure and manage your servers. If you have already set up aconfiguration directory server, you should register any servers youset up or create with the configuration server. To do so, thefollowing information about the configuration server is required: thefully qualified host name of the form<hostname>.<domainname>(e.g. hostname.example.com), the port number

Ing. Ivan Ferreira 14

Page 15: LE304 Guia de Lab Oratorios v1-2

Instalación de Directory Server

(default 389), the suffix, the DN and password of a user havingpermission to write the configuration information, usually theconfiguration directory administrator, and if you are using security(TLS/SSL). If you are using TLS/SSL, specify the TLS/SSL (LDAPS) portnumber (default 636) instead of the regular LDAP port number, andprovide the CA certificate (in PEM/ASCII format).

If you do not yet have a configuration directory server, enter 'No' tobe prompted to set up one.

Do you want to register this software with an existingconfiguration directory server? [no]: ENTER==============================================================================Please enter the administrator ID for the configuration directoryserver. This is the ID typically used to log in to the console. Youwill also be prompted for the password.

Configuration directory serveradministrator ID [admin]: ENTERPassword: ********Password (confirm): ********==============================================================================The information stored in the configuration directory server can beseparated into different Administration Domains. If you are managingmultiple software releases at the same time, or managing informationabout multiple domains, you may use the Administration Domain to keepthem separate.

If you are not using administrative domains, press Enter to select thedefault. Otherwise, enter some descriptive, unique name for theadministration domain, such as the name of the organizationresponsible for managing the domain.

Administration Domain [linux.com.py]: ENTER==============================================================================The standard directory server network port number is 389. However, ifyou are not logged as the superuser, or port 389 is in use, thedefault 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 thesuperuser, 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 variousinstance 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

Page 16: LE304 Guia de Lab Oratorios v1-2

Instalación 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 abind Distinguished Name (DN) of cn=Directory Manager.You will also be prompted for the password for this user. The password mustbe 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]: ENTERPassword: ********Password (confirm): ********==============================================================================The Administration Server is separate from any of your web or applicationservers since it listens to a different port and access to it isrestricted.

Pick a port number between 1024 and 65535 to run your AdministrationServer on. You should NOT use a port number which you plan torun a web or application server on, rather, select a number which youwill 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 yourservers. Enter No or go Back if you want to change something. Are you ready to set up your servers? [yes]: ENTERCreating 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 sesión utilizando como usuario cn=Directory Manager

Ing. Ivan Ferreira 16

Page 17: LE304 Guia de Lab Oratorios v1-2

Instalación 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 botón Open

18.Visualice las opciones que se presentan en la pestaña Tasks

17 Red Hat Certified Engineer

Page 18: LE304 Guia de Lab Oratorios v1-2

Instalación de Directory Server

19.En la pestaña Configuration seleccione el nodo Data, ubique los sufijos raíz dc=linux,dc=com,dc=py y o=NetscapeRoot. Obserque que bases de datos corresponde con cada sufijo.

Ing. Ivan Ferreira 18

Page 19: LE304 Guia de Lab Oratorios v1-2

Instalación de Directory Server

20.En la pestaña Status, visualice los registros de eventos de error y acceso.

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

19 Red Hat Certified Engineer

Page 20: LE304 Guia de Lab Oratorios v1-2

Instalación 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: [email protected]

● Phone: 555-555

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

● UID Number: 500

Ing. Ivan Ferreira 20

Page 21: LE304 Guia de Lab Oratorios v1-2

Instalación 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

Page 22: LE304 Guia de Lab Oratorios v1-2

Instalación de Directory Server

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

26.Haga clic en el botón Advanced..., Haga clic sobre el cuado Object Class y presione el botón Add value. Seleccione Posix Group de la lista desplegada.

Ing. Ivan Ferreira 22

Page 23: LE304 Guia de Lab Oratorios v1-2

Instalación de Directory Server

27.Utilice como gidnumber el valor 500 y haga clic en el botón OK.

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

23 Red Hat Certified Engineer

Page 24: LE304 Guia de Lab Oratorios v1-2

Instalación 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

Page 25: LE304 Guia de Lab Oratorios v1-2

Instalación de Directory Server

30.Marque la clase de objeto posixAccount y presione el botón Delete Value, aún no presione el botón OK. ¿Que atributos han desaparecido del usuario?

31.Presione el botón Cancel,

32.En una terminal, cámbise al directorio /etc/dirsrv/slapd-ds1/schema/# cd /etc/dirsrv/slap-ds1/schema

33.Visualice el archivo 10rfc2307.ldif con el comando more.

34.Según la definición de posixAccount en el esquema del directorio, ¿que atributos serían 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

Page 26: LE304 Guia de Lab Oratorios v1-2

Instalación 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: [email protected]

● 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

Page 27: LE304 Guia de Lab Oratorios v1-2

3Administración de Directory Server

Page 28: LE304 Guia de Lab Oratorios v1-2

Administración de Directory Server

Administración de Directory Server

Búsqueda de entradas desde la línea 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 contraseña

● Inciar al comando que utilice autenticación 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 contraseña

● Inciar al comando que utilice autenticación 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 contraseña

● Inciar al comando que utilice autenticación 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

Ing. Ivan Ferreira 28

Page 29: LE304 Guia de Lab Oratorios v1-2

Administración de Directory Server

● Utilizar como DN cn=Directory Manager y que solicite la contraseña

● Inciar al comando que utilice autenticación simple

● El atributo gidnumber es igual a 500

● 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 contraseña

● Inciar al comando que utilice autenticación simple

● El atributo gidnumber es igual a 500

● 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" '(|(uid=jperez)(cn=jperez))'

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 contraseña

● Inciar al comando que utilice autenticación simple

● La clase de objeto es person

● No tiene dirección de correo electrónico 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

Page 30: LE304 Guia de Lab Oratorios v1-2

Administración 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=pygivenName: Hugosn: GomezloginShell: /bin/bashuidNumber: 502gidNumber: 502objectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: inetorgpersonobjectClass: posixAccountuid: hgomezcn: Hugo GomezhomeDirectory: /home/hgomezuserPassword:: e1NTSEF9RVNCbzNXbWtKOWx3Nnk3N1Y4VjBmL1djVTBKZFRuelRLN1RSZnc9PQ=mail: [email protected]: 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 "cn=Directory Manager" -H ldap://localhost -W \-f /tmp/usuario.ldif

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=pygidNumber: 502objectClass: topobjectClass: groupofuniquenamesobjectClass: posixgroupcn: hgomezuniqueMember: uid=hgomez,ou=People, dc=linux, dc=com, dc=py

6. Utilice el comando ldapmodify para agregar la entrada para el grupo del usuario Hugo Gomez a partir del archivo /tmp/grupo.ldif:

Ing. Ivan Ferreira 30

Page 31: LE304 Guia de Lab Oratorios v1-2

Administración de Directory Server

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

Modificando entradas con el comando ldapmodify

En este laboratorio agregará una dirección 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 dirección de correo adicional en el formato [email protected]:

dn: uid=jperez,ou=People, dc=linux, dc=com, dc=pychangetype: modifyadd: mailmail: [email protected]: uid=plopez,ou=People, dc=linux, dc=com, dc=pychangetype: modifyadd: mailmail: [email protected]

dn: uid=hgomez,ou=People, dc=linux, dc=com, dc=pychangetype: modifyadd: mailmail: [email protected]

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.

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

31 Red Hat Certified Engineer

Page 32: LE304 Guia de Lab Oratorios v1-2

Administración de Directory Server

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

Page 33: LE304 Guia de Lab Oratorios v1-2

4Manteniendo la base de datos del directorio

Page 34: LE304 Guia de Lab Oratorios v1-2

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 línea 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 userRootExported ldif file: /var/lib/dirsrv/slapd-ds1/ldif/ds1-userRoot-2010_02_23_070719.ldifldiffile: /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 netscapeRootExported ldif file: /var/lib/dirsrv/slapd-ds1/ldif/ds1-netscapeRoot-2010_02_23_070755.ldifldiffile: /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

Page 35: LE304 Guia de Lab Oratorios v1-2

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>.ldifimporting 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-private-import-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. Post-processing...[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

Page 36: LE304 Guia de Lab Oratorios v1-2

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 pestaña Tasks, seleccione Import Databases

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

4. Observe los mensajes de error retornados. ¿Cual es el motivo de los errores?

5. Cambiese a la pestaña Directory y verifique que las entradas posixAccount para jperez y plopez fueron importadas.

Ing. Ivan Ferreira 36

Page 37: LE304 Guia de Lab Oratorios v1-2

Manteniendo la base de datos del directorio

6. Al utilizar este método de importación, ¿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. ¿Cuál 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 pérdida 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

Page 38: LE304 Guia de Lab Oratorios v1-2

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: (/var/lib/dirsrv/slapd-ds1/db/log.0000000001)[23/Feb/2010:09:47:08 -0300] - Restoring file 1 (/var/lib/dirsrv/slapd-ds1/db/log.0000000001)[23/Feb/2010:09:47:08 -0300] - Restoring file 2 (/var/lib/dirsrv/slapd-ds1/db/DBVERSION)[23/Feb/2010:09:47:08 -0300] - Restoring file 3 (/var/lib/dirsrv/slapd-ds1/db/NetscapeRoot/numsubordinates.db4)[23/Feb/2010:09:47:08 -0300] - Restoring file 4 (/var/lib/dirsrv/slapd-ds1/db/NetscapeRoot/cn.db4)[23/Feb/2010:09:47:08 -0300] - Restoring file 5 (/var/lib/dirsrv/slapd-ds1/db/NetscapeRoot/parentid.db4)[23/Feb/2010:09:47:08 -0300] - Restoring file 6 (/var/lib/dirsrv/slapd-ds1/db/NetscapeRoot/aci.db4)[23/Feb/2010:09:47:08 -0300] - Restoring file 7 (/var/lib/dirsrv/slapd-ds1/db/NetscapeRoot/entrydn.db4)[23/Feb/2010:09:47:08 -0300] - Restoring file 8 (/var/lib/dirsrv/slapd-ds1/db/NetscapeRoot/DBVERSION)[23/Feb/2010:09:47:08 -0300] - Restoring file 9 (/var/lib/dirsrv/slapd-ds1/db/NetscapeRoot/nsuniqueid.db4)[23/Feb/2010:09:47:08 -0300] - Restoring file 10 (/var/lib/dirsrv/slapd-ds1/db/NetscapeRoot/id2entry.db4)[23/Feb/2010:09:47:08 -0300] - Restoring file 11 (/var/lib/dirsrv/slapd-ds1/db/NetscapeRoot/sn.db4)[23/Feb/2010:09:47:08 -0300] - Restoring file 12 (/var/lib/dirsrv/slapd-ds1/db/NetscapeRoot/uid.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 13 (/var/lib/dirsrv/slapd-

Ing. Ivan Ferreira 38

Page 39: LE304 Guia de Lab Oratorios v1-2

Manteniendo la base de datos del directorio

ds1/db/NetscapeRoot/objectclass.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 14 (/var/lib/dirsrv/slapd-ds1/db/NetscapeRoot/givenName.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 15 (/var/lib/dirsrv/slapd-ds1/db/NetscapeRoot/ancestorid.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 16 (/var/lib/dirsrv/slapd-ds1/db/NetscapeRoot/uniquemember.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 17 (/var/lib/dirsrv/slapd-ds1/db/userRoot/numsubordinates.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 18 (/var/lib/dirsrv/slapd-ds1/db/userRoot/nscpEntryDN.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 19 (/var/lib/dirsrv/slapd-ds1/db/userRoot/cn.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 20 (/var/lib/dirsrv/slapd-ds1/db/userRoot/telephoneNumber.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 21 (/var/lib/dirsrv/slapd-ds1/db/userRoot/entryusn.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 22 (/var/lib/dirsrv/slapd-ds1/db/userRoot/parentid.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 23 (/var/lib/dirsrv/slapd-ds1/db/userRoot/aci.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 24 (/var/lib/dirsrv/slapd-ds1/db/userRoot/entrydn.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 25 (/var/lib/dirsrv/slapd-ds1/db/userRoot/DBVERSION)[23/Feb/2010:09:47:09 -0300] - Restoring file 26 (/var/lib/dirsrv/slapd-ds1/db/userRoot/seeAlso.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 27 (/var/lib/dirsrv/slapd-ds1/db/userRoot/mailAlternateAddress.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 28 (/var/lib/dirsrv/slapd-ds1/db/userRoot/mail.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 29 (/var/lib/dirsrv/slapd-ds1/db/userRoot/nsuniqueid.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 30 (/var/lib/dirsrv/slapd-ds1/db/userRoot/memberOf.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 31 (/var/lib/dirsrv/slapd-ds1/db/userRoot/id2entry.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 32 (/var/lib/dirsrv/slapd-ds1/db/userRoot/sn.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 33 (/var/lib/dirsrv/slapd-ds1/db/userRoot/.default.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 34 (/var/lib/dirsrv/slapd-ds1/db/userRoot/ntUniqueId.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 35 (/var/lib/dirsrv/slapd-ds1/db/userRoot/ntUserDomainId.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 36 (/var/lib/dirsrv/slapd-ds1/db/userRoot/uid.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 37 (/var/lib/dirsrv/slapd-ds1/db/userRoot/member.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 38 (/var/lib/dirsrv/slapd-ds1/db/userRoot/objectclass.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 39 (/var/lib/dirsrv/slapd-ds1/db/userRoot/givenName.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 40 (/var/lib/dirsrv/slapd-ds1/db/userRoot/mailHost.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 41 (/var/lib/dirsrv/slapd-ds1/db/userRoot/ancestorid.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 42 (/var/lib/dirsrv/slapd-ds1/db/userRoot/owner.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 43 (/var/lib/dirsrv/slapd-ds1/db/userRoot/nsds5ReplConflict.db4)[23/Feb/2010:09:47:09 -0300] - Restoring file 44 (/var/lib/dirsrv/slapd-ds1/db/userRoot/uniquemember.db4)

39 Red Hat Certified Engineer

Page 40: LE304 Guia de Lab Oratorios v1-2

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

Page 41: LE304 Guia de Lab Oratorios v1-2

5Control de acceso al directorio

Page 42: LE304 Guia de Lab Oratorios v1-2

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 creación de entradas y modificación de atributos sobre las OU People y Groups.

1. Inicie la consola de Directory Server y autentiquese con cn=Directory Manager

2. Seleccione la pestaña 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

Page 43: LE304 Guia de Lab Oratorios v1-2

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 botón New

8. En el cuadro de texto ACI Name ingrese Acceso para Supervisores

9. En la pestaña Users seleccione All Users y presione el botón Remove. Agregue el grupo supervisores.

43 Red Hat Certified Engineer

Page 44: LE304 Guia de Lab Oratorios v1-2

Control de acceso al directorio

10.En la pestaña Rights seleccione todos los permisos excepto proxy

11. En la pestaña Targets presione el botón This Entry

Ing. Ivan Ferreira 44

Page 45: LE304 Guia de Lab Oratorios v1-2

Control de acceso al directorio

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

13.Haga clic en el botón Check Syntax. La sintaxis de la ACI debe ser correcta.

14.Haga clic en el botón OK.

Verificación 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

Page 46: LE304 Guia de Lab Oratorios v1-2

Control de acceso al directorio

dn: ou=Sistemas, ou=People, dc=linux, dc=com, dc=pyobjectClass: topobjectClass: organizatrionalunitou: Sistemas

2. Con el comando ldapmodify, intente agregar la OU con el usuario plopez y contraseña 12345678. Como este usuario no es miembro del grupo supervisores la operación 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 contraseña 12345678. Como este usuario si es miembro del grupo supervisores la operación 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"

Configuración 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 pestaña 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

Page 47: LE304 Guia de Lab Oratorios v1-2

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

Page 48: LE304 Guia de Lab Oratorios v1-2

7Configuración de los clientes LDAP

Page 49: LE304 Guia de Lab Oratorios v1-2

Configuración de los clientes LDAP

Configurando la autenticación por LDAP

En este laboratorio, configurará el sistema operativo Linux para utilizar las cuentas almacenadas en el servidor LDAP para iniciar sesión en el sistema operativo.

1. Cree una copia de seguridad de los archivos que serán 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 sección Información de usuario, marque la casilla de verificación Utilizar LDAP utilizando la barra espaciadora

4. En la sección Autenticación, marque la casilla de verificación Utilizar Autenticación LDAP utilizando la barra espaciadora

5. En la sección Autenticación, marque la casilla de verificación La autorización local es suficiente para permitir el acceso a los usuarios creados localmente en el sistema utilizando la barra espaciadora

6. Seleccione el botón Siguiente, la ventana Configuración del LDAP aparece

49 Red Hat Certified Engineer

Page 50: LE304 Guia de Lab Oratorios v1-2

Configuración 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 botón 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 | taildbus:x:81:81:System message bus:/:/sbin/nologinhaldaemon:x:68:68:HAL daemon:/:/sbin/nologinavahi:x:70:70:Avahi daemon:/:/sbin/nologinavahi-autoipd:x:100:103:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologinxfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologingdm:x:42:42::/var/gdm:/sbin/nologinsabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologinldap:x:389:389::/home/ldap:/sbin/nologinjperez:$1$.0b89jvA$5p6epX9kArifP5zEo3Y42.:500:500:Juan Perez:/home/jperez:/bin/bashplopez:*: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 | taildbus:x:81:haldaemon:x:68:avahi:x:70:avahi-autoipd:x:103:xfs:x:43:

Ing. Ivan Ferreira 50

Page 51: LE304 Guia de Lab Oratorios v1-2

Configuración de los clientes LDAP

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

12.Inicie sesión utilizando la cuenta jperez y contraseña 12345678. ¿Que mensaje recibe? ¿En que directorio ha iniciado sesión?

Last login: Sat Mar 6 07:51:30 2010 from 10.129.5.220Could 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/

Creación de directorios HOME

En este laboratorio, configurará el sistema operativo Linux para crear automáticamente los directorios HOME para los usuarios LDAP.

1. Cámbiese al directorio /etc/pam.d/# cd /etc/pam.d

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

3. Actualice el enlace simbólico system-auth para apuntar al archivo system-auth-local# ln -sf system-auth-local system-auth# ls -la system-authlrwxrwxrwx 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 gestión 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.soauth sufficient pam_unix.so nullok try_first_passauth requisite pam_succeed_if.so uid >= 500 quietauth sufficient pam_ldap.so use_first_passauth required pam_deny.so

account required pam_unix.so broken_shadow

51 Red Hat Certified Engineer

Page 52: LE304 Guia de Lab Oratorios v1-2

Configuración de los clientes LDAP

account sufficient pam_localuser.soaccount sufficient pam_succeed_if.so uid < 500 quietaccount [default=bad success=ok user_unknown=ignore] pam_ldap.soaccount required pam_permit.so

password requisite pam_cracklib.so try_first_pass retry=3password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtokpassword sufficient pam_ldap.so use_authtokpassword required pam_deny.so

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

5. Inicie sesión utilizando la cuenta jperez y contraseña 12345678. ¿Que mensaje recibe? ¿En que directorio ha iniciado sesión?

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

Configuración 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 pestaña Directory, en el panel de navegación izquierdo haga clic derecho sobre nodo config y seleccione New, User

Ing. Ivan Ferreira 52

Page 53: LE304 Guia de Lab Oratorios v1-2

Configuración 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 contraseña a 12345678.

53 Red Hat Certified Engineer

Page 54: LE304 Guia de Lab Oratorios v1-2

Configuración de los clientes LDAP

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

Ing. Ivan Ferreira 54

Page 55: LE304 Guia de Lab Oratorios v1-2

Configuración 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 línea rootbinddn y configurela como sigue:

rootbinddn uid=root,cn=config

6. Configure la contraseña 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 contraseña del usuario plopez desde el sistema operativo utilizando el comando passwd con el usuario root, estableciendola a 12345678:

# passwd plopezChanging password for user plopez.

55 Red Hat Certified Engineer

Page 56: LE304 Guia de Lab Oratorios v1-2

Configuración de los clientes LDAP

New UNIX password:BAD PASSWORD: it is too simplistic/systematicRetype new UNIX password:LDAP password information changed for plopezpasswd: all authentication tokens updated successfully.

Ing. Ivan Ferreira 56

Page 57: LE304 Guia de Lab Oratorios v1-2

8Seguridad del Directorio

Page 58: LE304 Guia de Lab Oratorios v1-2

Seguridad del Directorio

Comunicación encriptada con SSL/TLS

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

Obtención y configuración 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 precaución:

# tar cvf /tmp/db-backup.tar *

3. Cree un archivo de contraseña para su clave de seguridad:

# ps | sha1sum > pwdfile

4. Cree un archivo que sera utilizado como alimentador de datos aleatorios para la generación 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]? yEnter 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

Page 59: LE304 Guia de Lab Oratorios v1-2

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

Configuración de TLS/SSL en Directory Server y la Consola

1. En la consola de Directory Server, seleccione la pestaña Configuration

2. Seleccione en el panel derecho la pestaña Encryption

3. Marque la casilla de verificación Enable SSL for this server

4. Marque la casilla de verificación Use this Cipher Family

5. Marque la casilla de verificación Use SSL in Console

6. Desmarque la casilla de verificación Check hostname against name in certificate for outbound SSL connections.

7. Haga clic en el botón Save.

59 Red Hat Certified Engineer

Page 60: LE304 Guia de Lab Oratorios v1-2

Seguridad del Directorio

Configuración del archivo de contraseña 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

Obtención y configuración 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

Configuración de TLS/SSL en Administration Server

1. En la consola de Administration Server, seleccione la pestaña Configuration

2. En el panel derecho, seleccione la pestaña Encryption

3. Marque la casilla de verificación Enable SSL for this server

Ing. Ivan Ferreira 60

Page 61: LE304 Guia de Lab Oratorios v1-2

Seguridad del Directorio

4. Marque la casilla de verificación Use this Cipher Family

5. Marque la casilla de verificación Disable client authentication

6. Haga clic en el botón Save.

Configuración del archivo de contraseña 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 parámetro:

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

Page 62: LE304 Guia de Lab Oratorios v1-2

Seguridad del Directorio

Verificación de la configuración

1. Verifique que Directory Server está escuchando conexiones en el puerto 636:

# netstat -an | grep 636.*LISTENtcp 0 0 :::636 :::* LISTEN

2. Asegúrese que en la Consola de Directory Server, la conexión 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 conexión 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 opción -Z indica al comando ldapsearch que realice una conexión utilizando encriptación SSL, la opción -p indica el puerto LDAPs y la opción -P indica la ruta a la base de datos de certificados.

5. Utilice el comando /usr/lib/mozldap/ldapsearch para verificar una conexión al

Ing. Ivan Ferreira 62

Page 63: LE304 Guia de Lab Oratorios v1-2

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 opción -ZZZ indica al comando ldapsearch que realice una conexión utilizando encriptación TLS, la opción -p indica el puerto LDAP y la opción -P indica la ruta a la base de datos de certificados.

Permitiendo conexiones no autenticadas

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

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

2. Intente realizar una búsqueda en el directorio utilizando una conexión no autenticada omitiendo el parámetro -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 parámetro nsslapd-allow-unauthenticated-binds utilizando el comando ldapmodify:

# ldapmodify -x -H ldap://localhost -D "cn=Directory Manager" -WEnter LDAP Password:dn: cn=configchangetype: modifyreplace: nsslapd-allow-unauthenticated-bindsnsslapd-allow-unauthenticated-binds: on

modifying entry "cn=config"

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

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

5. Intente realizar una búsqueda en el directorio utilizando una conexión no autenticada omitiendo el parámetro -W en el comando ldapsearch:

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

63 Red Hat Certified Engineer

Page 64: LE304 Guia de Lab Oratorios v1-2

Seguridad del Directorio

# extended LDIF## LDAPv3# base <dc=linux,dc=com,dc=py> with scope subtree# filter: objectclass=*# requesting: ALL#...# search resultsearch: 2result: 0 Success

# numResponses: 16# numEntries: 15

Configurando políticas de contraseñas global utilizando la Consola

Las politicas de contraseña funcionan unicamente utilizando rootbinddn diferente a cn=Directory Manager.

1. En la Consola de Directory Server, seleccione la pestaña Configuration y luego el nodo Data.

2. En el panel derecho seleccione la pestaña Passwords

3. Marque la casilla de verificación Enable fine-grained password policy

4. Marque la casilla de verificación User must change password after reset

5. Marque la casilla de verificación Password expires after X days y establezca 8 en la cantidad de días

6. Marque la casilla de verificación Send Warning X Days Before Password Expires y establezca 8 en la cantidad de días

Ing. Ivan Ferreira 64

Page 65: LE304 Guia de Lab Oratorios v1-2

Seguridad del Directorio

7. Haga clic en la pestaña Account Lockout

8. Marque la casilla de verificación 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

65 Red Hat Certified Engineer

Page 66: LE304 Guia de Lab Oratorios v1-2

Seguridad del Directorio

12.Haga clic en el boton Save

13.Haga clic en la pestaña Directory

14.Seleccione en el panel de navegación izquierdo la OU=People

15.En el panel de navegación derecho, haga clic sobre el usuario jperez

16.Establezca la contraseña para el usuario a 87654321

Ing. Ivan Ferreira 66

Page 67: LE304 Guia de Lab Oratorios v1-2

Seguridad del Directorio

Configuración del cliente LDAP

1. Edite el archivo /etc/ldap.conf y descomente los siguientes parámetro:

# 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

Verificación de políticas de contrseña

1. Inicie sesión utilizando el usuario jperez y contraseña 87654321 en el sistema operativo. ¿Que mensajes recibe al iniciar sesión?

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.220WARNING: Your password has expired.You must change your password now and login again!Changing password for user jperez.

67 Red Hat Certified Engineer

Page 68: LE304 Guia de Lab Oratorios v1-2

Seguridad del Directorio

Enter login(LDAP) password:

2. Cambie la contraseña y estableza a LE304lab8. Deberá volver a iniciar sesión.

Verificación de políticas 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.pydn: uid=JPerez,ou=People, dc=linux, dc=com, dc=pypasswordRetryCount: 0# search resultsearch: 2result: 0 Success

# numResponses: 2# numEntries: 1

Observación: El comando podría no mostrar ninguno de los atributos solictados indicando que la cuenta no tiene intentos inválidos de inicio de sesión y que la cuenta no se encuentra bloqueada.

2. Introduciendo una contraseña equivocada, intente iniciar sesión 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" -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.pydn: uid=JPerez,ou=People, dc=linux, dc=com, dc=pypasswordRetryCount: 1# search resultsearch: 2result: 0 Success

Ing. Ivan Ferreira 68

Page 69: LE304 Guia de Lab Oratorios v1-2

Seguridad del Directorio

# numResponses: 2# numEntries: 1

4. Introduciendo una contraseña equivocada por segunda vez, intente iniciar sesión 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" -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.pydn: uid=JPerez,ou=People, dc=linux, dc=com, dc=pypasswordRetryCount: 2# search resultsearch: 2result: 0 Success

# numResponses: 2# numEntries: 1

6. Introduciendo una contraseña equivocada por tercera vez, intente iniciar sesión 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" -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.pydn: uid=JPerez,ou=People, dc=linux, dc=com, dc=pyaccountUnlockTime: 19700101000000ZpasswordRetryCount: 3# search resultsearch: 2result: 0 Success

# numResponses: 2# numEntries: 1

69 Red Hat Certified Engineer

Page 70: LE304 Guia de Lab Oratorios v1-2

Seguridad del Directorio

8. Introduciendo la contraseña LE304lab8, intente iniciar sesión 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/bashif [ $# -eq 0 ]then echo "Uso: $0 <usuario> <OU>" exit 1fi

USUARIO=$1if [ -z $2 ]then OU=Peopleelse OU=$2fi

cat > /tmp/unlock.ldif <<EOFdn: uid=$USUARIO,ou=$OU,dc=linux,dc=com,dc=pychangetype: modifydelete: passwordRetryCount-changetype: modifydelete: accountUnlockTime

EOF

ldapmodify -x -H ldap://localhost -D "cn=Directory Manager" -W -f /tmp/unlock.ldif

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 jperezEnter LDAP Password:modifying entry "uid=jperez,ou=People,dc=linux,dc=com,dc=py"

12.Introduciendo la contraseña LE304lab8, intente iniciar sesión con el usuario jperez.

En caso de obtener un comportamiento erroneo, asegúrese de que pam_ldap se encuentra listado antes que pam_unix en el archivo /etc/pam.d/system-auth-local

Deshabilitando las politicas de cuenta y contraseña

1. Utilizando la consola de Directory Server, deshabilite las politicas de cuenta y contrsaeña.

Ing. Ivan Ferreira 70

Page 71: LE304 Guia de Lab Oratorios v1-2

9Herramientas de administración del Directorio

Page 72: LE304 Guia de Lab Oratorios v1-2

Herramientas de administración del Directorio

PhpLDAPadmin

En este laboratorio, configurará phpLDAPadmin para administrar el Directorio utilizando una interfaz Web.

1. Asegúrese de tener instalado los paquetes httpd, php, php-ldap y mod_ssl. Si los paquetes no estan instalados, instálelos utilizando el comando yum install.# yum info httpd php php-ldap mod_sslLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * c5-media:Installed PackagesName : httpdArch : i386Version : 2.2.3Release : 22.el5.centosSize : 3.1 MRepo : installedSummary : Apache HTTP ServerURL : http://httpd.apache.org/License : Apache Software LicenseDescription: The Apache HTTP Server is a powerful, efficient, and extensible web server.

Name : mod_sslArch : i386Epoch : 1Version : 2.2.3Release : 22.el5.centosSize : 173 kRepo : installedSummary : SSL/TLS module for the Apache HTTP serverURL : http://httpd.apache.org/License : Apache Software LicenseDescription: 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 : phpArch : i386Version : 5.1.6Release : 23.el5Size : 2.9 MRepo : installedSummary : The PHP HTML-embedded scripting language. (PHP: Hypertext Preprocessor)URL : http://www.php.net/License : The PHP License v3.01Description: 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 : php-ldapArch : i386Version : 5.1.6Release : 23.el5

Ing. Ivan Ferreira 72

Page 73: LE304 Guia de Lab Oratorios v1-2

Herramientas de administración del Directorio

Size : 43 kRepo : installedSummary : A module for PHP applications that use LDAP.URL : http://www.php.net/License : The PHP License v3.01Description: 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 límite 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 instalación de phpldapadmin y ubiquelo en el directorio /tmp4. Cree un directorio para la instalación de phpldapadmin por debajo del DocumentRoot

de Apache, por defecto /var/www/html# mkdir /var/www/html/phpldapadmin

5. Desempaquete el archivo de instalación de phpldapadmin:

# cd /tmp# tar xpf phpldapadmin-*tgz

6. Mueva los archivos desempaquetados al directorio de instalación:

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

7. Cambiese al directorio de instalación de phpldapadmin:

# cd /var/www/html/phpldapadmin/

8. Copie el archivo de configuración ejemplo y modifiquelo para indicar los valores de conexión al Directory Server. Elimine la doble barra inicial de las líneas 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

73 Red Hat Certified Engineer

Page 74: LE304 Guia de Lab Oratorios v1-2

Herramientas de administración 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 líneas:

# vi templates/creation/posixAccount.xml

<rdn>uid</rdn><attribute id="uid"> <display>User ID</display> <onchange>=autoFill(homeDirectory;/home/%uid%)</onchange>

Ing. Ivan Ferreira 74

Page 75: LE304 Guia de Lab Oratorios v1-2

Herramientas de administración 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, conéctese al URL https://ds1.linux.com.py

11. Haga clic en conectar e inicie sesión con cn=Directory Manager y contraseña 12345678

12.En el panel de navegación izquierdo, despliegue la ou=Groups y seleccione Crear nuevo objeto. En el panel derecho, seleccione Genérico Groupo Posix

13.Ingrese hgomez en el campo Grupo y haga clic en el boton Crear nuevo objeto:

75 Red Hat Certified Engineer

Page 76: LE304 Guia de Lab Oratorios v1-2

Herramientas de administración del Directorio

14.En la ventana de resumen, haga clic en el boton Cometer

15.En el panel de navegación izquierdo, despliegue la ou=People y seleccione Crear nuevo objeto. En el panel derecho, seleccione Genérico Cuenta de Usuario

16.Ingrese en el campo Nombre el valor Hugo, en el campo Apellido el valor Gomez, establezca la contraseña a 12345678, seleccione hgomez de la lista en el campo Número GID, y seleccione /bin/bash de la lista en el campo Consola de Login. Haga clic en el botón 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 76

Page 77: LE304 Guia de Lab Oratorios v1-2

Herramientas de administración 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 botón OK

9. Haga doble clic sobre la conexión creada e ingrese la contraseña para Directory Manager

10.Haga clic en el menú Tools y seleccione Session Preferences...

11. Haga clic en el botón Create default, la ventana Profile Wizard aparece, haga clic en el botón Next para continuar

12.Para el formato de nombre de usuario, seleccione Initial letter of first name, Last name y haga clic en el botón 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

77 Red Hat Certified Engineer

Page 78: LE304 Guia de Lab Oratorios v1-2

Herramientas de administración del Directorio

16.Haga clic en el boton OK

17.En el panel de navegación izquierdo, haga clic derecho sobre la ou=Groups y seleccione New Group

18.En el campo Group Name, ingrese jmendez

Ing. Ivan Ferreira 78

Page 79: LE304 Guia de Lab Oratorios v1-2

Herramientas de administración del Directorio

19.En el panel de navegación 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 verificación Shadow Account

79 Red Hat Certified Engineer

Page 80: LE304 Guia de Lab Oratorios v1-2

Herramientas de administración del Directorio

22.Haga clic en la pestaña Membership y presione el botón Set...

23.Seleccione jmendez de la lista de grupos

24.Haga clic en el botón OK

25.En el panel de navegación derecho, haga clic derecho sobre el usuario jmendez y

Ing. Ivan Ferreira 80

Page 81: LE304 Guia de Lab Oratorios v1-2

Herramientas de administración del Directorio

seleccione Set Password...

26.Ingrese 12345678 como contraseña para el usuario y haga clic en el botón OK

81 Red Hat Certified Engineer

Page 82: LE304 Guia de Lab Oratorios v1-2

10Integración de servicios con el Directorio

Page 83: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

Servidor Web Apache

En este laboratorio, configurará Apache para requerir autenticación 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_ldapLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * c5-media:Setting up Install ProcessParsing package install argumentsResolving 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 kIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestFinished Transaction TestTransaction Test SucceededRunning Transaction Installing : mod_authz_ldap [1/1]

Installed: mod_authz_ldap.i386 0:0.26-8.el5Complete!

2. Cree un directorio donde almacenara archivos para los usuarios del grupo admin:

# mkdir /var/www/admin

3. Cree el archivo de configuración para el directorio virtual admin en Apache con el siguiente contenido:

# vi /etc/httpd/conf.d/admin_authz_ldap.conf

83 Red Hat Certified Engineer

Page 84: LE304 Guia de Lab Oratorios v1-2

Integración 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 reloadCargando 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 84

Page 85: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

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

# id plopezuid=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 autenticación aparece:

9. Intente iniciar sesión con el usuario hgomez, el inicio de sesion debe ser denegado ya que no es miembro del grupo admin.

10.Intente iniciar sesión con el usuario plopez, el inicio de sesión debe ser satisfactorio y debera visualizar el contenido del directorio /var/www/admin.

85 Red Hat Certified Engineer

Page 86: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

Servidor Proxy Squid

En este laboratorio, configurará Squid para requerir autenticación y permitir el acceso a Internet a los miembros un grupo LDAP especifico.

1. Edite el archivo de configuración /etc/squid/squid.conf y busque la siguiente línea:

#auth_param basic program <uncomment and complete this line>

2. Descomente y complete las líneas 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 subauth_param basic children 5auth_param basic realm Squid proxy-caching web serverauth_param basic credentialsttl 2 hoursauth_param basic casesensitive off

3. Para configurar las listas y reglas de control de acceso, busque la línea:

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

4. Agregue las siguientes líneas en esa sección del archivo de configuración 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 localhostexternal_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 subacl grupo_admin external ldap_group_match adminhttp_access allow grupo_adminhttp_access deny all

5. Deshabilite SELinux para el servicio squid

# setsebool -P squid_disable_trans=1

6. Guarde el archivo de configuración 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 86

Page 87: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

# id jperezuid=500(jperez) gid=500(jperez) grupos=500(jperez) context=root:system_r:unconfined_t:SystemLow-SystemHigh# id plopezuid=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 pestaña Red y haga clic en el botón Configuración.

9. Haga clic en Configuración 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 verificación Usar el mismo proxy para todo.Haga clic en el botón Aceptar.

87 Red Hat Certified Engineer

Page 88: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

10.Intente acceder al sitio www.centos.org, se solicitará autenticación 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 88

Page 89: LE304 Guia de Lab Oratorios v1-2

Integración 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.

Integración de SUDO con LDAP

En este laboratorio, configurará SUDO para obtener los datos de delegación 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 aplicación.

3. Inicie la aplicación LdapAdmin y conectese al servidor ds1.

4. Utilice la herramienta LdapAdmin para crear una OU llamada Sudoers por debajo del sufijo raíz. En el panel de navegación izquierdo, haga clic derecho sobre dc=linux,dc=com,dc=py y seleccione New Organizational Unit...

89 Red Hat Certified Engineer

Page 90: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

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 90

Page 91: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

27.Edite el archivo /etc/ldap.conf y agregue la siguiente línea al final del archivo:

sudoers_base ou=sudoers,dc=linux,dc=com,dc=py

28.Inicie sesión con el usuario plopez y verifique que es miembro del grupo admin:

$ iduid=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 configuración:

$ sudo -lUser 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 restartShutting down dirsrv: ds1... [ OK ]Starting dirsrv: ds1... [ 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/# mv /tmp/61postfix.ldif /etc/dirsrv/slapd-ds1/schema/

3. Reinicie el servicio de Directory Server:

# service dirsrv restartShutting down dirsrv: ds1... [ OK ]Starting dirsrv: ds1... [ OK ]

91 Red Hat Certified Engineer

Page 92: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

4. Instale postfix con el comando yum# yum install postfixLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * c5-media:Setting up Install ProcessParsing package install argumentsResolving 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 MIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestFinished Transaction TestTransaction Test SucceededRunning Transaction Installing : postfix [1/1]

Installed: postfix.i386 2:2.3.3-2.1.el5_2Complete!

5. Detenga el servicio sendmail

# service sendmail stop

6. Configure postfix como MTA predeterminado:

# 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

Ing. Ivan Ferreira 92

Page 93: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

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

myhostname = ds1.linux.com.pymydomain = linux.com.pymydestination = $myhostname, localhost.$mydomain, localhost, $mydomaininet_interfaces = all

8. Agregue al final del archivo los siguientes parámetros de configuración para LDAP:

virtual_maps = ldap:/etc/postfix/ldap-mailgroups.cf, ldap:/etc/postfix/ldap-aliases.cflocal_recipient_maps = unix:passwd.byname $alias_maps $virtual_maps

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

bind = noversion = 3timeout = 20

size_limit = 1expansion_limit = 0

start_tls = notls_require_cert = no

server_host = ldap://ds1.linux.com.pysearch_base = dc=linux,dc=com,dc=pyscope = subquery_filter = (&(mail=%s)(objectclass=mailUser))result_attribute = maildrop

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

bind = noversion = 3timeout = 20

size_limit = 1expansion_limit = 0

start_tls = notls_require_cert = no

server_host = ldap://ds1.linux.com.pysearch_base = dc=linux,dc=com,dc=pyscope = sub

query_filter = (&(mail=%s)(objectclass=mailGroup))special_result_attribute = member

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

93 Red Hat Certified Engineer

Page 94: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

14.Marque la casilla de verificación Mail Account

15.Seleccione la pestaña Mail

16.En el cuadro de texto Maildrop ingrese jperez

17.Presione el boton Add e ingrese [email protected]

18.Haga clic en el botón OK

19.Presione el boton Add e ingrese [email protected]

20.Haga clic en el botón OK

Ing. Ivan Ferreira 94

Page 95: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

21.Ejecute el comando postmap para verificar el Maildrop para la dirección de correo [email protected]

# postmap -q [email protected] ldap:/etc/postfix/ldap-aliases.cfjperez

22.Ejecute el comando postmap para verificar el Maildrop para la dirección de correo [email protected]

# postmap -q [email protected] ldap:/etc/postfix/ldap-aliases.cfjperez

23.Agregue las direcciones de correo [email protected] y [email protected] utilizando el mismo procedimiento estableciendo como maildrop plopez.

95 Red Hat Certified Engineer

Page 96: LE304 Guia de Lab Oratorios v1-2

Integración 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 pestaña Members presione el boton Add, seleccione la entrada jperez y haga clic en OK

27.En la pestaña Members presione el boton Add, seleccione la entrada plopez y haga clic en OK

Ing. Ivan Ferreira 96

Page 97: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

28.En la pestaña E-Mail Addresses presione el boton Add e ingrese [email protected]

97 Red Hat Certified Engineer

Page 98: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

29.Ejecute el comando postmap para verificar la expansión del grupo de correo a los miembros del mismo:

# postmap -q [email protected] ldap:/etc/postfix/ldap-mailgroups.cfjperez,plopez

Controlador de dominio SAMBA

En este laboratorio, configurará SAMBA para funcionar como un PDC almacenando la información en Directory Server.

Instalación 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 98

Page 99: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

3. Instale los archivos con el comando yum:

# yum --nogpgcheck localinstall /tmp/smbldap-tools/*rpmLoaded plugins: fastestmirrorSetting up Local Package ProcessExamining /tmp/smbldap-tools/keyutils-libs-1.2-1.el5.i386.rpm: keyutils-libs-1.2-1.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: perl-Convert-ASN1-0.22-1.el5.rf.noarchMarking /tmp/smbldap-tools/perl-Convert-ASN1-0.22-1.el5.rf.noarch.rpm to be installedLoading mirror speeds from cached hostfile * c5-media:Examining /tmp/smbldap-tools/perl-Crypt-SmbHash-0.12-6.el5.noarch.rpm: perl-Crypt-SmbHash-0.12-6.el5.noarchMarking /tmp/smbldap-tools/perl-Crypt-SmbHash-0.12-6.el5.noarch.rpm to be installedExamining /tmp/smbldap-tools/perl-Digest-MD4-1.5-4.el5.i386.rpm: perl-Digest-MD4-1.5-4.el5.i386Marking /tmp/smbldap-tools/perl-Digest-MD4-1.5-4.el5.i386.rpm to be installedExamining /tmp/smbldap-tools/perl-Jcode-2.06-1.el5.rf.i386.rpm: perl-Jcode-2.06-1.el5.rf.i386Marking /tmp/smbldap-tools/perl-Jcode-2.06-1.el5.rf.i386.rpm to be installedExamining /tmp/smbldap-tools/perl-LDAP-0.33-3.fc6.noarch.rpm: 1:perl-LDAP-0.33-3.fc6.noarchMarking /tmp/smbldap-tools/perl-LDAP-0.33-3.fc6.noarch.rpm to be installedExamining /tmp/smbldap-tools/perl-libwww-perl-5.805-1.1.1.noarch.rpm: perl-libwww-perl-5.805-1.1.1.noarchMarking /tmp/smbldap-tools/perl-libwww-perl-5.805-1.1.1.noarch.rpm to be installedExamining /tmp/smbldap-tools/perl-Unicode-Map-0.112-12.el5.i386.rpm: perl-Unicode-Map-0.112-12.el5.i386Marking /tmp/smbldap-tools/perl-Unicode-Map-0.112-12.el5.i386.rpm to be installedExamining /tmp/smbldap-tools/perl-Unicode-Map8-0.13-1.el5.rf.i386.rpm: perl-Unicode-Map8-0.13-1.el5.rf.i386Marking /tmp/smbldap-tools/perl-Unicode-Map8-0.13-1.el5.rf.i386.rpm to be installedExamining /tmp/smbldap-tools/perl-Unicode-MapUTF8-1.11-7.el5.noarch.rpm: perl-Unicode-MapUTF8-1.11-7.el5.noarchMarking /tmp/smbldap-tools/perl-Unicode-MapUTF8-1.11-7.el5.noarch.rpm to be installedExamining /tmp/smbldap-tools/perl-Unicode-String-2.09-6.el5.i386.rpm: perl-Unicode-String-2.09-6.el5.i386Marking /tmp/smbldap-tools/perl-Unicode-String-2.09-6.el5.i386.rpm to be installedExamining /tmp/smbldap-tools/perl-XML-NamespaceSupport-1.10-1.el5.rf.noarch.rpm: perl-XML-NamespaceSupport-1.10-1.el5.rf.noarchMarking /tmp/smbldap-tools/perl-XML-NamespaceSupport-1.10-1.el5.rf.noarch.rpm to be installedExamining /tmp/smbldap-tools/perl-XML-SAX-0.96-1.el5.rf.noarch.rpm: perl-XML-SAX-0.96-1.el5.rf.noarchMarking /tmp/smbldap-tools/perl-XML-SAX-0.96-1.el5.rf.noarch.rpm to be installedExamining /tmp/smbldap-tools/samba-3.0.33-3.15.el5_4.1.i386.rpm: samba-3.0.33-3.15.el5_4.1.i386Marking /tmp/smbldap-tools/samba-3.0.33-3.15.el5_4.1.i386.rpm to be installedExamining /tmp/smbldap-tools/samba-client-3.0.33-3.15.el5_4.1.i386.rpm: samba-client-3.0.33-3.15.el5_4.1.i386Marking /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.i386Examining /tmp/smbldap-tools/samba-common-3.0.33-3.15.el5_4.1.i386.rpm: samba-common-3.0.33-3.15.el5_4.1.i386Marking /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.i386Examining /tmp/smbldap-tools/smbldap-tools-0.9.5-1.el5.rf.noarch.rpm: smbldap-tools-0.9.5-1.el5.rf.noarch

99 Red Hat Certified Engineer

Page 100: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

Marking /tmp/smbldap-tools/smbldap-tools-0.9.5-1.el5.rf.noarch.rpm to be installedResolving DependenciesThere are unfinished transactions remaining. You mightconsider running yum-complete-transaction 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 100

Page 101: LE304 Guia de Lab Oratorios v1-2

Integración 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 kUpdating: 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 MInstalling 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 MIs this ok [y/N]: yDownloading Packages:--------------------------------------------------------------------------------------------------------------------------------------------------------------Total 12 MB/s | 567 kB 00:00Running rpm_check_debugRunning Transaction TestFinished Transaction TestTransaction Test SucceededRunning 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]

101 Red Hat Certified Engineer

Page 102: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

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

Installed: perl-Convert-ASN1.noarch 0:0.22-1.el5.rf perl-Crypt-SmbHash.noarch 0:0.12-6.el5 perl-Digest-MD4.i386 0:1.5-4.el5 perl-Jcode.i386 0:2.06-1.el5.rf perl-LDAP.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.33-3.15.el5_4.1 smbldap-tools.noarch 0:0.9.5-1.el5.rfDependency 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 perl-URI.noarch 0:1.35-3Updated: samba-client.i386 0:3.0.33-3.15.el5_4.1 samba-common.i386 0:3.0.33-3.15.el5_4.1Complete!

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

# yum install openldap-serversLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * c5-media:Setting up Install ProcessParsing package install argumentsResolving DependenciesThere are unfinished transactions remaining. You mightconsider running yum-complete-transaction first to finish them.--> Running transaction check---> Package openldap-servers.i386 0:2.3.43-3.el5 set to be updatedfile:///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 102

Page 103: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

Package Arch Version Repository Size================================================================================Installing: openldap-servers i386 2.3.43-3.el5 c5-media 3.1 MInstalling 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 MIs this ok [y/N]: yDownloading Packages:--------------------------------------------------------------------------------Total 1.3 GB/s | 3.1 MB 00:00warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <[email protected]>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5Is this ok [y/N]: yRunning rpm_check_debugRunning Transaction TestFinished Transaction TestTransaction Test SucceededRunning Transaction Installing : libtool-ltdl [1/2] Installing : openldap-servers [2/2]

Installed: openldap-servers.i386 0:2.3.43-3.el5Dependency Installed: libtool-ltdl.i386 0:1.5.22-6.1Complete!

Configuración del Directorio y SAMBA para el controlador de dominio

1. Extienda el esquema del directorio para la creación 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 restartShutting down dirsrv: ds1... [ OK ]Starting dirsrv: ds1... [ OK ]

2. Realice una copia de seguridad del archivo de configuración 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 parámetro workgroup y modifiquelo como sigue:

workgroup = Linux-<X>

103 Red Hat Certified Engineer

Page 104: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

● Busque el parámetro security y asegúrese que esta configurado a user:

security = user

● Busque el parámetro passdb backend y modifiquelo como sigue:

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

● Abajo del parámetro passdb backend agregue los siguientes parámetros de configuración:

ldap ssl = onldap admin dn = cn=Directory Managerldap suffix = dc=linux,dc=com,dc=pyldap user suffix = ou=Peopleldap machine suffix = ou=Computersldap group suffix = ou=Groupsldapsam:trusted = yesunix password sync = yespasswd program = /usr/bin/passwd %upam 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 parámetro domain logons agregue los siguientes parámetros de configuración:

logon home =logon drive = H:

● Busque el parametro logon path y descomente aquel que esta configurado a una ruta vacía:

logon path =

● Busque el parametro add machine script y modifiquelo como sigue:

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

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

local master = yes

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

Ing. Ivan Ferreira 104

Page 105: LE304 Guia de Lab Oratorios v1-2

Integración 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 configuración

4. Ejecute el comando testparm para asegurarse que no existen errores de sintaxis en el archivo de configuración:

# testparmLoad smb config files from /etc/samba/smb.confProcessing section "[homes]"Processing section "[printers]"Processing section "[netlogon]"Processing section "[Profiles]"Loaded services file OK.Server role: ROLE_DOMAIN_PDCPress enter to see a dump of your service definitions

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

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

6. Establezca la contraseña para el DN indicado en ldap admin dn:

# smbpasswd -w a12345678

105 Red Hat Certified Engineer

Page 106: LE304 Guia de Lab Oratorios v1-2

Integración 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_UNSUCCESSFULSID 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=sambaDomainEnter LDAP Password:# extended LDIF## LDAPv3# base <dc=linux,dc=com,dc=py> with scope subtree# filter: objectclass=sambaDomain# requesting: ALL#

# LINUX-<X>, linux.com.pydn: sambaDomainName=LINUX-<X>,dc=linux,dc=com,dc=pysambaDomainName: LINUX-80sambaSID: S-1-5-21-1524996228-2808715951-2724009969sambaAlgorithmicRidBase: 1000objectClass: sambaDomainsambaNextUserRid: 1000

# search resultsearch: 2result: 0 Success

# numResponses: 2# numEntries: 1

9. Obtenga el archivo LDIF samba.ldif para la configuración 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.ldifEnter 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 106

Page 107: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

Configuración de smbldap-tools

1. Edite el archivo de configuración /etc/smbldap-tools/smbldap.conf y configure los siguientes parámetros:

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 configuración /etc/smbldap-tools/smbldap_bind.conf y configure los siguientes parámetros:

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 configuración con los siguientes comandos:

# smbldap-userlistuid |username

99 |nobody |

# smbldap-usershow nobodydn: uid=nobody,ou=People,dc=linux,dc=com,dc=pyobjectClass: top,person,organizationalPerson,inetOrgPerson,posixAccount,shadowAccount,sambaSAMAccountcn: nobodysn: nobodygivenName: nobody

107 Red Hat Certified Engineer

Page 108: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

uid: nobodyuidNumber: 99gidNumber: 99homeDirectory: /dev/nullloginShell: /bin/falsegecos: System UseruserPassword: {crypt}xsambaPwdLastSet: 0sambaLogonTime: 0sambaLogoffTime: 2147483647sambaKickoffTime: 2147483647sambaPwdCanChange: 0sambaPwdMustChange: 2147483647displayName: nobodysambaAcctFlags: [UX]sambaSID: S-1-5-21-1524996228-2808715951-2724009969-1198sambaLMPassword: XXXsambaPrimaryGroupSID: S-1-5-21-1524996228-2808715951-2724009969-516sambaNTPassword: XXXsambaLogonScript: logon.batsambaHomeDrive: 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 configuración con el comando net groupmap list:

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

3. Cree la cuenta para la administración del dominio:

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

4. Inicie el servicio de SAMBA:

# service smb start

Ing. Ivan Ferreira 108

Page 109: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

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

5. Liste los privilegios disponibles en SAMBA:

# net rpc rights list -U administratorPassword: 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 AdministratorPassword:Successfully granted rights.

7. Verifique la configuracion con el siguiente comando:

# net rpc rights list accounts -U administratorPassword:BUILTIN\Print OperatorsNo privileges assigned

BUILTIN\Account OperatorsNo privileges assigned

BUILTIN\Backup OperatorsNo privileges assigned

LINUX-80\Domain AdminsSeMachineAccountPrivilegeSeTakeOwnershipPrivilegeSeBackupPrivilegeSeRestorePrivilegeSeRemoteShutdownPrivilegeSePrintOperatorPrivilegeSeAddUsersPrivilegeSeDiskOperatorPrivilege

BUILTIN\Server OperatorsNo privileges assigned

BUILTIN\AdministratorsSeMachineAccountPrivilegeSeTakeOwnershipPrivilegeSeBackupPrivilege

109 Red Hat Certified Engineer

Page 110: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

SeRestorePrivilegeSeRemoteShutdownPrivilegeSePrintOperatorPrivilegeSeAddUsersPrivilegeSeDiskOperatorPrivilege

EveryoneNo privileges assigned

Unión de los clientes Windows al Dominio

1. En una máquina virtual Windows, asegúrese 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 pestaña Nombre de equipo

Ing. Ivan Ferreira 110

Page 111: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

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

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

111 Red Hat Certified Engineer

Page 112: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

Configuración 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 pestaña Account, marque la casilla de verificación Samba Account:

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

Ing. Ivan Ferreira 112

Page 113: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

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

113 Red Hat Certified Engineer

Page 114: LE304 Guia de Lab Oratorios v1-2

Integración de servicios con el Directorio

5. Establezca una contraseña para el usuario jperez y seleccione la casilla de verificación Set Samba Password:

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

Ing. Ivan Ferreira 114