39063342 configurar un servidor samba y openldap(2)

115
Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hardy 8.04 Jorge Armando Medina Computación Gráfica de México. Documentación Técnica < [email protected]> Alejandro Gabriel Sánchez Martínez Computación Gráfica de México. Documentación Técnica < [email protected]> Copyright © 2007-2008 Jorge Armando Medina, Alejandro Sánchez Martínez Se otorga permiso para copiar, distribuir y/o modificar éste documento bajo los términos de la Licencia de Documentación Libre GNU GFDL, Versión 1.2 o cualquier otra posterior publicada por la Fundación de Software Libre; sin secciones invariantes, sin textos en portada y contraportada. Una copia de la licencia en ingles la puede encontrar en los apendices al final del ibro, tambien una traducción libre no oficial al español de la licencia GFDL y referencias de como utilizarla en sus proyectos, si por alguna razón se tuviera que utilizar por cuestiones legales la licencia GFDL la unica valida es la versión en inlges de ella. 2010/06/12 Historial de revisiones Revisión 0.70 2007-09-12 jam Documento Inicial Revisión 0.80 2008-07-17 jam Revisión para Ubuntu Hardy Server 8.04 Revisión 0.81 2008-08-02 jam Terminado el capitulo: Administración de cuentas Unix y Samba vía smbldap-tools Revisión 0.82 2008-08-16 jam Sección de clientes de dominio windows terminada. Revisión 0.83 2009-01-12 jam Sección describiendo modulos de PAMi, diagrama del DIT hecho en kivio y actualización caracteristicas implementación. Revisión 0.84 2009-01-22 jam Se agregaron los comandos para que un cliente linux se utilice LDAP y PAM para la autenticación, y también se agregó la información para unirlo al dominio samba. Se agregaron ejemplos para utilizar las listas de control de acceso (ACLs) y dar permisos avanzados utiilizando usuarios y grupos de dominio. Se agrego un ejemplo para montaje automatico de volumens samba por medio de PAM MOUNT Revisión 0.85 2009-01-31 jam Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/ 1 de 115 05/10/2010 06:42 p.m.

Upload: rambi62

Post on 03-Aug-2015

128 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 39063342 Configurar Un Servidor Samba y Openldap(2)

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP enUbuntu Server Hardy 8.04Jorge Armando Medina

Computación Gráfica de México.Documentación Técnica

<[email protected]>

Alejandro Gabriel Sánchez Martínez

Computación Gráfica de México.Documentación Técnica

<[email protected]>

Copyright © 2007-2008 Jorge Armando Medina, Alejandro Sánchez Martínez

Se otorga permiso para copiar, distribuir y/o modificar éste documento bajo los términos de la Licencia de Documentación Libre GNU GFDL, Versión 1.2 o cualquier otra posterior publicada porla Fundación de Software Libre; sin secciones invariantes, sin textos en portada y contraportada. Una copia de la licencia en ingles la puede encontrar en los apendices al final del ibro, tambienuna traducción libre no oficial al español de la licencia GFDL y referencias de como utilizarla en sus proyectos, si por alguna razón se tuviera que utilizar por cuestiones legales la licencia GFDL launica valida es la versión en inlges de ella.

2010/06/12

Historial de revisionesRevisión 0.70 2007-09-12 jamDocumento InicialRevisión 0.80 2008-07-17 jamRevisión para Ubuntu Hardy Server 8.04Revisión 0.81 2008-08-02 jamTerminado el capitulo: Administración de cuentas Unix y Samba vía smbldap-toolsRevisión 0.82 2008-08-16 jamSección de clientes de dominio windows terminada.Revisión 0.83 2009-01-12 jamSección describiendo modulos de PAMi, diagrama del DIT hecho en kivio y actualización caracteristicas implementación.Revisión 0.84 2009-01-22 jamSe agregaron los comandos para que un cliente linux se utilice LDAP y PAM para la autenticación, y también se agregó la información para unirlo al dominio samba. Se agregaron ejemplos parautilizar las listas de control de acceso (ACLs) y dar permisos avanzados utiilizando usuarios y grupos de dominio. Se agrego un ejemplo para montaje automatico de volumens samba por mediode PAM MOUNTRevisión 0.85 2009-01-31 jam

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

1 de 115 05/10/2010 06:42 p.m.

Page 2: 39063342 Configurar Un Servidor Samba y Openldap(2)

Se agregaron las opciones para poner nombre canonico (GivenName) y Apellido (sn) el cual automáticamente forma el atributo 'gecos' con ambos atributos. Se agregaron ligas a proximoscapitulos sobre privilegios Se agregó información básica del logon scriptRevisión 0.86 2009-04-09 jam- Se cambio para usar como por default el tipo de de HDB segun recomendaciones de OpenLDAP y Debian/Ubuntu - Se agrego información para configurar los logs de LDAP usando sysklogd -Se agrego información para configurar los logs de LDAP usando syslog-nRevisión 0.87 2009-06-22 jam- Se organizaron las secciones - Se amplio la informacion para unir un cliente linux - Se agrego informacion para montaje automatico mediante pam_mount - Se agrego ejemplo de carpetacompartida con ACLsRevisión 0.88 2010-02-07 jam- Correji varios errores de en las sintaxis de comandos y configuraciones, revise el proceso de instalacion ya que habia un problema para seguir el asistente, varias mejoras en secciones de indicesy acls. - Correji el orden de configuracion de los logon scriptsRevisión 0.89 2010-02-22 jamActualización del capitulo de instalación openldap - Cambios en el DIT para reflejar ou=Computers Actualización del capitulo de mantenimiento con secciones: - Asignar contraseña a rootdn -Respaldar y restaurar archivos de configuración y bases de datos OpenLDAP - Agregar nuevos indices de atributos en OpenLDAP - Ligar sección de atributos en capitulo de instalación

Resumen

Este libro decribre la implementación de un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server 8.04

Tabla de contenidos

1. Introducción2. Caracteristicas de la Implementación

Caracteristicas para Entornos Unix/LinuxCaracteristicas para Entornos WindowsEstructura del Arbol de Directorio (DIT)Información General de Implementación para Entornos Unix/Windows

3. Requerimientos de Software4. Instalación y Configuración del servidor OpenLDAP

Configuración Inicial del servicio slapdAgregando los esquemas (schemas) necesariosConfigurando las Listas de Control de Acceso (ACLs)Configurando los Indices de atributos más usadosConfiguración de los Registros de Eventos (logs) del servidor Slapd

Configuracion de los logs en OpenLDAPConfiguraciones para sysklogdConfiguraciones para syslog-ng

Configuración de los limites de consulta y conexiónRevisión de permisos en archivos y directorios de ConfiguraciónEjecutando una revisión sintactica del archivo de configuración slapd.confIniciando el servidor slapd y haciendo Pruebas PreliminaresControlando el servicio Slapd

5. Configuración del Cliente LDAP6. Configuración de Samba y las herramientas smbldap-tools

Intalación y configuración del servidor SambaInstalando el servidor y cliente SambaConfiguraciónes de Samba para Controlador de Dominio

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

2 de 115 05/10/2010 06:42 p.m.

Page 3: 39063342 Configurar Un Servidor Samba y Openldap(2)

Parametros Globales del servidor SambaConfiguraciónes del registro de eventos (logs) del servidor SambaConfiguraciones de Red para el servidor SambaConfigurando los Parametros para Controlador de DominioParametros para interacción con el servidor LDAPConfiguraciones de Codificación y Charset

El recurso compartido especial [homes]El recurso compartido especial [netlogon]El recurso compartido especial [profiles]Realizando una Revisión Sintactica del archivo de configuración smb.confEspecificando la contraseña del ldap admin dn

Instalación y Configuración de las smbldap-toolsLlenando el Directorio LDAP con smbldap-populateVerificando la instalación y configuración de Samba y LDAP

Probando Samba con Cuentas en el Directorio LDAPVerificando el mapeo del grupos unix a grupos SambaProbando conexiones al servidor Samba usando cuentas en LDAP

7. Configuración de la resolución de Identidades con NSS_LDAP8. Configuración de la Autenticación con PAM_LDAP

Introducción a los Modulos de Autenticación PAMRespaldando la configuración de PAMConfigurando los modulos de autenticación de PAM

Configuración del modulo authConfiguración del modulo accountConfiguración del modulo sessionConfiguración del modulo passwordInstalando el modulo Cracklib de PAM

Probando la autenticación de usuarios de sistema vía PAM_LDAP9. Migración de usuarios y grupos Unix/Posix al directorio LDAP

Migración de Usuarios (/etc/passwd y /etc/shadow)Migración de Grupos (/etc/group)

10. Administración de cuentas Unix y Samba vía smbldap-toolsIntroducciónAtributos predenidos para la creación de usuariosCreación de cuentas de usuarioEliminación de cuentas de usuariosCambiando la contraseña de un usuarioModificación de cuentas de usuarioAdministración de Grupos de Sistema y Grupos Samba

Agregando GruposEliminando GruposAgregando usuarios a GruposEliminando Usuarios de Grupos

11. Tareas de Mantenimiento de OpenLDAP y SambaCambiar o asignar contraseña al Root DN de OpenLDAPAgregar nuevos indices de atributos en OpenLDAPRespaldar los archivos de configuración de OpenLDAPRespaldar y Restaurar una base de datos de OpenLDAPRespaldando archivos importante de SambaRespaldando el SID del Dominio Samba

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

3 de 115 05/10/2010 06:42 p.m.

Page 4: 39063342 Configurar Un Servidor Samba y Openldap(2)

12. Integrando Clientes Windows al Dominio SambaRequerimientos del SistemaConfiguración de los parámetros de red en el equipo Windows

Información necesaria para configurar los parámetros de redConfigurando correctamente los parámetros de redVerificación de los Parámetros de Red

Configuración del nombre de equipo WindowsUniendo el equipo Windows al Dominio SambaComo Iniciar Sesión el Dominio SambaInformación extra para equipos Windows participantes de dominios Samba

Cuenta de equipo creada en el Servidor de DominioViendo los equipos en la red de dominioMapeo de Recurso Compartido HOMES en el equipo localComo compartir una carpeta a usuarios y grupos de red

13. Integrando Clientes Linux/Unix al Dominio SambaInformación preliminar del equipo cliente LinuxInstalando el software necesario para unir cliente Linux a Dominio LDAPConfigurando la resolución de cuentas de usuario y grupos mediante LDAP en clientes LinuxConfigurando la Autorización de cuentas de usuario y grupos mediante LDAP en clientes Linux con PAM

Configuración del modulo authConfiguración del modulo accountConfiguración del modulo sessionConfiguración del modulo passwordProbando la autorización mediante PAM LDAP en cliente Linux

Configurando resolución de cuentas de dominio mediante SambaAutenticación de usuarios y grupos de dominio Samba en clientes LinuxMontaje automático de carpetas compartidas mediante pam_mountCarpetas compartidas con ACL a usuarios y grupos de dominioAutenticando cuentas de usuario de dominio de forma desconectada

14. Resolución de Problemas15. Referencias adicionales16. Apendices

El archivo de configuración /etc/ldap/slapd.conf (Servidor slapd)El archivo de configuración /etc/default/slapdEl archivo de configuración /etc/ldap/ldap.conf (Cliente LDAP)El archivo de configuración /etc/smbldap-tools/smbldap_bind.confEl archivo de configuración /etc/smbldap-tools/smbldap.confEl archivo de configuración smb.confEl archivo de configuración /etc/ldap.conf (NSS_LDAP y PAM_LDAP)

A. Licencia de Documentación Libre de GNUPREÁMBULOAPLICABILIDAD Y DEFINICIONESCOPIA LITERALCOPIADO EN CANTIDADMODIFICACIONESCOMBINACIÓN DE DOCUMENTOSCOLECCIONES DE DOCUMENTOSAGREGACIÓN CON TRABAJOS INDEPENDIENTESTRADUCCIÓNTERMINACIÓN

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

4 de 115 05/10/2010 06:42 p.m.

Page 5: 39063342 Configurar Un Servidor Samba y Openldap(2)

REVISIONES FUTURAS DE ESTA LICENCIAADENDA: Cómo usar esta Licencia en sus documentos

B. GNU Free Documentation License

Lista de figuras

2.1. Diagrama DIT12.1. Propiedades de Protocolo Internet (TCP/IP) General12.2. Propiedades de Protocolo Internet (TCP/IP) Configuraciones WINS12.3. Propiedades de Protocolo Internet (TCP/IP) Configuraciones WINS - Agregar12.4. Viendo los detalles de la conexión de red12.5. Propiedades del sistema, Nombre de Equipo12.6. Propiedades del sistema, Cambios en el nombre de equipo12.7. Usando el Asistente de Identificación de red12.8. Asistente de identificación de red, paso 112.9. Asistente de identificación de red, paso 212.10. Asistente de identificación de red, paso 312.11. Asistente de identificación de red, paso 412.12. Asistente de identificación de red, paso 512.13. Asistente de identificación de red, paso 612.14. Asistente de identificación de red, paso 712.15. Asistente de identificación de red, paso 812.16. Asistente de identificación de red, paso 912.17. Asistente de identificación de red, Ultimo Paso12.18. Asistente de identificación de red, Re iniciar el equipo12.19. Asistente de identificación de red, Alerta de re iniciar el equipo12.20. Inicio de sesión de Windows - Pantalla inicial12.21. Inicio de sesión de Windows - Pantalla predeterminada de login12.22. Inicio de sesión de Windows - Pantalla con opciones activa12.23. Inicio de sesión - Menú inicio12.24. Mapeo de $HOME en Servidor al unidad H: Local12.25. Listado Carpeta a compartir12.26. Parametros de carpeta compartida12.27. Permisos de carpeta compartida12.28. Seleccionar Usuarios o Grupos12.29. Permisos por usuario y gruipo12.30. Permisos para grupo MIDOMINIO\contabilidad12.31. Permisos para MIDOMINIO\directora

Lista de tablas

4.1. Niveles severidad logs slapd10.1. Tabla de opciones disponibles para el comando smbldap-useradd10.2. Tabla de opciones disponibles para el comando smbldap-userdel10.3. Tabla de opciones disponibles para el comando smbldap-usermod10.4. Tabla de opciones disponibles para el comando smbldap-userinfo10.5. Tabla de opciones disponibles para el comando smbldap-groupadd11.1. Directorios de configuración a respaldar

Capítulo 1. Introducción

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

5 de 115 05/10/2010 06:42 p.m.

Page 6: 39063342 Configurar Un Servidor Samba y Openldap(2)

Como se vio antes, nuestra implementación servirá para almacenar de forma centralizada cuentas de usuario y grupo para sistemas Unix, además almacenará la información para un Dominio NTusando samba.

Parrafo.

Capítulo 2. Caracteristicas de la ImplementaciónTabla de contenidos

Caracteristicas para Entornos Unix/LinuxCaracteristicas para Entornos WindowsEstructura del Arbol de Directorio (DIT)Información General de Implementación para Entornos Unix/Windows

En este capitulo se describen las caracterisitcas principales de nuestra implementación. Se describen las funcionalidades que se implementarán para entornos Unix/Linux y las funcionalidadespropias para entornos con sistemas Windows.

Caracteristicas para Entornos Unix/LinuxEn esta sección se describen las funcionalidades que podremos obtener al implementar un servidor Centralizado de Autenticación para redes Unix/Linux.

Para entornos basados en sistemas Unix como GNU/Linux tendremos las siguientes funcionalidades:

Servidor de Autenticación Centralizada, la base de datos de usuarios, contraseñas y grupos estará almacenada en un directorio LDAP remoto.

Este tipo de implementación permite reemplazar servidores NIS para antenticación centralizada tanto para sistemas Unix y Linux.

En los equpos clientes no se crearan cuentas locales, ya que estan en el servidor LDAP, la resolución de nombres de usuarios (UID->Usernames), grupos (GID->Grupos) será manejada porlas herramientas NSS_LDAP, NSS_LDAP buscará los usuarios y grupos en el servidor LDAP central.

La autorización a los diferentes servicios locales (login, KDM, su, sudo, ssh, samba, cron, cups) será manejada por los modulos de autenticación PAM_LDAP, mediante estos modulosPAM decidirá si se autoriza el acceso al usuario de acuerdo a sus credenciales, si son validas se le autoriza el servicio, si no, entonces se deniega el servicio.

La pertenencía a grupos para manejar los permisos y accesos se hará centralizado en el servidor LDAP. Mediante PAM se podrá otorgar privilegios a algunos servicios de acuerdo al grupoque pertenece el usuario, estos permisos se reflejaran de forma transparente para los usuarios locales.

La misma base de usuarios centralizada podrá servico para autenticar otro tipo de aplicaciones: Squid, Apache, Correo Electronico, Mensajería Instantanea, etc.

Soporte para netgroups de NIS, mediante netgroups usted podrá crear diferentes restricciones de acceso sobre los equipos, basados en dirección IP, usuario, grupo.

Facíl integración con servicios de compartición de archivos como NFS para centralizar el amacenamiento de los directorios $HOME de los usuarios.

Se usará un mismo usuario y grupo para autenticarse a los diferente servicios de red y no se tendrán que tener cuentas repetidas en varios servidores, esto conlleva a una administracióncentralizada.

Soporte para replicación de la base de datos de usuarios mediante replicación LDAP, se pueden poner más de un servidor esclavo en la red para balancear las cargas y tener altadisponibilidad.

Caracteristicas para Entornos Windows

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

6 de 115 05/10/2010 06:42 p.m.

Page 7: 39063342 Configurar Un Servidor Samba y Openldap(2)

En esta sección describiremos que funcionalidades obtendremos al configurar un servidor Samba como Controlador de Dominio para Redes MS Windows. La mayoría de las funcionalidadesdescritas a continuación solo podrán ser implementadas en Sistemas Operativos MS WIndows XP Pro.

Para entornos basados en Sistemas Clientes Windows tendremos las siguientes funcionalidades:

Servidor Centralizado para cuentas de red (Controlador Primario de Dominio - PDC)

Servidor de archivos

Servidor de Impresoras (Integrado con CUPS)

Soporte para Politicas de Sistema al estilo NT usando poledit (el editor de politicas de sistema)

Esta característica permite controlar los permisos que el usuario tiene sobre un equipo Windows, entre las caracterísitcas principales se encuentran:

Permite/restringe que los usuarios de Dominio puedan cambiar las configuraciones del Escritorio de Windows.

Permite/restrige que los usuarios puedan cambiar las configuraciones de red de Windows

Permite/restringe que los usuarios puedan entrar al Panel de Control de Windows

Se pueden definir que aplicaciones puede usar el usuario en su estación de trabajo.

Nota

Este tipo de políticas pueden ser aplicadas de forma global, (para todos los usuarios del dominio) por usuario ó por grupo de Domino.

Soporte para ejecución de scripts de inicio de sesión (Logon Scripts)

Esta característica permite que cada que vez que un usuario inicie sesión en el Dominio pueda ejecutar un scripts de inicio (.bat, .vbs) donde se pueden hacer varias tareas, entre ellas:

Sincronizar el reloj del sistema con el reloj del servidor de dominio (net time)

Instalar aplicaciones de forma desatendida (usando WKPG)

Mapear unidades de red automaticamente

Instalar Impresoras en red de forma desatendida en el equpo local

Nota

Estas opciones se pueden aplicar a nivel global, por usuario o por grupo.

Restricción por usuario o grupo a carpetas compartidas en red.

Con esta funcionalidad se pueden crear listas de control de acceso (ACL por sus siglas en Ingés) para permitir ó no el acceso a ciertas carpetas compartidas en red, esta restricción sepuede aplicar por usuario o por grupo, así, por ejemplo, solo los usuarios del grupo Contabilidad y la directora podrán entrar a la carpeta compartida "contabilidad" y podrán: crear,modificar, borrar archivos o directorios dentro de dicha carpeta compartida.

Además se pueden tener permisos más granulares en cuanto a los accesos de los archivos y directorios dentro de las carpetas compartidas, por medio de ACLs.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

7 de 115 05/10/2010 06:42 p.m.

Page 8: 39063342 Configurar Un Servidor Samba y Openldap(2)

Soporte para Perfiles Móviles (Roaming Profiles) para clientes Windows.

Con esta caracterisitca se puede almacenar el perfil del usuario en un servidor de red, y así, cada vez que un usuario de dominio inicia sesión en un equpo podrá tener sincronizado su perfildisponible en cualquier equpo en el que inicie sesión.

Soporte para tener más de un servidor Controlador de Dominio de Respaldo (BDC) por lo obtendrá replicación de la SAM y alta disponibilidad. En caso de que el servidor PDC no estedisponible el servidor BDC se encargará de las tareas de autenticación y compartición de archivos.

Estructura del Arbol de Directorio (DIT)En la jerga LDAP, la estructura del arbol de directorio se define utilizando el termino DIT (Directory Information Tree) ó Arbol de Información del Directorio.

El DIT en un servidor LDAP normalmente se esquematiza utilizando la estrucura de Arbol, donde las ramas del arbol pueden ser contenedores de información, por ejemplo una rama paraalmacenar cuentas de usuario, otra rama para almacenar grupos, etc.

El primer paso para diseñar el DIT es definir el Base DN, el Base DN es el nivel más alto en el arbol de directorio, es decir, la base o raíz del directorio.

En nuestro caso el Base DN será definido utilizando los llamados DC ó Domain Components, similar a la estrucura del Sistema de Nombres de Dominio (DNS).

A grandes razgos nuestro DIT quedará como se muestra en la siguiente figura:

Figura 2.1. Diagrama DIT

En la figura de arriba de define:

dc=midominio,dc=com: Sufijo del directorio

ou=Users: Contenedor para almacenar cuentas de usuario para sistemas Linux/Unix y Windows

ou=Computers: Contenedor para las cuentas de Computadoras (Trusted Machine Accounts) para sistemas Windows

ou=Groups: Contenedor para alamacenar Grupos de sistema para sistemas Unix y Windows

Este DIT sigue las recomendaciones de el RFC 2307bis. No usamos ou=Hosts para almacenar cuentas de computadoras ya que hay una diferencia entre hosts TCP/IP y cuentas de computadorasMicrosoft Windows. Usamos el contenedor ou=DSA para almacenar cuentas de seguridad especificas para clientes LDAP).

No es obligatorio utilzar este DIT para tu propia implementación, más sin embargo, se recomienda seguir estas recomendaciones para la configuración inicial, en instalaciones posteriores podrás

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

8 de 115 05/10/2010 06:42 p.m.

Page 9: 39063342 Configurar Un Servidor Samba y Openldap(2)

adaptar el DIT y las configuraciones a tu gusto.

Para más información acerca del diseño del DIT ver el documento Diseñando un árbol de Directorio LDAP.

Información General de Implementación para Entornos Unix/WindowsEs escencial tener a la mano la información de nuestra implementación ya que será utilizada en capitulos/secciones posteriores, la siguiente información se utilizara:

Se configurará un servidor PDC para la empresa: MIEMPRESA

MIEMPRESA posee el Nombre de Dominio DNS: midominio.com

El nombre DNS del servidor será: ushldap.midominio.com

Se configurará el Nombre de Dominio Samba/NT: MIDOMINIO

Nombre NetBIOS del servidor Samba: PDC-SRV

La Dirección de RED de MIEMPRESA es: 192.168.1.0/24

La Dirección IP del servidor PDC-SRV es: 192.168.1.10

Capítulo 3. Requerimientos de SoftwareLa implementación de este documento será hecha en la distribución Ubuntu Server Hardy 8.04, la mayoría de los pasos podrán implementarse en Ubuntu Gutsy, a excepción de lasconfiguraciónes de NSS_LDAP y PAM_LDAP ya que en Hardy se consolido el archivo de configuración de ambos.

Instalaremos el siguiente software:

OpenLDAP 2.4.9-0ubuntu0.8.04.1

OpenLDAP es una implementación libre de los protocolos LDAP.

Samba 3.0.28a-1ubuntu4.7

Samba es la implementación libre de los protocolos SMB/CIFS el cual funcionará como servidor Controlador de Dominio usando como base de información un directorio LDAP, ademásservirá como servidor de impresoras y archivos.

smbldap-tools 0.9.4-1

Herramientas para administrar cuentas Unix/Posix y Samba almacenadas en un servidor OpenLDAP

libnss-ldap 258-1ubuntu3

NSS son las bibliotecas de resolución de entidades, servirán para resolver nombres de usuarios a UID y viceversa, así como nombres de grupos a GID y viceversa usando como fuente deinformación el directorio LDAP.

libpam-ldap 184-2ubuntu2

PAM son los modulos de autenticación/autorización para otorgar permisos de acceso a diferentes servicios locales (login, KDM, su, sudo, ssh, samba, cron, cups, etc.) usando como fuentede información el servidor LDAP.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

9 de 115 05/10/2010 06:42 p.m.

Page 10: 39063342 Configurar Un Servidor Samba y Openldap(2)

Capítulo 4. Instalación y Configuración del servidor OpenLDAPTabla de contenidos

Configuración Inicial del servicio slapdAgregando los esquemas (schemas) necesariosConfigurando las Listas de Control de Acceso (ACLs)Configurando los Indices de atributos más usadosConfiguración de los Registros de Eventos (logs) del servidor Slapd

Configuracion de los logs en OpenLDAPConfiguraciones para sysklogdConfiguraciones para syslog-ng

Configuración de los limites de consulta y conexiónRevisión de permisos en archivos y directorios de ConfiguraciónEjecutando una revisión sintactica del archivo de configuración slapd.confIniciando el servidor slapd y haciendo Pruebas PreliminaresControlando el servicio Slapd

En esta sección instalaremos y configuraremos un servidor OpenLDAP junto con las herramientas de administración y cliente.

root@ushldap:~# apt-get install slapd ldap-utils(...)(...)(...)Setting up slapd (2.4.9-0ubuntu0.8.04.1) ... Creating initial slapd configuration... done. Creating initial LDAP directory... done.Starting OpenLDAP: slapd.

Setting up ldap-utils (2.4.9-0ubuntu0.8.04.1) ...Processing triggers for libc6 ...ldconfig deferred processing now taking place

Cuando se instala el paquete slapd al final nos lanzará un asistente de configuración del servicio slapd, ser verá como en la siguiente pantalla:

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

10 de 115 05/10/2010 06:42 p.m.

Page 11: 39063342 Configurar Un Servidor Samba y Openldap(2)

Aunque despues vamos a reconifgurar el servidor OpenLDAP (slapd), ingresaremos una contraseña para el usuario administrador del servidor LDAP:

Administrator passwd: ldapadmin

Confirm passwd: ldapadmin

El asistente post instalación automáticamente nos configurará un directorio usando el Base DN en base al nombre de dominio que tenga configurado nuestro servidor.

Se recomienda reconfigurar el paquete slapd para una configuración más personalizada, para reconfigurar el paquete slapd usamos el comando:

root@ushldap:~# dpkg-reconfigure -plow slapd

Al reconfigurar el paquete slapd se lanzará el mismo asistente que vimos atras, pero en este caso será reconfigurado desde cero.

La primer pantalla nos pregunta si queremos omitir la configuración inicial del servidor slapd, contestaremos: NO

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

11 de 115 05/10/2010 06:42 p.m.

Page 12: 39063342 Configurar Un Servidor Samba y Openldap(2)

Despues, nos pregunta el nombre de dominio con el que queremos configurar nuestro arbol de directorio, este nombre de dominio será configurado con la base de nuestro directorio (Base DN) o labase de busqueda de nuestro directorio (Search Base).

Si ingresamos el nombre de dominio midominio.com entonces en formato Domain Component (DC por sus siglas en Inglés) nos pondrá nuestra base así: dc=midominio,dc=com.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

12 de 115 05/10/2010 06:42 p.m.

Page 13: 39063342 Configurar Un Servidor Samba y Openldap(2)

A continuación nos pregunta el nombre de la organización para la que configuraremos el directorio LDAP. Ingresaremos: midominio

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

13 de 115 05/10/2010 06:42 p.m.

Page 14: 39063342 Configurar Un Servidor Samba y Openldap(2)

Despues de configurar el nombre de dominio y la organización nos pide ingresar una contraseña para el usuario Administrador del directorio LDAP, en este caso el Distinguished Name (DN porsus siglas en Inglés) de la cuenta será: cn=admin,dc=midominio,dc=com, usaremos la contraseña: ldapadmin

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

14 de 115 05/10/2010 06:42 p.m.

Page 15: 39063342 Configurar Un Servidor Samba y Openldap(2)

Ahora confirmaremos la contraseña para el Administrador del servidor LDAP, usaremos la misma que se ingreso arriba: ldapadmin

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

15 de 115 05/10/2010 06:42 p.m.

Page 16: 39063342 Configurar Un Servidor Samba y Openldap(2)

En este paso seleccionaremos el tipo de base de datos (data store) en el que almacenaremos la información de nuestro directorio, utilizaremos el tipo HDB la cual es la opción recomendada porUbuntu y por el equipo de desarrollo de OpenLDAP, anteriormente se recomendaba el tipo BDB pero se han encontrado razones por las cuales no se recomienda BDB y esas mismas razones sonlas que han convencido de considerar como pastura el BDB Data Store para OpenLDAP, podemos encontrar la referencía sobre los problemas presentados en BDB en la siguiente articulo TheKing is Dead, Long Live the King.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

16 de 115 05/10/2010 06:42 p.m.

Page 17: 39063342 Configurar Un Servidor Samba y Openldap(2)

En el siguiente paso nos pregunta si deseamos eliminar la base de datos del directorio cuando purguemos el paquete slapd, contestaremos: No

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

17 de 115 05/10/2010 06:42 p.m.

Page 18: 39063342 Configurar Un Servidor Samba y Openldap(2)

Importante

No seleccione la opción Yes ya que si por error desinstalamos el paquete slapd no perderemos la base de datos del directorio /var/lib/ldap y podremos recuperar nuestrainstalación usando dichos archivos.

Si por alguna razón ya existia una base de datos de una instalación anterior (como en nuestro caso de re instalación) el asistente nos pregunta si deseamos mover la base de datos vieja a undirectorio de respaldo (/var/backups/), elejimos la opción Yes.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

18 de 115 05/10/2010 06:42 p.m.

Page 19: 39063342 Configurar Un Servidor Samba y Openldap(2)

Y por ultimo nos pregunta si deseamos permitir conexiones al servidor LDAP usando la version obsoleta del protocolo LDAP 2, por defecto esta desactivado, se recomienda no activarlo ya quelas todas aplicaciones que usaremos usan la versión 3 del protocolo LDAP, así que contestaremos: No

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

19 de 115 05/10/2010 06:42 p.m.

Page 20: 39063342 Configurar Un Servidor Samba y Openldap(2)

Cuando el asistente termina de configurar los parametros especificados veremos en la salida de la consola un mensaje como el siguiente:

Stopping OpenLDAP: slapd.Moving old database directory to /var/backups:- directory unknown... done.Creating initial slapd configuration... done.Creating initial LDAP directory... done.Reloading AppArmor profiles : done.Starting OpenLDAP: slapd.

La salida anterior nos dice que detuvo el servicio slapd, hizo un respaldo de la base de datos anterior en el directorio /var/backups, regeneró un archivo de conifguración en base a nuestrasrespuestas, inicializa un directorio basico e inicia el servidor slapd con la nueva configuración y el nuevo directorio.

En la siguiente sección veremos como configurar el servidor slapd para nuestros propositos.

Configuración Inicial del servicio slapdCuando instalamos el paquete slapd se creó un grupo y un usuario de nombre openldap, con los privilegios de este usuario y grupo será con los que se ejecutará el demonio slapd, así mismo, losarchivos y directorios que utilicemos en nuestra instalación deberán de pertenecer a este usuario y grupo.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

20 de 115 05/10/2010 06:42 p.m.

Page 21: 39063342 Configurar Un Servidor Samba y Openldap(2)

Verificaremos que se creo un grupo de nombre openldap:

root@ushldap:~# grep ldap /etc/groupopenldap:x:108:

Como vemos, nos creo el grupo openldap y tiene el GID: 108

Ahora confirmaremos que el usuario openldap fue creado:

root@ushldap:~# grep ldap /etc/passwdopenldap:x:105:108:OpenLDAP Server Account,,,:/var/lib/ldap:/bin/false

Como vemos nos creo el usaurio openldap, con el ID de Usuario (UID): 105, su grupo primario es el grupo de ID 108 (openldap), su directorio $HOME es /var/lib/ldap, y esta cuenta no tiene unshell válido: /bin/false.

También verificaremos que los permisos del directorio /var/lib/ldap sean los correctos y nos aseguraremos que el usuario openldap tenga permiso de lectura, escritura y acceso al directorio:

root@ushldap:~# ls -ld /var/lib/ldapdrwx------ 2 openldap openldap 4096 2009-01-11 23:20 /var/lib/ldap

Verificaremos que el demonio slapd sea ejecutado con el usaurio y grupo openldap, esto esta definido en el archivo /etc/default/slapd, y por defecto está así:

root@ushldap:~# vim /etc/default/slapd

Este es el contenido del archivo:

# System account to run the slapd server under. If empty the server# will run as root.SLAPD_USER="openldap"

# System group to run the slapd server under. If empty the server will# run in the primary group of its user.SLAPD_GROUP="openldap"

# Path to the pid file of the slapd server. If not set the init.d script# will try to figure it out from $SLAPD_CONF (/etc/ldap/slapd.conf)SLAPD_PIDFILE=

Antes de modificar el archivo principal de configuración del demonio slapd, nos aseguraremos de que el demonio no este corriendo, lo verificamos así:

root@ushldap:~# ps aux | grep slapdopenldap 9495 0.0 2.7 22124 3560 ? Ssl 23:20 0:00 /usr/sbin/slapd -g openldap -u openldap -f /etc/ldap/slapd.conf

Si el servicio esta en ejecución, entonces lo detendremos así:

root@ushldap:~# /etc/init.d/slapd stopStopping OpenLDAP: slapd.

Más adelante veremos como controlar el servicio slapd.

Agregando los esquemas (schemas) necesariosLos esquemas (schemas) definen el tipo de objectos (objectClass) que podemos manejar en nuestro arbol de directorio, además definen el tipo de atributos que podemos usar así como las reglasde sintaxis para cada uno de estos atributos.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

21 de 115 05/10/2010 06:42 p.m.

Page 22: 39063342 Configurar Un Servidor Samba y Openldap(2)

Los esquemas que vienen por defecto en la configuración de slapd son los necesarios para poder almacenar información de cuentas Unix/POSIX, almacenar información para crear un tipo deDirectorio Amarillo, o una agenda de contactos. Estos esquemas predeterminados no nos permiten almacenar atributos para cuentas de usuario y dominios Samba/Windows, sin embargo,OpenLDAP permite la carga de esquemas externos para almacenar diferente tipo de información, el esquema LDAP Samba permite almacenar la siguiente información:

El Nombre de Dominio Samba: sambaDomainName

El SID del Dominio Samba: SambaSID

Ruta al directorio del perfil del usaurio Samba: sambaProfilePath

Letra de unidad de red asignada al HOME del usuario Samba: sambaHomeDrive

La contraseña NT (MD4 hash) del usuario Samba: sambaNTPassword

La contraseña LanManager del usuario Samba: sambaLMPassword

La ruta del script de inicio de sesión (Logon Script) del usuario Samba: sambaLogonScript

La Ruta al directorio HOME del usuario Samba: sambaHomePath

El ID del grupo primario al que pertenece el usuario Samba: sambaPrimaryGroupID

El esquema samba define más atributos, pero los principales son estos que se mencionaron arriba, para conocer los demas atributos ver el archivo /etc/ldap/schemas/samba.schema.

Los esquemas estan definidos en archivos dentro del directorio /etc/ldap/schema/, el esquema para samba no viene incluido dentro de la instalación de slapd, así que tendremos que instalar elpaquete samba-doc, el cual contiene el archivo samba.schema:

# apt-get install samba-doc

El archivo del esquema de samba se encuentra en el archivo /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz en formato comprimido, lo descomprimiremos al vuelo y locopiaremos al directorio /etc/ldap/schema/:

root@ushldap:~# zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema

Revisamos que tenga los permisos adecuados.

root@ushldap:~# ls -l /etc/ldap/schema/samba.schema-rw-r--r-- 1 root root 19424 2009-01-11 23:41 /etc/ldap/schema/samba.schema

Ahora que ya tenemos el archivo del esquema de samba instalado necesitamos decirle al servidor slapd que lo utilize, para hacer esto modificaremos el archivo /etc/ldap/slapd.conf.

Antes de modificar el archivo de configuración de slapd haremos una copia de seguridad:

root@ushldap:~# cp /etc/ldap/slapd.conf{,.orig}

Ahora modificaremos el archivo /etc/ldap/slapd.conf.

root@ushldap:~# vim /etc/ldap/slapd.conf

En la sección donde se incluyen los esquemas:

# Schema and objectClass definitionsinclude /etc/ldap/schema/core.schemainclude /etc/ldap/schema/cosine.schema

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

22 de 115 05/10/2010 06:42 p.m.

Page 23: 39063342 Configurar Un Servidor Samba y Openldap(2)

include /etc/ldap/schema/nis.schemainclude /etc/ldap/schema/inetorgperson.schema

Despues del esquema inetorgperson agregar:

include /etc/ldap/schema/samba.schema

De manera que quede así:

# Schema and objectClass definitionsinclude /etc/ldap/schema/core.schemainclude /etc/ldap/schema/cosine.schemainclude /etc/ldap/schema/nis.schemainclude /etc/ldap/schema/inetorgperson.schemainclude /etc/ldap/schema/samba.schema

No cerraremos este archivo ya que lo seguiremos utilzando en las siguientes secciones.

Configurando las Listas de Control de Acceso (ACLs)El archivo slapd.conf(5) ya viene preconfigurado con algunas reglas de acceso, entre ellas una donde permite cambiar la contraseña a los usuarios Unix debidamente autenticados. Ya que nuestrodirectorio también almacenará información de cuentas Samba, debemos permitir que los usuarios Samba plenamente autenticados puedan cambiar su contraseña desde el mismo cliente Windows.Las contraseñas de cuentas Samba estan almacenadas en los atributos sambaLMPassword y SambaNTPassword, por lo tanto permitiremos a los usuarios autenticados poder cambiar sucontraseña.

En la sección de los ACLs,

Cambiar:

access to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=midominio,dc=com" write by anonymous auth by self write by * none

Por:

access to attrs=userPassword,shadowLastChange,sambaLMPassword,sambaNTPassword by dn="cn=admin,dc=midominio,dc=com" write by anonymous auth by self write by * none

No cerraremos este archivo ya que lo seguiremos utilzando en las siguientes secciones.

Configurando los Indices de atributos más usadosEs importante que los atributos más consultados por los clientes y aplicaciones LDAP esten debidamente indexados en la base de datos del directorio LDAP, de no ser así podríamos sufrir depenalizaciones en el rendimiento del directorio, en especial en el tiempo de respuesta en las consultas, para optimizar el rendimiento del directorio agregaremos una lista de atributos a la lista deatributos a indexar.

En la sección de Indice de atributos,

Cambiar:

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

23 de 115 05/10/2010 06:42 p.m.

Page 24: 39063342 Configurar Un Servidor Samba y Openldap(2)

# Indexing options for database #1index objectClass eq

Por:

# Indexing options for database #1index objectClass,uidNumber,gidNumber eqindex cn,sn,uid,displayName pres,sub,eqindex memberUid,mail,givenname eq,subinitialindex sambaSID,sambaPrimaryGroupSID,sambaDomainName eq

Si en un futuro desea agregar más atributos a la lista de indices vea la sección Agregar nuevos indices de atributos en OpenLDAP.

No cerraremos este archivo ya que lo seguiremos utilzando en las siguientes secciones.

Configuración de los Registros de Eventos (logs) del servidor SlapdEn esta sección se verán los parametros requeridos para configurar el servicio slapd para el resgistro de eventos, los cuales nos ayudarán a analizar la información provista por el directorio LDAP,disgnosticar problemas o simplemente para verificar que todo este funcionando correctamente. Veremos las configuraciones requeridas para el legendario syslogd o sysklogd y syslog-ng.

Configuracion de los logs en OpenLDAP

Ya que esta es nuestra primer instalación de un servidor OpenLDAP, es aconsejable que se incremente el nivel de severidad del registro de eventos del servidor slapd. el parametro loglevel definiela prioridad de los mensajes registrados, la siguiente tabla muestra los niveles de log soportados de acuerdo a la página del manual de slapd.conf(5):

Tabla 4.1. Niveles severidad logs slapd

Nivel Descripción1 (0x1 trace) trace function calls2 (0x2 packets) debug packet handling4 (0x4 args) heavy trace debugging (function args)16 (0x10 BER) print out packets sent and received32 (0x20 filter) search filter processing 64 (0x40 config) configuration file processin64 (0x40 config) configuration file processing

128 (0x80 acl) access control list processing256 (0x100 stats) connections, LDAP operations, results (recommended)512 (0x200 stats2) stats log entries sent1024 (0x400 shell) print communication with shell backends2048 (0x800 parse) entry parsing

16384 (0x4000 sync) LDAPSync replication32768 (0x8000 none) only messages that get logged whatever log level is set

En el valor del parametro loglevel podemos usar tanto el valor númerico o su equivalente en inglés, para desactivar el registro de eventos de slapd use el valor none.

Para nuestro caso usaremos el nivel stats (256) el cual nos mostrará información sobre el servicio slapd, conexiones, y accesos al servidor.

En la sección de logs cambiaremos:

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

24 de 115 05/10/2010 06:42 p.m.

Page 25: 39063342 Configurar Un Servidor Samba y Openldap(2)

# Read slapd.conf(5) for possible valuesloglevel none

Por:

# Read slapd.conf(5) for possible valuesloglevel stats

No cerraremos este archivo ya que lo seguiremos utilzando en las siguientes secciones.

Configuraciones para sysklogd

En la mayoría de distribuciones Linux el sistema de logs esta controlado por el demonio syslog, en Ubuntu el paquete sysklogd provee el demonio de logs predeterminado. En la configuraciónpredeterminada de syslog en Ubuntu, los logs del servidor slapd son enviados con un facility local4.*, y por default todos los mensajes del servidor slapd son enviados a los archivos /var/log/debug y /var/log/syslog, esta configuración hace que los mesajes de ldap se mezclen con mensajes de sistema generales.

Configuraremos el demonio sysklogd para que los logs referentes a OpenLDAP sean enviados a un archivo de logs independiente, por ejemplo, al archivo /var/log/ldap.log.

El archivo de configuración del demonio syslog es /etc/syslog.conf, haremos una copia de respaldo antes de hacer cambios.

root@ushldap:~# cp /etc/syslog.conf{,.orig}

Al final del archivo /etc/syslog.conf y agregamos lo siguiente:

local4.* -/var/log/ldap.log

Y también agregaremos unas exclusiones a los logs debug y syslog para que no se registren logs de ldap en ellos.

Cambiando configuracion para los /var/log/syslog

Cambie:

*.*;auth,authpriv.none -/var/log/syslog

Por

*.*;auth,authpriv.none;local4.none -/var/log/syslog

Ahora cambiamos la configuración para el log /var/log/debug:

Cambie:

*.=debug;\ auth,authpriv.none;\ news.none;mail.none.none -/var/log/debug

Por:

*.=debug;\ auth,authpriv.none;\ news.none;mail.none;local4.none -/var/log/debug

Creamos el archivo vacio para los de ldap:

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

25 de 115 05/10/2010 06:42 p.m.

Page 26: 39063342 Configurar Un Servidor Samba y Openldap(2)

root@ushldap:~# touch /var/log/ldap.log

Ahora reiniciamos el servidor syslog para que los cambios tomen efecto:

root@ushldap:~# /etc/init.d/sysklogd restart * Restarting system log daemon... [ OK ]

Ahora pruebe hacer un tail -f /var/log/debug y a /var/log/syslog, reinicie el servidor slapd y vea que no se registre ningun evento relacionado al demonio slapd, si no aparece nada en dichos logsconfirme que todos los logs se estan enviando a /var/log/ldap.conf.

Configuraciones para syslog-ng

En esta sección veremos como configurar el servidor log logs syslog-ng para almacenar los logs de OpenLDAP en un archivo independiente.

El archivo de configuración del demonio syslog es /etc/syslog-ng/syslog-ng.conf, haremos una copia de respaldo antes de hacer cambios.

root@ushldap:~# cp /etc/syslog-ng/syslog-ng.conf{,.orig}

Ahora agregaremos la definición del destino de los logs originados por el proceso slapd, al final de la sección de los destinos agregue algo así:

# Destino para logs de proceso slapd(8).destination d_ldap { file("/var/log/ldap.log"); };

Al final de la sección donde se definen los filtros, agregamos esto:

# Filtro para logs del proceso slapd(8).filter f_ldap { program("slapd"); };

Al final de la sección donde se definen la definición de el log, principalmente conformada por el origen source(src);, el filtro filter(f_ldap);, el destino destination(d_ldap);.

# Deinición de logs para el proceso slapd(8).log { source(s_all); filter(f_ldap); destination(d_ldap); flags(final); };

Ahora agregaremos unas exclusiones para que no se registren eventos de slapd en los logs /var/log/debug y /var/log/syslog, modificando los filtros haremos los siguientes cambios.

Remplazamos:

filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); };

Con :

filter f_debug { level(debug) and not facility(auth, authpriv, news, mail) and not filter(f_ldap); };

Y también remplazamos:

filter f_syslog { not facility(auth, authpriv); };

Con:

filter f_syslog { not facility(auth, authpriv) and not filter(f_ldap); };

Ahora reiniciamos el servicio syslog-ng para que los cambios tomen efecto:

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

26 de 115 05/10/2010 06:42 p.m.

Page 27: 39063342 Configurar Un Servidor Samba y Openldap(2)

root@ushldap:~# invoke-rc.d syslog-ng restart * Stopping system logging syslog-ng [ OK ] * Starting system logging syslog-ng [ OK ]

Ahora verá que todos los logs referentes a slapd solo serán enviados al archivo /var/log/ldap.log.

Nota

Si usted utiliza logrotate para rotar sus logs es aconsejable agregar el archivo /var/log/ldap.log al archivo /etc/logrotate.d/syslog-ng, por ejemplo:

/var/log/ldap.log { rotate 4 weekly missingok notifempty compress}

Y listo, ahora sus logs se rotarán semanalmente y serán mantenidos durante 4 semanas, al cumplir la 5a semana los logs serán rotados automáticamente.

Configuración de los limites de consulta y conexiónExiste un limite de cuantas entradas serán devueltas en las operaciones de busqueda de los clientes LDAP, este limite por defecto esta configurado a 500 lo que significa que solo serán devueltas500 entradas a los clientes LDAP aun cuando la consulta no tenga limite.

# The maximum number of entries that is returned for a search operationsizelimit 500

Nota

Este valor será incrementado en configuraciones posteriores, en especifico cuando se haga una replicación/sincronización del DIT.

Revisión de permisos en archivos y directorios de ConfiguraciónAntes de reiniciar nuestro servidor para que nuestros cambios tomen efecto, verificaremos que los permisos sean los adecuados:

Verificando que los permisos del archivo /etc/ldap/slapd.conf esten como se muestra aquí:

root@ushldap:~# ls -l /etc/ldap/slapd.conf-rw-r----- 1 root openldap 5079 2009-01-11 23:45 /etc/ldap/slapd.conf

Si no estan así, entonces cambiarlos con los comandos:

root@ushldap:~# chown root:openldap /etc/ldap/slapd.conf

Y

root@ushldap:~# chmod 640 /etc/ldap/slapd.conf

En la siguiente sección veremos como realizar una revisión sintactica del arcihvo de configuración del demonio slapd.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

27 de 115 05/10/2010 06:42 p.m.

Page 28: 39063342 Configurar Un Servidor Samba y Openldap(2)

Ejecutando una revisión sintactica del archivo de configuración slapd.confAntes de reiniciar nuestro servidor slapd realizaremos una comprobación de que nuestras configuraciones esten correctas, el comando slaptest nos hará una revisión sintactica de nuestro archivode configuración /etc/ldap/slapd.conf.

root@ushldap:~# slaptest -v -uconfig file testing succeeded

Con la opción -v habilitamos el modo verbose, esto es para que muestre detalles sobre posibles errores encontrados en la configuración.

La opción -u permite que solo se ejeucta la revisión sintactica aun cuando no se puedan abrir los archivos de bases de datos del directorio (/var/lib/ldap/).

Si el comando slaptest nos muestra algun error, posiblemente nos dirá en que parte del archivo se encuentra el error.

Si no nos es posible diagnosticar el error se recomienda ver el archivo de log /var/log/ldap.log ó correr el deminio slapd con el nivel de severidad mayor, por ejemplo:

root@ushldap:~# slapd -d 16383

Esto nos mostrará todos los mensajes en la terminal y no en los logs.

Iniciando el servidor slapd y haciendo Pruebas PreliminaresAhora que ya tenemos nuestro servidor correctamente configurado y todas los permisos estan correctos podremos iniciar nuestro servidor de forma ordinaria usando el script de inicio, para iniciarel servidor slapd usamos el comando:

root@ushldap:~# /etc/init.d/slapd startStarting OpenLDAP: slapd.

Si el servidor slapd se inicia correctamente, este registrará en el log /var/log/syslog el siguiente mensaje:

Jan 11 23:51:06 ushldap slapd[9753]: @(#) $OpenLDAP: slapd 2.4.9 (Aug 1 2008 01:08:50) $ ^Ibuildd@terranova:/build/buildd/openldap2.3-2.4.9/debian/build/servers/slapdJan 11 23:51:06 ushldap slapd[9755]: slapd starting

En el mensaje anterior nos muestra que el proceso slapd con el identificador de proceso (PID) 15795 se inicio correctamente.

Ahora revisaremos que el servidor slapd haya abierto el socket TCP/IP, en especifico veremos que nos abra el puerto TCP/389.

Con el comando netstat veremos si el proceso slapd con PID 15795 abre el puerto TCP/389.

root@ushldap:~# netstat -pltn | grep slapdtcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 9755/slapdtcp6 0 0 :::389 :::* LISTEN 9755/slapd

Ahora haremos una consulta al servidor LDAP para ver si responde con lo más básico. Usaremos el comando ldapsearch para buscar el namingContexts del DIT.

root@ushldap:~# ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts# extended LDIF## LDAPv3# base <> with scope baseObject# filter: (objectclass=*)# requesting: namingContexts#

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

28 de 115 05/10/2010 06:42 p.m.

Page 29: 39063342 Configurar Un Servidor Samba y Openldap(2)

#dn:namingContexts: dc=midominio,dc=com

# search resultsearch: 2result: 0 Success

# numResponses: 2# numEntries: 1

SI el comando ldapsearch nos muestra algo similar a lo que se muestra arriba significa que nuestro servidor LDAP esta funcionando correctamente.

Ahora haremos una busqueda en el directorio LDAP autenticado como el usuario admin del LDAP y haremos la buqueda usando como base dc=midominio,dc=com, esto es para comprobar quela autenticación y nuestras ACLs funcionen correctamente, además, de comprobar que el directorio se haya incializado con la estrucutra básica..

root@ushldap:~# ldapsearch -x -D "cn=admin,dc=midominio,dc=com" -b "dc=midominio,dc=com" -WEnter LDAP Password:ldapadmin# extended LDIF## LDAPv3# base <dc=midominio,dc=com> with scope subtree# filter: (objectclass=*)# requesting: ALL#

# midominio.comdn: dc=midominio,dc=comobjectClass: topobjectClass: dcObjectobjectClass: organizationo: midominiodc: midominio

# admin, midominio.comdn: cn=admin,dc=midominio,dc=comobjectClass: simpleSecurityObjectobjectClass: organizationalRolecn: admindescription: LDAP administratoruserPassword:: e2NyeXB0fWUwTng4TmRUZk54Wm8=

# search resultsearch: 2result: 0 Success

# numResponses: 3# numEntries: 2

Controlando el servicio SlapdEn esta sección veremos como controla el servicio slapd, al controlar el servicio nos referimos a iniciar, detener, reiniciiar el proceso slapd.

Para iniciar el servidor slapd usando los scripts de inicio, usaremos el siguiente comando:

root@ushldap:~# invoke-rc.d slapd startStarting OpenLDAP: slapd.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

29 de 115 05/10/2010 06:42 p.m.

Page 30: 39063342 Configurar Un Servidor Samba y Openldap(2)

Para detener el servidor slapd usando los scripts de inicio, usaremos:

root@ushldap:~# invoke-rc.d slapd stopStopping OpenLDAP: slapd.

Si deseamos que el servidor slapd sea iniciado automáticamente al arranque del sistema, usaremos el comando:

root@ushldap:~# update-rc.d slapd defaultsAdding system startup for /etc/init.d/slapd .../etc/rc0.d/K20slapd -> ../init.d/slapd/etc/rc1.d/K20slapd -> ../init.d/slapd/etc/rc6.d/K20slapd -> ../init.d/slapd/etc/rc2.d/S20slapd -> ../init.d/slapd/etc/rc3.d/S20slapd -> ../init.d/slapd/etc/rc4.d/S20slapd -> ../init.d/slapd/etc/rc5.d/S20slapd -> ../init.d/slapd

Cuando se instala el paquete slapd, este agregará el servicio slapd para que sea iniciado automaticamente al arranque del sistema, por lo que es posible que reciba un mensaje como el siguiente:

root@ushldap:~# update-rc.d slapd defaultsSystem startup links for /etc/init.d/slapd already exist.

Si deseamos que el servidor slapd NO sea iniciado al arranque del sistema usaremos el comando:

root@ushldap:~# update-rc.d -f slapd removeRemoving any system startup links for /etc/init.d/slapd .../etc/rc0.d/K20slapd/etc/rc1.d/K20slapd/etc/rc2.d/S20slapd/etc/rc3.d/S20slapd/etc/rc4.d/S20slapd/etc/rc5.d/S20slapd/etc/rc6.d/K20slapd

Con el comando anterior slapd ya no será iniciado al arranque del sistema, para controlarlo se tendrá que hacer con los comandos antes mencionados.

Capítulo 5. Configuración del Cliente LDAPLas herramientas cliente LDAP como: ldapsearch, ldapmodify, ldapadd y otras usan los parametros de configuración definidos en el archivo /etc/ldap/ldap.conf, básicamente en estearchivo se pueden definir los siguientes parametros:

URI - Dirección del servidor o servidores LDAP predeterminados

BASE - Sufijo de la base de busqueda ó Base DN

SIZELIMIT - Tamaño máximo de las busquedas

TIMELIMIT - Limite de tiempo para las consultas

BINDDN - DN de la cuenta con la que se efectuarán las operaciones

Por ahora solo configuraremos los primeros dos parametros, editemos el archivo de configuración del cliente LDAP /etc/ldap/ldap.conf:

root@ushldap:~# vim /etc/ldap/ldap.conf

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

30 de 115 05/10/2010 06:42 p.m.

Page 31: 39063342 Configurar Un Servidor Samba y Openldap(2)

Definimos el la dirección del servidor LDAP y la base de busqueda:

BASE dc=midominio,dc=comURI ldap://127.0.0.1

Los parametros antes definidos son de uso general, si desea usar parametros diferentes para un usuario de sistema en particular cree un archivo .ldaprc dentro del directorio home del usuario, porejemplo:

$ vim ~/.ldaprc

Con el contenido:

BASE dc=midominio,dc=comURI ldap://127.0.0.1BINDDN cn=admin,dc=midominio,dc=com

Para más información sobre el archivo /etc/ldap/ldap.conf y ~/.ldaprc ver la página del manual ldap.conf(5).

Capítulo 6. Configuración de Samba y las herramientas smbldap-toolsTabla de contenidos

Intalación y configuración del servidor SambaInstalando el servidor y cliente SambaConfiguraciónes de Samba para Controlador de Dominio

Parametros Globales del servidor SambaConfiguraciónes del registro de eventos (logs) del servidor SambaConfiguraciones de Red para el servidor SambaConfigurando los Parametros para Controlador de DominioParametros para interacción con el servidor LDAPConfiguraciones de Codificación y Charset

El recurso compartido especial [homes]El recurso compartido especial [netlogon]El recurso compartido especial [profiles]Realizando una Revisión Sintactica del archivo de configuración smb.confEspecificando la contraseña del ldap admin dn

Instalación y Configuración de las smbldap-toolsLlenando el Directorio LDAP con smbldap-populateVerificando la instalación y configuración de Samba y LDAP

Probando Samba con Cuentas en el Directorio LDAPVerificando el mapeo del grupos unix a grupos SambaProbando conexiones al servidor Samba usando cuentas en LDAP

En este capitulo se explicará como configurar el servidor Samba y las herramientas smbldap-tools para configurar Samba como Controlador de Dominio usando como un directorio OpenLDAPcomo fuente de información centralizada para cuentas Unix y Samba.

Intalación y configuración del servidor SambaEn esta sección configuraremos el servidor Samba como un Controlador de Dominio Primario (PDC) Windows NT con la base de datos SAM almacenada en nuestro directorio LDAP.

Los parametros Generales que configuraremos son:

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

31 de 115 05/10/2010 06:42 p.m.

Page 32: 39063342 Configurar Un Servidor Samba y Openldap(2)

Parametros de identificación de red como: Dominio, Nombre Servidor.

Configuración para registro de eventos (logs)

Interfaces y direcciones de red a las que esta conectado el servidor

Configuración de parametros para Controlador de Dominio

Informacion del servidor LDAP y como utilizarlo

Definición de script para automatizar la administración de las cuentas samba/ldap.

Directorios compartidos especiales como homes, netlogon y profiles.

La configuración la realizaremos paso por paso tratando de explicara cada cambio.

Instalando el servidor y cliente Samba

En esta sección instalaremos el servidor samba que en Debian/Ubuntu esta conformado principalmente por los paquetes: samba y smbclient, el primero contiene los programas para servidor y elsegundo las herramientas de cliente y diagnostico.

Primero instalaremos los paquetes tanto de servidor y clientes.

# apt-get install samba smbclient

El paquete de instalación del servidor samba es pre configurado con algunos parametros y también importan los usuarios en /etc/passwd, en nuestro caso esta configuración no nos sirve por loque eliminaremos la configuración creada y los archivos de configuración que se inicializaron, detenemos los servicios samba para iniciar con la configuración en limpio.

root@ushldap:~# /etc/init.d/samba stop * Stopping Samba daemons [ OK ]

Ahora eliminamos los archivos .tdb y .dat en /var/lib/samba:

root@ushldap:~# rm -rfv /var/lib/samba/*.{tdb,dat}

Nota

Todavía no iniciaremos el servidor samba hasta que este nuevamente configurado.

Continuaremos con la configuracón de samba.

Configuraciónes de Samba para Controlador de Dominio

El archivo de configuración principal de Samba es /etc/samba/smb.conf, ya que iniciaremos con una configuración nueva, haremos un respaldo de este archivo antes de iniciar con lasmodificaciones.

Creamos el respaldo del archivo /etc/samba/smb.conf:

root@ushldap:~# mv /etc/samba/smb.conf{,.orig}

En la siguiente sección podemos continuar con los parametros que nos intersan.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

32 de 115 05/10/2010 06:42 p.m.

Page 33: 39063342 Configurar Un Servidor Samba y Openldap(2)

Parametros Globales del servidor Samba

El archivo de conifguración de samba define la sección [global], en esta sección especificaremos parametros globales que afectarán el comportamiento del servidor Samba, los parametrosprincipales son::

El nombre del Grupo de Trabajo/Dominio al que pertenecemos: MIDOMINIO

Nombre NetBIOS del Servidor Samba: PDC-SRV

Descripción del servidor Samba: Servidor PDC

Además configuraremos los siguientes parametros extras:

Soporte para habilitar privilegios de Grupos de Dominio Samba: enable privileges = yes, este parametro es útil por ejemplo para dar privilegios a los usuarios miembros del grupo Domain Adminspara unir equpos Windows a un Dominio NT.

Crearemos un archivo /etc/samba/smb.conf nuevo con los siguientes parametros:

El inicio de la sección global quedará así:

[global] workgroup = MIDOMINIO netbios name = PDC-SRV server string = Servidor PDC enable privileges = yes map to guest = Bad User username map = /etc/samba/smbusers

El parametro map to guest = Bad User define que cuando un usuario no existente (en el dominio) se conecte al servidor, el servidor smbd mapeará esa conexión al usuario anonimo, pero lasconexiónes de usuarios que se autentiquen con una contraseña invalida serán rechazadas.

La ultima opción que especificamos es username map apuntando al archivo /etc/samba/smbusers, este archivo sirve para mapear nombres de usuarios (alias), por ejemplo en este archivopodemos crear un mapeo de usuario para que la cuenta root sea mapeada a Administrator que es comunmente usada en entornos de red Windows para la cuenta de administrador. Para haceresto, creamos el archivo /etc/samba/smbusers con el siguiente contenido:

##### User mapping file###### File Format# -----------# Unix_ID = Windows_ID## Examples:# root = Administrator# janes = "Jane Smith"# jimbo = Jim Bones## Note: If the name contains a space it must be double quoted.# In the example above the name 'jimbo' will be mapped to Windows# user names 'Jim' and 'Bones' because the space was not quoted.#######################################################################root = Administrator##### End of File####

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

33 de 115 05/10/2010 06:42 p.m.

Page 34: 39063342 Configurar Un Servidor Samba y Openldap(2)

No cerraremos el archivo ya que agregaremos más información en la sección [global] en las siguientes secciones

Configuraciónes del registro de eventos (logs) del servidor Samba

Ahora configuraremos algunos parametros para la generación de logs.

; logging syslog = 0 log level = 0 max log size = 50 log file = /var/log/samba/%m.log

TODO: Explicar aquí que significa cada parametro o meter liga a man 5 smb.conf.

No cerraremos el archivo ya que agregaremos más información en la sección [global] en las siguientes secciones

Configuraciones de Red para el servidor Samba

En esta sección configuraremos los parametros de red y algunas configuraciones de seguridad recomendadas.

;networking socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 interfaces = eth0 lo hosts allow = 127.0.0.1, 192.168.1.0/24 hosts deny = 0.0.0.0 smb ports = 139 445 bind interfaces only = Yes name resolve order = wins hosts lmhosts bcast remote announce = 192.168.1.255

No cerraremos el archivo ya que agregaremos más información en la sección [global] en las siguientes secciones

Configurando los Parametros para Controlador de Dominio

Ahora configuraremos los parametros relacionados con la configuración de un servidor Controlador de Dominio.

; PDC Options time server = Yes wins support = Yes os level = 33 domain logons = Yes preferred master = Yes logon path = logon home = logon drive = logon script = case sensitive = No utmp = Yes unix password sync = Yes passwd program = /usr/sbin/smbldap-passwd -u %u passwd chat = "Changing password for*\nNew password*" %n\n "*Retype new password*" %n\n"

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

34 de 115 05/10/2010 06:42 p.m.

Page 35: 39063342 Configurar Un Servidor Samba y Openldap(2)

ldap passwd sync = Yes

No cerraremos el archivo ya que agregaremos más información en la sección [global] en las siguientes secciones

Parametros para interacción con el servidor LDAP

Ahora definiremos los parametros necesarios para que samba utilice el directorio LDAP.

; SAMBA-LDAP declarations passdb backend = ldapsam:ldap://127.0.0.1/ ldap admin dn = cn=admin,dc=midominio,dc=com ldap suffix = dc=midominio,dc=com ldap group suffix = ou=Groups ldap user suffix = ou=Users ldap machine suffix = ou=Computers ldap idmap suffix = ou=Idmap idmap backend = ldap:ldap://127.0.0.1 idmap uid = 10000-20000 idmap gid = 10000-20000 winbind trusted domains only = Yes #ldap ssl = start_tls add machine script = /usr/sbin/smbldap-useradd -w "%u" add user script = /usr/sbin/smbldap-useradd -m "%u" ldap delete dn = No #delete user script = /usr/sbin/smbldap-userdel "%u" add group script = /usr/sbin/smbldap-groupadd -p "%g" #delete group script = /usr/sbin/smbldap-groupdel "%g" add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"

No cerraremos el archivo ya que agregaremos más información en la sección [global] en las siguientes secciones

Configuraciones de Codificación y Charset

Ahora configuraremos los parametros para especificar el juego de caracteres predeterminado para archivos dos y unix.

; Configuración de juego de caracteres dos charset = 850 Unix charset = ISO8859-1

Hasta aquí termina la sección Global de smb.conf, en las siguientes secciones configuraremos secciones especiales para nuestro Controlador de Dominio.

El recurso compartido especial [homes]

El recurso compartido [homes] es un recurso compartido especial que es usado para compartir el directorio $HOME de cada usuario, por ejemplo, tenemos un usuario unix/windows de nombrejmedina, este usuario tiene un directorio $HOME en la ruta /home/jmedina, con este recurso compartido, cada vez que el usuario jmedina inicia sesión por Samba, tendrá disponible un recursocompartido en el servidor con el nombre "jmedina" y por medio de él podrá entrar a sus archivos privados en el servidor.

; Configuraciones de recursos compartidos[homes] comment = Home Directories valid users = %U read only = No create mask = 0664

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

35 de 115 05/10/2010 06:42 p.m.

Page 36: 39063342 Configurar Un Servidor Samba y Openldap(2)

directory mask = 0775 browseable = No

La linea valid users = %U indica que este recurso compartido solo esta disponible para los usuarios Samba autenticados.

En este recurso compartido no se especifica un path ya que podrá variar dependiendo del usuario que haga login.

El recurso compartido especial [netlogon]

Este es otro recurso compartido especial, el recurso [netlogon] solo es utilizado cuando Samba actua como un Controlador de Dominio, el proposito de este recurso compartido es almacenar losscripts de inico (logon scripts), estos scripts son ejecutados cada vez que un usuario inicia sesión en el dominio.

[netlogon] path = /home/samba/netlogon/ browseable = No read only = yes

La opción browseable = No especifica que este recurso compartido no será visible en la lista de shares disponibles en el servidor, más sin embargo, si podrá ser accesado para los usuarios quehacen login en el dominio, el acceso será de solo lectura.

TODO: Meter opción para que los usuarios miembros del grupo "Domain Admins" tengan permiso de escritura a este recurso compartido, así, estos usuarios podrán crear los logon scripts.

Ahora creamos el directorio base en el cual almacenaremos los logon scripts:

root@ushldap:~# mkdir -vp --mode 755 /home/samba/netlogon mkdir: se ha creado el directorio `/home/samba/netlogon'

TODO: Cambiar los permisos a root:"Domain Admins" con permisos 775???????????

Ahora crearemos un logon script bastante simple que hará las siguientes operaciones

Sincronizar el reloj del servidor con el del equipo local

Mapear el recurso de red \\PDC-SRV\homes a la unidad H:

Mapear el recurso de red \\PDC-SRV\publico a la unidad P:

Creamos el archivo /home/samba/netlogon/logon.bat:

# vim /home/samba/netlogon/logon.bat

Y agregue el siguiente contenido:

net time \\PDC-SRV /set /yesnet use h: \\PDC-SRV\homesnet use p: \\PDC-SRV\publico

Ahora convertimos el archivo a formato DOS con CR/LF

root@ushldap:~# sed -i 's/$/\r/' /home/samba/netlogon/logon.bat

TODO: Verificar si el script requiere permisos de ejecución

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

36 de 115 05/10/2010 06:42 p.m.

Page 37: 39063342 Configurar Un Servidor Samba y Openldap(2)

TODO: Meter sección sobre ntlogon.pl o ntlogon.py

El recurso compartido especial [profiles]

El recurso compartido [profiles] también es de uso especial y solo es necesario cuando Samba se configura como Controlador de Dominio, el proposito de este recurso compartido es almacenarlos Perfiles de Usuarios, en especifico es usado cuando se configura que los usuarios de dominio utilizen los Perfiles Móviles (Roaming Profiles).

[profiles] path = /home/samba/profiles read only = No create mask = 0600 directory mask = 0700 browseable = No guest ok = Yes profile acls = Yes csc policy = disable # next line is a great way to secure the profiles force user = %U # next line allows administrator to access all profiles valid users = %U @"Domain Admins"

La ruta de este recurso compartido será usado con el atributo ProfilePath para indicar la ruta en donde esta almacenado el Perfil del Usuario, por ejemplo, la entrada en la SAM del dominio parael usuario jmedina especifica: ProfilePath=\\PDC-SRV\profiles\jmedina, lo cual indica que el perfil del usuario jmedina estará en el directorio local /home/samba/profiles/jmedina.

Creamos el directorio para el recurso compartido profiles:

root@ushldap:~# mkdir -vp --mode 1777 /home/samba/profiles mkdir: se ha creado el directorio `/home/samba/profiles'

En este momento ya podemos guardar el archivo smb.conf.

Realizando una Revisión Sintactica del archivo de configuración smb.conf

Despues de haber editado el archivo de conifguración smb.conf ejecutaremos el comando testparm para realizar un revisión sintactica del archivo smb.conf, este comando nos dirá si hay algúnerror de configuración, o si algun parametro esta mal escrito.

Para correr la revisón ejecutamos:

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

Si le aparece el mensaje "ERROR: the 'unix password sync' parameter is set and the 'passwd program' (/usr/sbin/smbldap-passwd) cannot be executed (error was No such file or directory)."ignorelo, en la siguiente sección instalaremos el paquete smbldap-tools.

Si hubiera algun error en la sintaxis el comando testparm no lo reportará y nos dirá en que linea se encuentra el error y alguna descripción corta sobre el error.

Nota

Todavía no es momento de iniciar el servidor samba.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

37 de 115 05/10/2010 06:42 p.m.

Page 38: 39063342 Configurar Un Servidor Samba y Openldap(2)

Para más información acerca de los parametros en el archivo de configuración /etc/samba/smb.conf ver la página del manual smb.conf(5).

Especificando la contraseña del ldap admin dn

Para que Samba pueda agregar/modificar cuentas almacenadas en el directorio LDAP es necesario que sepa la contraseña del usuario ldap admin dn especificada en el archivo smb.conf. Lacuenta del ldap admin dn debe de tener los suficientes permisos para leer, agregar y modificar entradas en el directorio LDAP.

Para especificar la contraseña del admin dn, usamos el comando:

root@ushldap:~# smbpasswd -WSetting stored password for "cn=admin,dc=midominio,dc=com" in secrets.tdbNew SMB password:ldapadminRetype new SMB password:ldapadmin

La contraseña será almacenada en el archivo /var/lib/samba/secrets.tdb. Se almacena aquí para no tener que espcificarla cada vez que se vaya a ejecutar alguna operación relacionada acuentas Samba en el directorio LDAP.

El archivo secrets.tdb debe de tener los permisos así:

root@ushldap:~# ls -l /var/lib/samba/secrets.tdb-rw------- 1 root root 8192 2008-06-18 23:29 /var/lib/samba/secrets.tdb

Nota

Para poder manipular los archivos tdb podemos utilizar las herramientas del paquete tdb-tools.

Ahora si podemos iniciar el servidor samba

root@ushldap:/etc/samba# /etc/init.d/samba start * Starting Samba daemons [ OK ]

Instalación y Configuración de las smbldap-toolsAhora configuraremos las herramientas smbldap-tools para predefinir los parametros de configuración para la administración de cuentas Unix y Samba.

Primero instalaremos el paquete smbldap-tools así:

root@ushldap:~# apt-get install smbldap-tools

Los archivos de configuración de las herramientas smbldap-tools se encuentran en el directorio /etc/smbldap-tools, en este directorio deben de existir dos archivos de configuración, el archivosmbldap.conf contiene directivas de configuración tanto para la creación y modificación de cuentas Unix y Samba y el archivo smbldap_bind.conf contiene el usuario y la contraseña delusuario con el que nos conectaremos al servidor LDAP para efectura las operaciones de administración de usuarios y grupos Unix/Samba.

Ya que el archivo /etc/smbldap-tools/smbldap.conf no existe, usaremos un archivo de ejemplo que se instala junto con el paquete smbldap-tools, lo copiamos así:

root@ushldap:~# zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf

El archivo smbldap_bind.conf tampoco existe por lo que utilizaremos el archivo de ejemplo:

root@ushldap:~# cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

38 de 115 05/10/2010 06:42 p.m.

Page 39: 39063342 Configurar Un Servidor Samba y Openldap(2)

Antes de empezar a configurar estas herramientas cambiaremos los permisos de acceso para estos archivos,

Entramos al directorio /etc/smbldap-tools:

root@ushldap:~# cd /etc/smbldap-tools

Cambiamos el usuario y grupo propietarios para los archivos, el usaurio dueño debe de ser root y el grupo dueño debe de ser openldap.

root@ushldap:~# chown root:openldap smbldap*

Nadie más a exepcion del usuario root tendrá permiso de lecutra y escritura sobre los archivos, el grupo openldap solo tendrá permisos de lectura.

root@ushldap:~# chmod 640 smbldap*

Editaremos el archivo de configuración smbldap_bind.conf para especificar el usuario con con el que haremos las operaciones de administracion de usurios y grupos en el servidor LDAP.

root@ushldap:~# vim smbldap_bind.conf

Cambiar:

slaveDN="cn=Manager,dc=company,dc=com"slavePw="secret"masterDN="cn=Manager,dc=company,dc=com"masterPw="secret"

Por:

slaveDN="cn=admin,dc=midominio,dc=com"slavePw="ldapadmin"masterDN="cn=admin,dc=midominio,dc=com"masterPw="ldapadmin"

Nota

Aunque aun no tengamos configurado un servidor LDAP esclavo usaremos el mismo cn=admin que en nuestro servidor Maestro.

En el archvo smbldap.conf se debe de especificar el SID del dominio Samba con el que estaremos trabajando, para obtener el SID de nuestro servidor utilizaremos el comando net.

Obteniendo el SID local:

root@ushldap:~# net getlocalsidSID for domain PDC-SRV is: S-1-5-21-2911508632-2405292923-4115677068

El SID resultante lo copiaremos, en este caso el SID es: S-1-5-21-2911508632-2405292923-4115677068

Como minimo debemos de configurar los parametros que estan marcados en negritas.

Ahora editamos el archivo principal de configuración de smbldap-tools /etc/smbldap-tools/smbldap.conf:

# vim /etc/smbldap-tools/smbldap.conf

TODO: Dividir los parametros globales para el dominio Samba y los parametros para especificar en que servidor LDAP almacenaremos la información de cuentas Unix/Samba.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

39 de 115 05/10/2010 06:42 p.m.

Page 40: 39063342 Configurar Un Servidor Samba y Openldap(2)

Primero editaremos los parametros referentes al dominio Samba:

# Put your own SID. To obtain this number do: "net getlocalsid".# If not defined, parameter is taking from "net getlocalsid" returnSID="S-1-5-21-2911508632-2405292923-4115677068"

# Domain name the Samba server is in charged.# If not defined, parameter is taking from smb.conf configuration file# Ex: sambaDomain="IDEALX-NT"sambaDomain="MIDOMINIO"

# Slave LDAP server# Ex: slaveLDAP=127.0.0.1# If not defined, parameter is set to "127.0.0.1"slaveLDAP="127.0.0.1"

# Slave LDAP port# If not defined, parameter is set to "389"slavePort="389"

# Master LDAP server: needed for write operations# Ex: masterLDAP=127.0.0.1# If not defined, parameter is set to "127.0.0.1"masterLDAP="127.0.0.1"

# Master LDAP port# If not defined, parameter is set to "389"masterPort="389"

Conifguraciones de TLS/SSL:

Ya que en esta instalación inicial no usaremos comunicacione seguras por SSL/TLS desactivaremos el uso de TLS en nuestra configuración.

# Use TLS for LDAP# If set to 1, this option will use start_tls for connection# (you should also used the port 389)# If not defined, parameter is set to "1"ldapTLS="0"

Ahora especificaremos el Base DN de nuestro directorio LDAP, esta configuración servirá como variable para otras configuraciones, todos los contenedores para almacenar cuentas y gruposestarán bajo este Base DN.

# LDAP Suffix# Ex: suffix=dc=IDEALX,dc=ORGsuffix="dc=midominio,dc=com"

# Where to store next uidNumber and gidNumber available for new users and groups# If not defined, entries are stored in sambaDomainName object.# Ex: sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"# Ex: sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"

# Unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT)hash_encrypt="SSHA"

# if hash_encrypt is set to CRYPT, you may set a salt format.# default is "%s", but many systems will generate MD5 hashed# passwords if you use "$1$%.8s". This parameter is optional!crypt_salt_format="%s"

# Domain appended to the users "mail"-attribute

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

40 de 115 05/10/2010 06:42 p.m.

Page 41: 39063342 Configurar Un Servidor Samba y Openldap(2)

# when smbldap-useradd -M is used# Ex: mailDomain="idealx.com"mailDomain="midominio.com"

# Default password validation time (time in days) Comment the next line if# you don't want password to be enable for defaultMaxPasswordAge days (be# careful to the sambaPwdMustChange attribute's value)defaultMaxPasswordAge="99999"

Llenando el Directorio LDAP con smbldap-populateAhora que ya hemos editado los archivos de configuración de las herramientas smbldap-tools, inicializaremos nuestro directorio LDAP con la información para el dominio NT: MIDOMINIO.

El comando smbldap-populate inicializará nuestro directorio LDAP con la siguiente información:

Base DN: dc=midominio,dc=com

Contenedor (OU= Unidad Organizativa ) para las cuentas Unix/Samba: ou=Users

En el contenedor para los Usuarios, se crearán por defecto los usuarios: root y nobody los cuales serán mapeados al usuarios Administrador y Guest Samba respectivamente.

Contenedor (OU= Unidad Organizativa ) para los Grupos Unix/Samba: ou=Groups

En el contenedor de los Grupos, se crearán por defecto los Grupos Predeterminados de un dominio Samba: Domain Admins, Domain Users, Domain Guests, Domain Computers.

Contenedor (OU= Unidad Organizativa ) para las cuentas de Computadoras Windows: ou=Computers

Contenedor (OU= Unidad Organizativa ) para los mapeos de Cuentas Unix a Cuentas Samba/Windows (SID): ou=Idmap

Para inicializar nuestro directorio LDAP con la información de arriba usaremos el comando smbldap-populate de la siguiente manera:

root@ushldap:~# smbldap-populatePopulating LDAP directory for domain MIDOMINIO (S-1-5-21-2911508632-2405292923-4115677068)(using builtin directory structure)

entry dc=midominio,dc=com already exist.adding new entry: ou=Users,dc=midominio,dc=comadding new entry: ou=Groups,dc=midominio,dc=comadding new entry: ou=Computers,dc=midominio,dc=comadding new entry: ou=Idmap,dc=midominio,dc=comadding new entry: uid=root,ou=Users,dc=midominio,dc=comadding new entry: uid=nobody,ou=Users,dc=midominio,dc=comadding new entry: cn=Domain Admins,ou=Groups,dc=midominio,dc=comadding new entry: cn=Domain Users,ou=Groups,dc=midominio,dc=comadding new entry: cn=Domain Guests,ou=Groups,dc=midominio,dc=comadding new entry: cn=Domain Computers,ou=Groups,dc=midominio,dc=comadding new entry: cn=Administrators,ou=Groups,dc=midominio,dc=comadding new entry: cn=Account Operators,ou=Groups,dc=midominio,dc=comadding new entry: cn=Print Operators,ou=Groups,dc=midominio,dc=comadding new entry: cn=Backup Operators,ou=Groups,dc=midominio,dc=comadding new entry: cn=Replicators,ou=Groups,dc=midominio,dc=comentry sambaDomainName=MIDOMINIO,dc=midominio,dc=com already exist. Updating it...

Please provide a password for the domain root:Changing UNIX and samba passwords for rootNew password:dominioadminRetype new password:dominioadmin

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

41 de 115 05/10/2010 06:42 p.m.

Page 42: 39063342 Configurar Un Servidor Samba y Openldap(2)

Al final se nos solicita que asignemos una contraseña para el usuario root del dominio, utilizaremos la contraseña: dominioadmin

Si al llenar el directorio LDAP no se presenta error alguno, entonces al final tendremos nuestro arbol de directorio con la siguiente estructura.

dc=MIDOMINIO,dc=COM | ,___ ou=Users Contenedor para almacenar cuentas de usuario para sistemas Linux/Unix y Windows | | | ,_______uid=root Usuario Unix/Samba root (Administrador Unix y Administrador de Dominio Samba) | | | ,_______uid=nobody Usuario Unix/Samba nobody (Cuenta anonima para entornos Unix y Dominio Samba) | ,___ ou=Computers Contenedor para las cuentas de Computadoras (Trusted Machine Accounts) para sistemas Windows | ,___ ou=Groups Contenedor para alamacenar Grupos de sistema para sistemas Unix y Windows | ( o para cualquier otro sistema LDAP-aware). | ,_______cn=Domain Admins Grupo Global para los Administradores del Dominio NT: MIDOMINIO | ,_______cn=Domain Users Grupo Global para los Usuarios de Dominio NT: MIDOMINIO | ,_______cn=Domain Computers Grupo Global para las Cuentas de Computadoras del Dominio NT: MIDOMINIO

Es importante que se tenga en consideración la estrucutra de nuestro arbol de Directorio, ya que esta misma estrucutra podrá ser utilizada al configurar otras aplicaciones para que interactuen conel directorio LDAP.

Las herramientas smbldap-populate crean 5 grupos locales (built-in): Account Operators, Administrators, Backup Operators, Print Operators, Replicators. A estos grupos les agrega elatributo sambaGroupType con el valor 5, el tipo de grupo samba 5 es usado para grupos de dominio y no para grupos locales, para los grupos samba locales debe usar el tipo 4, más informaciónsobre el bug ver el bug 5551 de samba y el bug td18119198 de smbldap-tools.

Use el comando ldapmodify para cambiar los atributos en los dn de los grupos, cree el archivo /tmp/samba-builtin-changetype.ldif con el siguiente contenido:

dn: cn=Account Operators,ou=Groups,dc=midominio,dc=comchangetype: modifyreplace: sambaGroupTypesambaGroupType: 4

dn: cn=Administrators,ou=Groups,dc=midominio,dc=comchangetype: modifyreplace: sambaGroupTypesambaGroupType: 4

dn: cn=Backup Operators,ou=Groups,dc=midominio,dc=comchangetype: modifyreplace: sambaGroupTypesambaGroupType: 4

dn: cn=Print Operators,ou=Groups,dc=midominio,dc=comchangetype: modifyreplace: sambaGroupTypesambaGroupType: 4

Ahora realizamos la modificación con el comando ldapmodify usando el DN cn=admin.

# ldapmodify -h localhost -x -D "cn=admin,dc=midominio,dc=com" -W -f /tmp/samba-builtin-changetype.ldifEnter LDAP Password:ldapadminmodifying entry "cn=Account Operators,ou=Groups,dc=midominio,dc=com"

modifying entry "cn=Administrators,ou=Groups,dc=midominio,dc=com"

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

42 de 115 05/10/2010 06:42 p.m.

Page 43: 39063342 Configurar Un Servidor Samba y Openldap(2)

modifying entry "cn=Backup Operators,ou=Groups,dc=midominio,dc=com"

modifying entry "cn=Print Operators,ou=Groups,dc=midominio,dc=com"

Despues de haber llenado el directorio con los usuarios y grupos de dominio predeterminados, es necesario reiniciar samba para que tenga conocimiento de la nueva información.

root@ushldap:~# /etc/init.d/samba restart * Stopping Samba daemons [ OK ] * Starting Samba daemons [ OK ]

Verificando la instalación y configuración de Samba y LDAPEn esta sección veremos algunos comandos que nos podrán servir para verificar que las cuentas de samba sean las almacenadas en el directorio ldap, y también se hace una prueba de conexión alservidor samba.

Probando Samba con Cuentas en el Directorio LDAP

El comando pdbedit nos servirá para hacer un listado de usuarios Samba, el comando pdbedit se conectará al servidor LDAP para obtener la información, si todo fue configurado correctamentenos deberá de mostrar los siguiente:

root@ushldap:~# pdbedit -Lroot:0:rootnobody:65534:nobody

Como se vio antes, los usuarios samba deben de estar mapeados al UID de un usuario Unix, en este caso el usuario root Samba esta mapeado al usuario root Unix con UID 0 y el usuario nobodySamba esta mapeado al usuario nobody Unix con UID 65534.

Si deseamos mostrar los detalles de información de un usuario samba usamos el comando pdbedit de la siguiente manera:

root@ushldap:~# pdbedit -Lv rootUnix username: rootNT username: rootAccount Flags: [U ]User SID: S-1-5-21-2911508632-2405292923-4115677068-500Primary Group SID: S-1-5-21-2911508632-2405292923-4115677068-513Full Name: rootHome Directory: \\PDC-SRV\rootHomeDir Drive: H:Logon Script:Profile Path: \\PDC-SRV\profiles\rootDomain: MIDOMINIOAccount desc:Workstations:Munged dial:Logon time: 0Logoff time: neverKickoff time: neverPassword last set: Wed, 14 Jan 2009 10:50:24 CSTPassword can change: Wed, 14 Jan 2009 10:50:24 CSTPassword must change: neverLast bad password : 0Bad password count : 0Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Este comando nos muestra a detalle la información/atributos de una cuenta Samba

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

43 de 115 05/10/2010 06:42 p.m.

Page 44: 39063342 Configurar Un Servidor Samba y Openldap(2)

La cuenta root que se creo en el directorio LDAP, es la que se usará como usuario root local y como administrador de dominio, se debe de cambiar la ruta al $HOME de root y asignarle el shell/bin/bash.

root@ushldap:~# smbldap-usermod -d /root -s /bin/bash root

Listo, podemos continuar.

Verificando el mapeo del grupos unix a grupos Samba

En un sistema controlador de dominio con samba las cuentas de usuario samba deben ser mapeadas a una cuenta unix por cuesetiones de permisos, la configuración anterior ya preparo el mapeopara los grupos de dominio y locales samba, podemos validarlos con el comando net, por ejemplo:

# net groupmap listDomain Admins (S-1-5-21-2911508632-2405292923-4115677068-512) -> Domain AdminsDomain Users (S-1-5-21-2911508632-2405292923-4115677068-513) -> Domain UsersDomain Guests (S-1-5-21-2911508632-2405292923-4115677068-514) -> Domain GuestsDomain Computers (S-1-5-21-2911508632-2405292923-4115677068-515) -> Domain ComputersAdministrators (S-1-5-32-544) -> AdministratorsAccount Operators (S-1-5-32-548) -> Account OperatorsPrint Operators (S-1-5-32-550) -> Print OperatorsBackup Operators (S-1-5-32-551) -> Backup OperatorsReplicators (S-1-5-32-552) -> Replicators

Note que las cuentas de dominio usan el SID del dominio que se configuro en smbldap-tools, las cuentas locales no tienen asignado el SID.

Probando conexiones al servidor Samba usando cuentas en LDAP

Cuando realizamos el llenado el directorio con smbldap-populate se creo la cuenta root mapeada al administrador del dominio, realicemos una prueba de conexión utilizando la cuenta root deldominio, deberemos de utilizar la contraseña que se asigno al llenar el directorio con el comando smbldap-populate y no la contraseña del usuario root local.

root@ushldap:~# smbclient //localhost/netlogon -U rootPassword:dominioadminDomain=[MIDOMINIO] OS=[Unix] Server=[Samba 3.0.28a]smb: \> quitroot@ushldap:~#

Ya que configuramos el uso del archivo /etc/samba/smbusers para el mapeo de usuarios, podremos hacer una prueba utilizando la cuenta Administrator, deberemos de utilizar la mismacontraseña del usuario root.

root@ushldap:~# smbclient //localhost/netlogon -U AdministratorPassword:dominioadminDomain=[MIDOMINIO] OS=[Unix] Server=[Samba 3.0.28a]smb: \> quitroot@ushldap:~#

Si las ultimas dos pruebas no funcionan entonces debe de revisar su configuración y probablemente volver a empezar verificando que todo se haya seguido al pie de la letra.

NOTA: Meter referencia a sección de empezando desde ceros.

Capítulo 7. Configuración de la resolución de Identidades con NSS_LDAPEn los sistemas Unix las cuentas de usuario y grupo son mapeadas a un identificador númerico llamado UID (User ID) y GID (Group ID) respectivamente, esta resolución es llevada a cabo por labiblioteca del sistema NSS (Name Service Switch), la cual es invocada cada vez que algún comando o aplicación tratan con alguna cuestion de permisos o autenticación.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

44 de 115 05/10/2010 06:42 p.m.

Page 45: 39063342 Configurar Un Servidor Samba y Openldap(2)

Por default la bibliteca de sistema NSS realiza la consulta de usuarios, grupos y shadow usando archivos locales, es decir, /etc/passwd, /etc/group y /etc/shadow, ya que nuestro sistema usará undirectorio LDAP para almacenar la información de los usurios y grupos será necesario indicarle a la biblioteca NSS que debe usar un directorio LDAP para obtener información sobre dichasidentidades, es aquí donde entra el paquete nss_ldap, el paquete nss_ldap es un plugin para la biblioteca del sistema NSS para podere realizar la resolución de identidades usando como fuente deorigen un directorio LDAP.

En Debian/Ubuntu el plugin LDAP para la biblioteca NSS es provisto por el paquete libnss-ldap, lo instalaremos en el sistema vía apt:

Para instalar el paquete libnss-ldap, usamos el comando:

root@ushldap:~# apt-get install libnss-ldap

Al instalar el paquete libnss-ldap se instalarán otros paquetes como libpam-ldap que lo utilizaremos en la siguiente sección para configurar la autorización a los servicios del sistema.

El sistema de administración de paquetes apt nos lanzará un asistente para configuración, la configuración del asistente no es exactamente como nosotros la necesitamos, por lo que solocontestaremos las preguntas con cualquier cosa para despues reconfigurar libnss-ldap manualmente.

Deberemos de contestar lo siguiente:

LDAP server Uniform Resource Identifier: ldapi://127.0.0.1

Distinguished name of the search base: dc=midominio,dc=com

LDAP version to use: 3

Make local root Database admin: No

Does the LDAP database require login?: No

Este asistente genero un archivo de configuración /etc/ldap.conf, ya que nosotros crearemos una configuración nueva este archivo lo podemos renombrar.

root@ushldap:~# mv /etc/ldap.conf{,.orig}

Importante

No confundir con el archivo de los clientes LDAP /etc/ldap/ldap.conf.

Despues de respaldar el archivo ldap.conf lo editaremos

root@ushldap:~# vim /etc/ldap.conf

Debera de quedar así:

# Config file for libnss-ldap and libpam-ldap

uri ldap://127.0.0.1/ldap_version 3

base dc=midominio,dc=com

pam_filter objectclass=posixAccountpam_login_attribute uidpam_member_attribute memberuid

pam_password exop

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

45 de 115 05/10/2010 06:42 p.m.

Page 46: 39063342 Configurar Un Servidor Samba y Openldap(2)

nss_base_passwd ou=Users,dc=midominio,dc=com?onenss_base_passwd ou=Computers,dc=midominio,dc=com?onenss_base_shadow ou=Users,dc=midominio,dc=com?onenss_base_group ou=Groups,dc=midominio,dc=com?one

bind_policy softnss_initgroups_ignoreusers backup,bin,daemon,dhcp,games,gnats,irc,klog,libuuid,list,lp,mail,man,news,openldap,proxy,sshd,sync,sys,syslog,uucp,www-data

Los permisos del archivo /etc/ldap.conf deben de ser 644, como se muestra a continuación:

root@ushldap:~# ls -l /etc/ldap.conf-rw-r--r-- 1 root root 467 2008-06-18 23:37 /etc/ldap.conf

Para que el servicio de resolución de entidades en realidad pueda obtener la información del directorio LDAP, deberemos de modificar el archivo /etc/nsswitch.conf y modificar las entradaspara las entidades: passwd, group y shadow.

Antes de modificar el archivo de configuración de resolución de entidades haremos una copia de seguridad:

root@ushldap:~# cp /etc/nsswitch.conf{,.FILES}

Ahora editamos el archivo para decirle que para obtener la información de usuarios, grupos también consulte el directorio LDAP especificado en el archivo /etc/ldap.conf.

root@ushldap:~# vim /etc/nsswitch.conf

Cambiar:

passwd: compatgroup: compatshadow: compat

Por:

passwd: compat ldapgroup: compat ldapshadow: compat ldap

hosts: files wins dns

Nota

También aprovechamos para que la resolución de nombres de hosts incluya al servidor WINS incorporado con Samba para resolver nombres netbios.

Despues de guardar los cambios haremos unas pruebas con el comando getent para verificar que si este haciendo las consultas al directorio LDAP.

Verificando la resolución de usuarios:

root@ushldap:~# getent passwd | grep rootroot:x:0:0:root:/root:/bin/bashroot:x:0:0:Netbios Domain Administrator:/root:/bin/bash

En la salida del comando anterior deberemos de ver dos resultados para root, una fue obtenida del archivo /etc/passwd y otra del directorio LDAP.

Ahora haremos una prueba para que podamos obtener la lista de grupos tanto del archivo /etc/group como del directorio LDAP.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

46 de 115 05/10/2010 06:42 p.m.

Page 47: 39063342 Configurar Un Servidor Samba y Openldap(2)

root@ushldap:~# getent group | grep -E 'root|Domain'root:x:0:Domain Admins:*:512:rootDomain Users:*:513:Domain Guests:*:514:Domain Computers:*:515:

En la salida del comando anterior la entrada para el grupo root fue obtenida del archivo /etc/group y las entradas de los grupos Domain XXXX fueron obtenidas del directorio LDAP.

Podemos utilizar el comando id para verificar que la resolución de entidades muestre a que grupos pertenece el usuario root.

Inicie una nueva sesión como root en el equipo ya sea por ssh o localmente en una TTY, y despues ejecute lo siguiente:

root@ushldap:~# id rootuid=0(root) gid=0(root) groups=0(root),512(Domain Admins)

En este caso, el usuario root pertenece al grupo 512 (Domain Admins) que esta en el directorio LDAP.

Capítulo 8. Configuración de la Autenticación con PAM_LDAPTabla de contenidos

Introducción a los Modulos de Autenticación PAMRespaldando la configuración de PAMConfigurando los modulos de autenticación de PAM

Configuración del modulo authConfiguración del modulo accountConfiguración del modulo sessionConfiguración del modulo passwordInstalando el modulo Cracklib de PAM

Probando la autenticación de usuarios de sistema vía PAM_LDAP

Introducción a los Modulos de Autenticación PAMQue es PAM?

PAM son las siglas de Plugable Authentication Modules que basicamente es un mecanismo flexible para autenticar usuarios.

Cada linea de los archivos de configuración de PAM contiene tres columnas más argumentos opcionales, a continuación se muestra un ejemplo:

password requisite pam_unix.so nullok obscure md5

A continuación se explica que es cada elemento:

password

La primer columna sirve para indicar el tipo de modulo de autenticación

requisite

La segunda columna (Control Flag) sirve para indicarle a PAM como es que debe de actuar d

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

47 de 115 05/10/2010 06:42 p.m.

Page 48: 39063342 Configurar Un Servidor Samba y Openldap(2)

pam_unix.so

La tercer columna se usa para especificar el nombre del modulo a usar

nullok obscure md5

La cuarta columna (opcional) sirve para especificar argumentos a los modulos.

La siguiente tabla muestra los la estrucutra de de una configuración de PAM

METER OTRA TABLA con la misma info, igual en diagrama.

A continuación se describe cada una de las columnas involucradas en las configuraciones de PAM:

Tipos de Modulos

Hay cuatro tipos de modulos PAM que a continuación se describen.

authentication (autenticaci´n)

Tareas encaminadas a comprobar que, efectivamente, o el usuario es realmente quien dice ser. A menudo, cuando se habla de PAM, s lo o se tiene en cuenta esta tarea, ignorando lasdem´s. Estas tareas ofrecen incluso un a sistema de credenciales que permiten al usuario ganar ciertos privilegios —jados por el administrador—.

Estos modulos proveen dos formas de autenticar el usuario.

Primero, los modulos establecen que el usuario es quien dice ser instruyendo la aplicacion (servicio) que le pregunte al usuario una contraseña u otro mecanismo de identificación.

Segundo, el modulo puede otorgar membrecia a un grupo u otros privilegios a traves de las propiedades de las credenciales del usaurio.

account (cuenta)

En este grupo se engloban tareas que no est´n relacionadas a directamente con la autenticaci´n. Algunos ejemplos son permitir/denegar el acceso o en funci´n de la hora, los recursosdisponibles o, incluso, la localizaci´n. Ofrece o o vericaci´n de cuentas de usuario. Por ejemplo, se encarga de determinar si el usuario o tiene o no acceso al servicio, si su contrase˜aha caducado, etc. n

Estos modulos realizan nonauthentication based account management.

Estos modulos son tipicamente usados para restringuir o permitir el acceso a un servicio basado en la hora del día, los recursos del sistemas actualmente disponibles (máximo númerode usuarios) o quizaso quizas la localización de el usuario ( por ejemplo, para limitar el login al usuario root en la consola).

password (contraseña)

Se encarga de mantener actualizado el elemento de autenti- n caci´n asociado a cada usuario —por ejemplo, su contrase˜a—. Acciones como o n comprobar la fortaleza de una claveson t ıpicas de este grupo.

Este último tipo de modulo es requerido para actualizar el token de autenticación asociado a un usuario.

session (sesión)

En este grupo se engloban tareas que se deben llevar a cabo antes o de iniciarse el servicio y despu´s de que este nalice. Es especialmente util para e mantener registros de acceso ohacer accesible el directorio home del usuario.

Estos modulos estan asociados a las realización de tareas que necesitas que sean hechas para el usuario antes de que se le pueda dar acceso a un servicio o despues de que el servicioha sido provisto.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

48 de 115 05/10/2010 06:42 p.m.

Page 49: 39063342 Configurar Un Servidor Samba y Openldap(2)

Tales tareas incluyen registrar (logging) información correspondiente al usuario, montar directorios, and the opening and closing o f some data exchange with another user.

Banderas de Control (Control Flags)

Modulo

Argumentos (opcional)

Respaldando la configuración de PAMYa que la configuración de PAM y sus modulos es muy importante, y cualquier configuración mal hecha podría causar que ya no podamos iniciar sesión localmente ( ni como root), haremos unrespaldo antes de realizar nuestras modificaciones:

Todas las configuraciones de PAM estan en el directorio /etc/pam.d/, respaldaremos todo el directorio

root@ushldap:~# cp -va /etc/pam.d{,.FILES}

Nuestro respaldo tendrá el sufijo .FILES para indicar que son las configuraciones que usan los archivos /etc/passwd, /etc/group y /etc/shadow.

Configurando los modulos de autenticación de PAM

Configuración del modulo auth

Configurar los archivos de acuerdo a:

root@ushldap:~# cat /etc/pam.d/common-authauth sufficient pam_unix.so likeauth nullokauth sufficient pam_ldap.so use_first_passauth required pam_deny.so

Configuración del modulo account

config de

root@ushldap:~# cat /etc/pam.d/common-accountaccount required pam_unix.soaccount sufficient pam_ldap.so

Configuración del modulo session

Connfigurando la Autorización (Authz) con PAM LDAP:

root@ushldap:~# cat /etc/pam.d/common-sessionsession required pam_unix.sosession optional pam_ldap.so

Configuración del modulo password

root@ushldap:~# cat /etc/pam.d/common-passwordpassword required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3password sufficient pam_unix.so nullok use_authtok md5 shadow

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

49 de 115 05/10/2010 06:42 p.m.

Page 50: 39063342 Configurar Un Servidor Samba y Openldap(2)

password sufficient pam_ldap.so use_authtokpassword required pam_deny.so

Instalando el modulo Cracklib de PAM

En el modulo de autenticación password especificamos que es requerido el uso de pam_cracklib, cracklib es un conjunto de bibliotecas que nos servirán para verificar que las contraseñassuministradas por usuarios unix sean lo suficientemente fuertes, el chequeo lo hace contra un diccionario de palabras, así, si un usuario ingresa una contraseña basada en alguna palabra deldiccionario cracklib nos alertará. Por medio del modulo pam_cracklib tambien podemos especificar el tamaño minimo de una contraseña.

Para instalar el modulo pam_cracklib, instalaremos el paquete libpam-cracklib, así:

root@ushldap:~# apt-get install libpam-cracklib

Probando la autenticación de usuarios de sistema vía PAM_LDAPCrear usuario con smbldap-useradd

root@ushldap:~# smbldap-useradd -m -P jmedinaChanging UNIX password for jmedinaNew password:123456Retype new password:123456

Nota

Para más información de como crear cuentas unix con las herramientas smbldapt-tools ver la Sección Administración de cuentas Unix y Samba vía smbldap-tools.

Mostrando la información del nuevo usuario:

root@ushldap:~# smbldap-usershow jmedinadn: uid=jmedina,ou=Users,dc=midominio,dc=comobjectClass: top,person,organizationalPerson,inetOrgPerson,posixAccount,shadowAccountcn: jmedinasn: jmedinagivenName: jmedinauid: jmedinauidNumber: 1008gidNumber: 513homeDirectory: /home/jmedinaloginShell: /bin/bashgecos: System UsershadowLastChange: 14049userPassword: {SSHA}dFAiW/BAWzSnLVuQXfrtN3Ne/RxHSlgz

Verificando resolución de identidades:

root@ushldap:~# id jmedinauid=1002(jmedina) gid=513(Domain Users) groups=513(Domain Users)

Verificando que no existe localmente (archivos)

root@ushldap:~# grep jmedina /etc/passwd

Probando la autenticación pam con pamtest

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

50 de 115 05/10/2010 06:42 p.m.

Page 51: 39063342 Configurar Un Servidor Samba y Openldap(2)

Instalando

root@ushldap:~# apt-get install libpam-dotfile

Progando

root@ushldap:~# pamtest passwd jmedinaTrying to authenticate <jmedina> for service <passwd>.Password:123456Authentication successful.

hacer prueba de ssh

root@ushldap:~# ssh jmedina@localhostjmedina@localhost's password:Linux ushldap 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686

The programs included with the Ubuntu system are free software;the exact distribution terms for each program are described in theindividual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted byapplicable law.

To access official Ubuntu documentation, please visit:http://help.ubuntu.com/Last login: Thu Jun 19 18:16:12 2008 from localhost

jmedina@ushldap:~$ pwd/home/jmedina

Verificando que los UID y GID sean consistentes con los del LDAP:

jmedina@ushldap:~$ iduid=1008(jmedina) gid=513(Domain Users) groups=513(Domain Users)

Probando crear archivos y directorios y ver que reporte los UID y GID en los archivos y dirs creados:

jmedina@ushldap:~$ mkdir DirPruebajmedina@ushldap:~$ touch ArchivoPruebajmedina@ushldap:~$ ls -ltotal 4-rw-r--r-- 1 jmedina Domain Users 0 2008-07-17 21:24 ArchivoPruebadrwxr-xr-x 2 jmedina Domain Users 4096 2008-07-17 21:24 DirPrueba

El usuario puede cambiar su propia contraseña desde un shell usando el comando passwd.

jmedina@ushldap:~$ passwdEnter login(LDAP) password:123456New UNIX password:NuevaContraseñARetype new UNIX password:NuevaContraseñALDAP password information changed for jmedinapasswd: password updated successfullyjmedina@ushldap:~$

Nota

Recuerde que el comando passwd esta ligado a la bilioteca NSS y NSS a su vez con LDAP y realizará una operación de cambio de contraseña en el directorio LDAP.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

51 de 115 05/10/2010 06:42 p.m.

Page 52: 39063342 Configurar Un Servidor Samba y Openldap(2)

Si utiliza una nueva contraseña debil el sistema (con ayuda de pam_cracklib) le notificará, por ejemplo:

$ passwdEnter login(LDAP) password:New UNIX password:BAD PASSWORD: it is based on your usernameNew UNIX password:BAD PASSWORD: it is too simplistic/systematicNew UNIX password:BAD PASSWORD: it is based on a dictionary wordpasswd: Authentication token manipulation errorpasswd: password unchanged

Capítulo 9. Migración de usuarios y grupos Unix/Posix al directorio LDAPTabla de contenidos

Migración de Usuarios (/etc/passwd y /etc/shadow)Migración de Grupos (/etc/group)

En este cápitulo explicaremos como migrar las cuentas locales de sistema (/etc/passwd) y los grupos locales (/etc/group) a nuestro directorio LDAP.

En Ubuntu no se incluyen las herramientas necesarias para migrar cuentas Unix a LDAP, sin embargo, estas herramientas estan como ejemplos en el directorio /usr/share/doc/smbldap-tools/examples/migration_scripts/, necesitaremos copiar estas herramientas a /usr/sbin/, lo haremos así:

Instalando el script para migrar cuentas unix:

root@ushldap:~# zcat /usr/share/doc/smbldap-tools/examples/migration_scripts/smbldap-migrate-unix-accounts.gz > \/usr/sbin/smbldap-migrate-unix-accounts

Instalando el script para migrar grupos Unix:

root@ushldap:~# zcat /usr/share/doc/smbldap-tools/examples/migration_scripts/smbldap-migrate-unix-groups.gz > \/usr/sbin/smbldap-migrate-unix-groups

Ahora le configuraemos los permisos a estos dos scripts para que puedan ser ejecutados sin probleas:

root@ushldap:~# chmod 755 /usr/sbin/smbldap-migrate-unix-*

Y por último verificamos que los permisos se hayan puesto correctamente:

root@ushldap:~# ls -l /usr/sbin/smbldap-migrate-unix-*-rwxr-xr-x 1 root root 11640 2008-07-18 00:49 /usr/sbin/smbldap-migrate-unix-accounts-rwxr-xr-x 1 root root 5533 2008-07-18 00:50 /usr/sbin/smbldap-migrate-unix-groups

Ahora que ya tenemos los scripts para migrar cuentas locales al directorio LDAP seguiremos con las secciones para migrar cuentas y grupos.

Migración de Usuarios (/etc/passwd y /etc/shadow)La información de cuentas de usuario estan almacenadas en el archivo /etc/passwd, y en el archivo /etc/shadow principalmente esta almacenado el hash de la contraseña del usuario. Migraremosla información de ambos archivos siguiendo el siguiente procedimiento:

Hacer una copia de los archivos /etc/passwd y /etc/shadow en un directorio temporal:1.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

52 de 115 05/10/2010 06:42 p.m.

Page 53: 39063342 Configurar Un Servidor Samba y Openldap(2)

root@ushldap:~# cp /etc/passwd /etc/shadow /tmp/

Eliminar de ambos archivos todas las cuentas que no quieras importar en el directorio LDAP

root@ushldap:~# for user in root nobody bin daemondoexport userperl -i -pe’s@^$ENV{user}:(.*)\n@@’ /tmp/passwdperl -i -pe’s@^$ENV{user}:(.*)\n@@’ /tmp/shadowdone

2.

Ahora migramos las cuentas de /tmp/passwd y /tmp/shadow a nuestro directorio:

root@ushldap:~# smbldap-migrate-accounts -a -P /tmp/passwd -S /tmp/shadow

Nota

Con la opción -a de smbldap-migrate-accounts, el atributo sambaSAMAccount será agregado a los usuarios importados. Todos los usuarios que previamente teníandefinido un shell valido en /etc/passwd entonces serán capaces de conectarse a el servidor y actualizar su contraseña Windows usando el script /usr/sbin/smbldap-passwd ó el comando passwd.

3.

Eliminando los archivos temporales

root@ushldap:~# rm -i /tmp/passwd /tmp/shadowrm: remove regular file `/tmp/passwd'? yrm: remove regular file `/tmp/shadow'? y

4.

En la siguiente sección veremos como migrar los grupos.

Migración de Grupos (/etc/group)Ahora migraremos los grupos de el archivo /etc/group. El proceso de Migración deberá de hacerse como sigue:

Hacer una copia del archivo /etc/grooup a un directorio temporal:

root@ushldap:~# cp /etc/group /tmp/

1.

Elimina todos los grupos que no quieres que se importen al directorio LDAP

root@ushldap:~# for group in root bin daemondoexport groupperl -i -pe’s@^$ENV{group}:(.*)\n@@’ /tmp/groupdone

2.

Ahora si migramos los grupos al directorio LDAP

root@ushldap:~# smbldap-migrate-groups -a -G /tmp/group

3.

Eliminando el archivo temporal

root@ushldap:~# rm -i /tmp/grouprm: remove regular file `/tmp/group'? y

4.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

53 de 115 05/10/2010 06:42 p.m.

Page 54: 39063342 Configurar Un Servidor Samba y Openldap(2)

Nota

Con la opción -a de smbldap-migrate-groups, el atributo sambaGroupMapping será agregado a los grupos de manera que ellos podrán ser usados como gruposWindows (entonces Samba mapeara los grupos Unix a los grupos Windows). Deberías de eliminar esta opción si no deseas hacer el mape de grupos unix a windows.

Podemos usar el comando getent para verificar que los usuarios y grupos migrados esten en el directorio LDAP.

Capítulo 10. Administración de cuentas Unix y Samba vía smbldap-toolsTabla de contenidos

IntroducciónAtributos predenidos para la creación de usuariosCreación de cuentas de usuarioEliminación de cuentas de usuariosCambiando la contraseña de un usuarioModificación de cuentas de usuarioAdministración de Grupos de Sistema y Grupos Samba

Agregando GruposEliminando GruposAgregando usuarios a GruposEliminando Usuarios de Grupos

En este capitulo veremos los comandos y archivos involucrados en la administración de usuarios y grupos tanto unix como samba, para cada comando veremos las opciones disponibles con sudescripción y ejemplos de como utilizarlos para casos reales.

IntroducciónNormalmente la información de las cuentas de usuario y grupos de sistema (Posix) y Samba están almacenadas en una serie de archivos comunes, como /etc/passwd, /etc/group, /etc/shadowy /etc/samba/smbpasswd, pero en esta instalación toda esta información esta almacenada en una base de datos de usuarios y grupos centralizada, es decir, en un directorio LDAP.

Para administrar los usuarios y grupos ya no podremos utilizar las herramientas ordinarias como: useradd, passwd, groupadd, etc, en su lugar usaremos las herramientas smbldap-tools, estasherramientas están especialmente diseñadas para administrar usuarios y grupos de sistema y samba almacenados en un directorio LDAP.

A continuación se describirán estas herramientas para realizar las tareas comunes de administración de usuarios y grupos.

Atributos predenidos para la creación de usuariosLas herramientas smbldap-tools tienen algunos archivos de conguración que son usados para congurar las cuentas en el directorio LDAP, además se pueden establecer valores predenidos paraalgunos atributos de cuentas y grupos, tanto Posix como Samba. El archivo principal de conguración de las smbldap-tools es: /etc/smbldap-tools/smbldap.conf. Este archivo fue generadoen el cápitulo Configuración de Samba y las herramientas smbldap-tools en la sección Instalación y Configuración de las smbldap-tools.

Creación de cuentas de usuarioPara la administración de usuarios, en especico agregar usuarios, usaremos el comando smbldap-useradd. Una lista de las opciones que podemos usar a la hora de crear usuarios se muestran enla siguiente tabla. Como ya vimos arriba, muchas opciones las podemos predeterminar en el archivo /etc/smbldap-tools/smbldap.conf, algunas cadenas que inician con $ se reeren aparámetros ó variables denidas en archivo de conguración /etc/smbldap-tools/smbldap.conf.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

54 de 115 05/10/2010 06:42 p.m.

Page 55: 39063342 Configurar Un Servidor Samba y Openldap(2)

Tabla 10.1. Tabla de opciones disponibles para el comando smbldap-useradd

Opción Descripción Ejemplo Valor Predeterminado-a Crea una cuenta Windows, si no se especifica esta opción el comando smbldap-useradd solo creará una cuenta Unix/POSIX -w Crea una cuenta de Computadora Windows (Windows Workstation)

-u Establece el valor del User ID (UID) del usuario -u 1003 Primer ó siguiente UIDdisponible

-g Estable el valor para el Group ID (GID). Este será el grupo primario del usuario -g 1003 Primero ó siguiente GIDdisponible

-G Agrega la cuenta a uno o más grupos suplementarios (Secundarios), si se van a establecer varios grupos suplementarios, cadanombre de grupo va seprado por coma. -G 512,550

-d Establece la ruta del directorio $HOME del usuario -d /var/usuario $userHomePrefix/usuario

-s Estable el shell de login para el usuario -s /bin/ksh $userLoginShell

-c Establece el campo gecos del la cuenta de usuario, preferiblemente usar -N y -S para asignar Nombre y Apellido -c "UsuarioAdministrador" $userGecos

-m Crea el directorio $HOME para el nuevo usuario y copia el contenido de /etc/skel dentro del directorio. -P Al terminar el comando smbldap-useradd, smbldap-passwd es invocado para establecer la contraseña del usuario -A El usuario puede cambiar su contraseña: 0 = No, 1 = Sí -A 1 -B El usuario debe cambiar su contraseña la primer vez que inicia sesión: 0 = No, 1 = Sí -B 1 -C Establece la ruta para el recurso compartido homes en el servidor Samba, usado por la opción -D -C \\PDC\homes $userSmbHome

NOTA: Si se desea desactivar el mapeo del directorio home en el servidor al usuario, se asigna un valor vacío: -C ""

-D Estable la letra de la unidad de red con la que se mapeará el $HOME del usuario en el servidor (-C) al usuario cuando iniciesesión en el dominio. NOTA: Hay que agregar los ":" (dos puntos) al final de la letra. -D H: $userHomeDrive

NOTA: Si no se desea mapear el home del usaurio, debemos de asignar un valor vacío. -D ""

-F Establece la ruta al directorio (el el servidor) del perfil de Windows para uso con perfiles móviles (Roaming Profiles) -F \\PDC\profiles\usuario $userProfile

NOTA: Si no se desea activar el uso de roaming profiles para el usuario se debe de asignar un valor vacio. -F "" -N Establece el nombre canónico del usuario -N Juan -S Establece el surname (apellido) del usuario -S Perez

Por ejemplo, Agregaremos uno usuario a Usuario Red 1 con el login usuariored1 el cual:

Es un usuario de Windows (-a)

El grupo primario del usuario será el grupo con el GID 512 (Domain Users) (-g)

Tiene un directorio home en /home/usuariored1 (-d)

No tiene un login shell (-s)

La cuenta NO tendrá soporte para perles móviles (roaming proles) (-F "")

Y al nal del comando se preguntará la contraseña del usuario (-P)

El nombre canónico es Juan (-N)

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

55 de 115 05/10/2010 06:42 p.m.

Page 56: 39063342 Configurar Un Servidor Samba y Openldap(2)

El apellido es Red 1 (-S)

Lo hacemos con el siguiente comando:

root@ushldap:~# smbldap-useradd -a -g 512 -m -N "Usuario" -S "Red 1" -s /bin/false -d /home/usuariored1 -F "" -P usuariored1Changing UNIX and samba passwords for usuariored1New password:CONTRASEÑADEUSUARIORED1Retype new password:CONTRASEÑADEUSUARIORED1

Ya que algunos atributos ya los predenimos, entonces podemos obviarlos y ejecutar:

root@ushldap:~# smbldap-useradd -a -m -P usuariored1Changing UNIX and samba passwords for usuariored1New password:CONTRASEÑADEUSUARIORED1Retype new password:CONTRASEÑADEUSUARIORED1

Digamos que para agregar un usuario que solo sera usado para ejecutar comandos administrativos y agregar maquinas al dominio, entonces deberá de pertenecer al grupo Domain Admins:Ejecutamos:

root@ushldap:~# smbldap-useradd -a -m -G 512 -s /bin/bash -P usuarioadminChanging UNIX and samba passwords for usuarioadminNew password:CONTRASEÑADEUSUARIOADMINRetype new password:CONTRASEÑADEUSUARIOADMIN

Nota

Para conocer acerca de las demás opciones del comando smbldap-useradd ver la página del manual del comand smbldap-useradd(8).

Hay opciones como -C, -D, -E y -F que sería mejor desactivarlas de forma global en el archivo /etc/smbldap-tools/smbldap.conf.

Para ver como configurar los privilegios para que usuarioadmin pueda unir maquinas al dominio ver la sección Delegando tareas y privilegios a los miembros del dominio.

Eliminación de cuentas de usuariosPara eliminar una cuenta de usuario, se usa el comando smbldap-userdel. Una lista de opciones disponibles son:

Tabla 10.2. Tabla de opciones disponibles para el comando smbldap-userdel

Opción Descripción-r Elimina el directorio $HOME del usuario-R Elimina el directorio $HOME del usuario de forma interactiva

Si deseas eliminar la cuenta usuariored1 del directorio LDAP, y si también deseas eliminar el directorio $HOME, usa el siguiente comando:

root@ushldap:~# smbldap-userdel usuariored1

Aviso

El usar la opción -r es peligroso ya que puede eliminar datos importantes del usaurio, usalo con cuidado.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

56 de 115 05/10/2010 06:42 p.m.

Page 57: 39063342 Configurar Un Servidor Samba y Openldap(2)

Cambiando la contraseña de un usuarioPara cambiar la contraseña de un usuario usamos el comando smbldap-passwd como se muestra en el siguiente ejemplo:

root@ushldap:~# smbldap-passwd usuariored1Changing UNIX and samba passwords for usuariored1New password:NUEVACONTRASEÑADEUSUARIORED1Retype new password:NUEVACONTRASEÑADEUSUARIORED1

Si desea permitir que los usuarios Windows puedan cambiar su contraseña desde el mismo Windows vea la sección Permitiendo que usuarios Windows cambien su contraseña de dominio.

Modificación de cuentas de usuarioPara modicar una cuenta de usuario, usamos el comando smbldap-usermod. Las opciones disponibles están listadas en la siguiente tabla:

Tabla 10.3. Tabla de opciones disponibles para el comando smbldap-usermod

Opción Descricpción Ejemplo

-c Establece el campo gecos del la cuenta de usuario -c "UsuarioAdministrador"

-d Establece la ruta del directorio $HOME del usuario -d /var/user-u Estable el valor del User ID (UD) del usuario -u 1003-g Estable el valor para el Group ID (GID). Este será el grupo primario del usuario -g 1003

-G Agrega la cuenta a uno o más grupos suplementarios (Secundarios), si se van a establecer varios grupos suplementarios, cada nombre de grupo va seprado porcoma. -G 512, 550

-s Estable el shell de login para el usuario -s /bin/ksh-N Estable el nombre canónico del usaurio -S Estable el surname (apellido) del usaurio -P Al terminar el comando smbldap-useradd, smbldap-passwd es invocado para establecer la contraseña del usuario

-a Agrega el objectClass sambaSAMAccount a la cuenta, es decir, le agrega los atributos necesarios para que el usuario pueda conectarse a recursos compartidosen red (SMB/CIFS) y pueda hacer login en el dominio NT/Samba.

-e Establece la fecha de expiración para la contraseña del usuario, (Formato: YYYY-MM-DD HH:MM:SS) -A El usuario puede cambiar su contraseña: 0 = No, 1 = Sí -A 1-B El usuario debe cambiar su contraseña la primer vez que inicia sesión: 0 = No, 1 = Sí -B 1-C Establece la ruta para el recurso compartido homes en el servidor Samba, usado por la opción -D -C \\PDC\homes NOTA: Se se desea desactivar el mapeo del directorio home en el servidor al usuario, se asigna un valor vacío: -C ""

-D Estable la letra de la unidad de red con la que se mapeará el $HOME del usuario en el servidor (-C) al usuario cuando inicie sesión en el dominio. NOTA: Hayque agregar los ":" (dos puntos) al final de la letra. -D H:

NOTA: Si no se desea mapear el home del usaurio, debemos de asignar un valor vacío. -D ""

-E Nombre del script batch (DOS) para ejecutarse al inicio de sesión del usuario. NOTA: La ruta al logon script debe de ser relativa a la ruta del recurso[netlogon] -E common.bat

NOTA: Si no se desea ejecutar un logon script para el usuario se debe de especificar un valor vacío. -E ""

-F Establece la ruta al directorio (el el servidor) del perfil de Windows para uso con perfiles móviles (Roaming Profiles) -F \\PDC\profiles\usuario

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

57 de 115 05/10/2010 06:42 p.m.

Page 58: 39063342 Configurar Un Servidor Samba y Openldap(2)

Opción Descricpción Ejemplo NOTA: Si no se desea activar el uso de roaming profiles para el usuario se debe de asignar un valor vacio. -F ""-I Desabilita (desactiva) la cuenta de usuario -I 1-J Habilita (despues de haber sido desactivada) la cuenta de usaurio -J 1

También puedes usar el comando smbldap-userinfo para actualizar la información del usuario. Este comando también puede ser usado por los usuarios para actualizar su propia información, lainformación que pueden cambiar los usaurios esta listada en la siguiente tabla:

Nota

Si se permite que los usuarios modifiquen su propia información, entonces se deberán de configurar los ACL (Listas de Control de Acceso) apropiadamente en el servidorLDAP.

TODO: POner una nota de que atributos se deben de permitr y alguna otra recomendación.

Tabla 10.4. Tabla de opciones disponibles para el comando smbldap-userinfo

Opción Descipción Ejemplo-f Estable el nombre completo del usuario -f Mi Nombre con Apellidos-w Establece el número telefónico del Trabajo -w 55 44 33 22 11-h Establece el número telefónico de Casa -h 22 11 22 33 44-s Establee el login shell predeterminado del usuario -s /bin/bash

Hay opciones como -C, -D, -E y -F que sería mejor desactivarlas de forma global en el archivo /etc/smbldap-tools/smbldap.conf.

Administración de Grupos de Sistema y Grupos SambaPara la administración de grupos se usarán diferentes comandos que se explican a continuación.

Agregando Grupos

Para agregar un nuevo grupo usaremos el comando smbldap-groupadd. Una lista de opciones disponibles se encuentran en la siguiente tabla:

Tabla 10.5. Tabla de opciones disponibles para el comando smbldap-groupadd

Opción Descipción Ejemplo-a El grupo será automaticamente mapeado a un grupo de Dominio (Windows). El mapeo de GID a SID es automatico.

-g gid Establece el Group ID (GID) del grupo -g 1002-o El GID del grupo no es único. -r

RID-GRUPO Establece el ID Relativo (RID) para el grupo Samba -r 1002

-sSID-GRUPO Establece el SID del grupo a SID-GRUPO -s S-1-5-21-3703471949-

3718591838-2324585696-1002

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

58 de 115 05/10/2010 06:42 p.m.

Page 59: 39063342 Configurar Un Servidor Samba y Openldap(2)

Opción Descipción Ejemplo

-t Establece el tipo de grupo (solo grupos samba), Los valores disponibles son: 2 (domain group), 4 (local group) y 5 (builtingroup). El tipo de grupo predeterminado es el tipo 2 (grupo de dominio). -t 4

-p Imprime el GID a la salida estandar (stdout)

Por ejemplo, si queremos agregar un grupo llamado contabilidad, el cual:

Automaticamente se mapeara a un grupo de Samba (Windows) (-a)

Se le asignará el ID de Grupo (GID) 3000 (-g 3000)

Y le agregaremos el RID 300, al igual que el GID (-r 3000)

Ejecutamos el siguiente comando:

root@ushldap:~# smbldap-groupadd -a -g 3000 -r 3000 contabilidad

Normalmente no es necesario especificar el gid ni el rid manualmente, ya que dejaremos que elija el siguiente disponible, por lo que solamente podemos ejecutar:

root@ushldap:~# smbldap-groupadd -a contabilidad

Para visualizar la información del nuevo grupo podemos usar el comando smbldap-groupshow, por ejemplo:

root@ushldap:~# smbldap-groupshow contabilidaddn: cn=contabilidad,ou=Groups,dc=midominio,dc=comobjectClass: top,posixGroup,sambaGroupMappingcn: contabilidadgidNumber: 1001sambaSID: S-1-5-21-1482872308-118742792-2317756604-3003sambaGroupType: 2displayName: contabilidad

TODO: ????

Eliminando Grupos

Para eliminar grupos, usaremos el comando smbldap-groupdel, por ejemplo, para eliminar el grupo contabilidad usaremos el siguiente comando:

root@ushldap:~# smbldap-groupdel contabilidad

Este comando no requiere de opción alguna.

Agregando usuarios a Grupos

Para agregar un usuario a un grupo usamos el comando smbldap-groupmod, por ejemplo, queremos agregar el usuario jmedina al grupo recién creado contabilidad, usaremos el comando:

root@ushldap:~# smbldap-groupmod -m jmedina contabilidadadding user jmedina to group contabilidad

Si queremos agregar más de un usuario a un grupo deberemos de separar cada nombre de usuario por coma, por ejemplo:

Queremos agregar el usuario miguel, carlos y sara al grupo contabilidad

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

59 de 115 05/10/2010 06:42 p.m.

Page 60: 39063342 Configurar Un Servidor Samba y Openldap(2)

root@ushldap:~# smbldap-groupmod -m miguel,carlos,sara contabilidadadding user miguel to group contabilidadadding user carlos to group contabilidadadding user sara to group contabilidad

Eliminando Usuarios de Grupos

Para eliminar algún usuario mienbro de un grupo usamos el comando:

root@ushldap:~# smbldap-groupmod -x miguel contabilidaddeleting user miguel from group contabilidad

Si queremos eliminar más de un usuario a la vez separamos cada nombre de usuario por coma, como en el siguiente ejemplo:

root@ushldap:~# smbldap-groupmod -x carlos,sara contabilidaddeleting user carlos from group contabilidaddeleting user sara from group contabilidad

Capítulo 11. Tareas de Mantenimiento de OpenLDAP y SambaTabla de contenidos

Cambiar o asignar contraseña al Root DN de OpenLDAPAgregar nuevos indices de atributos en OpenLDAPRespaldar los archivos de configuración de OpenLDAPRespaldar y Restaurar una base de datos de OpenLDAPRespaldando archivos importante de SambaRespaldando el SID del Dominio Samba

En esta sección se describen algunas de las tareas de mantenimiento básicas para el servidor OpenLDAP y Samba.

Cambiar o asignar contraseña al Root DN de OpenLDAPEn OpenLDAP el DN definido en la directiva rootdn del archivo slapd.conf(5) no es sujeto a las restricciones impuestas por las ACLs, ya que esta es una cuenta privilegiada se recomienda quese asigne una contraseña fuerte y que dicha cuenta solo se use para tareas que requieran privilegios elevados.

En nuestro ejemplo en el archivo slapd.conf(5) tenemos nuestra definición de base de datos tenemos las siguientes directivas:

rootdn cn=Manager,dc=example,dc=comrootpw secret

En este ejemplo la contraseña del rootdn esta en texto plano, para cambiarla y protegerla usando un hash criptográfico siga los siguientes pasos:

Genere el hash de la contraseña usando slappasswd:

# slappasswdNew password:Re-enter new password:{SSHA}VanYekdrphCkbjDffLCXbBsxsg3QJBI6

1.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

60 de 115 05/10/2010 06:42 p.m.

Page 61: 39063342 Configurar Un Servidor Samba y Openldap(2)

Nota

El hash predefinido es SSHA, si desea cambiar el tipo de hash use la opción -h para definir un hash diferente, por ejemplo: -h {CRYPT}, para más información vea lapagina del manual de slappasswd(8).

Copie el HASH {SSHA}VanYekdrphCkbjDffLCXbBsxsg3QJBI6 y cambielo en el valor rootpw del archivo slapd.conf(5), por ejemplo:

...rootdn cn=Manager,dc=example,dc=comrootpw {SSHA}VanYekdrphCkbjDffLCXbBsxsg3QJBI6

Importante

Asegurese de que el archivo slapd.conf(5) tenga los permisos adecuados, por ejemplo en Debian/Ubuntu se recomiendan los permisos: root:openldap / 640.

2.

Para que el cambio tome efecto reinicie el servicio LDAP:

# /etc/init.d/slapd restart

Tambien puede mantener la contraseña del rootdn fuera del archivo slapd.conf(5), es decir, puede eliminar la directiva rootpw del archivo slapd.conf(5) y agregar una entrada para el DN en eldirectorio LDAP.

Los beneficios que obtenemos al mantener la entrada el rootdn en el directorio son:

Puede actualizar la contraseña de forma dinamica sin reiniciar el servicio usando una operación de modificación desde cualquier cliente LDAP.

Si olvida la contraseña siempre puede realizar la configuración manual usando slappasswd(8) y slapd.conf(5).

Para mantener la entrada del RootDN en el directorio LDAP siga este procedimiento:

Cree una entrada en el directorio usando el archivo LDIF:

dn: cn=Manager,dc=example,dc=comcn: Managersn: ManagerobjectClass: personobjectClass: topuserPassword: {SSHA}someSSHAdata

1.

Agrega el LDIF usando ldapadd:

# ldapadd -v -x -D "cn=Manager,dc=example,dc=com" -W -h localhost -f rootdn.ldif

2.

Se recomienda que no use la cuenta cn=Manager,dc=example,dc=com en sus tareas de administración de rutina, en su lugar se recomienda que cree una cuenta privilegiada para tales propositos,por ejemplo en Debian/Ubuntu se usa el DN de la cuenta cn=admin,dc=example,dc=com la cual ya tiene los ACLs predefinidos para que tenga permisos completos sobre la base de datospredefinida.

Referencias adicionales:

man slapd.conf(5)

man slapd(8)

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

61 de 115 05/10/2010 06:42 p.m.

Page 62: 39063342 Configurar Un Servidor Samba y Openldap(2)

man slappasswd(8)

man slapadd(8)

OpenLDAP Software 2.4 Administrator’s Guide - Directory Backups

Agregar nuevos indices de atributos en OpenLDAPCuando usa OpenLDAP con backends basados en Berkeley DB por ejemplo el backend tipo hdb debe de tener indexados los atributos más utilizados en las consultas LDAP y así incrementar elrendimiento en las consultas desde las aplicaciones y clientes LDAP, un ejemplo de un atributo no indexado lo podemos ver en los logs de OpenLDAP:

slapd[4164]: <= bdb_equality_candidates: (uniqueMember) not indexed

El mensaje anterior nos muestra que se estan haciendo consultas para el atributo uniqueMember y no esta indexado lo cual se puede reflejar en bajo rendimiento del servicio LDAP.

Para agregar uno o más atributos a la lista de indices para una base de datos en OpenLDAP debe de seguir el siguiente procedimiento:

Agregar definición de indice para los atributos deseados al archivo de configuración del servicio OpenLDAP:

# vim /etc/ldap/slapd.conf

Nota

Estas tareas se realizan sobre distribuciones basadas en Debian como Unbuntu.

Bajo la definición de la base de datos en cuestion agregue los indices:

index memberUid,uniqueMember eq

En este caso agregamos los atributos memberUid y uniqueMember de tipo Equality.

Si solo reinicia el servicio slapd solo se indexarán los atributos para las nuevas entradas, para que los atributos existentes también sean indexados debe detener el servicio slapd y ejecutar elprograma slapindex

1.

Detener servicio slapd:

# invoke-rc.d slapd stop

2.

Indexar los atributos memberUid y uniqueMember:

# slapindex -v memberUid uniqueMember

3.

Re establecer permisos para archivos de bases de datos de slapd:

# chown -R openldap:openldap /var/lib/ldap

4.

Ahora ya puede iniciar el servicio slapd con todos los atributos indexados.

# invoke-rc.d slapd stop

5.

Referencias adicionales:

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

62 de 115 05/10/2010 06:42 p.m.

Page 63: 39063342 Configurar Un Servidor Samba y Openldap(2)

slapindex(8)

FAQ de OpenLDAP sobre Performance Tunning

Respaldar los archivos de configuración de OpenLDAPSe recomienda respaldar los directorios de configuraciones tanto de Samba, OpenLDAP, smbldap-tools, NSS LDAP y PAM.

En la siguiente tabla se muestra una lista:

Tabla 11.1. Directorios de configuración a respaldar

Servicio Archivos y DirectoriosOpenLDAP /etc/ldap/, /etc/default/slapd

Samba /etc/sambasmbldap-tools /etc/smbldap-tools/

libnss-ldap /etc/ldap.conf, /etc/ldap.secret, /etc/nsswitch.confPAM /etc/pam.d

Incluya los archivos y directorios mencionados en la tabla de arriba en su sistema de respaldos.

Respaldar y Restaurar una base de datos de OpenLDAPEn esta sección explicaré como crear una copia de seguridad de una base de datos en un servidor OpenLDAP, generaremos respaldos en frio y en caliente, los respaldos serán generados enformato LDIF. Suponiendo que en el archivo slapd.conf(5) tenemos una definición de base de datos así:

# Specific Backend Directives for hdb:backend hdb# Specific Directives for database #1, of type hdb:database hdb# The base of your directory in database #1suffix "dc=example,dc=com"# Where the database file are physically stored for database #1directory "/var/lib/ldap"

El programa slapcat(8) lee la información de la base de datos en orden secuencial y genera la salida correspondiente en formato LDIF incluyendo atributos de usuario y operacionales, elprograma slapcat solo respaldara las entradas que se leyeron en el momento de la ejecución, si en el momento de que slapcat esta ejecutandose se realiza una operación de escritura sobre algunaentrada dicho cambio no será incluido en el respaldo.

En OpenLDAP las bases de datos de tipo hdb y bdb pueden ser respaldadas mientras el servicio slapd(8) esta en ejecución usando el programa slapcat, a este tipo de respaldo se le llama encaliente.

Si no esta seguro de que no habrá modificacioens en los datos de las bases de datos de OpenLDAP y no sabe si dichos cambios puedan afectar las aplicaciones o clientes LDAP se recomienda quedetenga el servicio slapd antes de generar el respaldo con slapcat, a este tipo de respaldo se le llama en frio.

Para crear un respaldo en frio de una base de datos de OpenLDAP siga el siguiente procedimiento:

Detener el servicio slapd:1.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

63 de 115 05/10/2010 06:42 p.m.

Page 64: 39063342 Configurar Un Servidor Samba y Openldap(2)

# /etc/init.d/slapd stop

Respaldar la base de datos usando el programa slapcat:

# slapcat -b dc=example,dc=com -l respaldo-dc=example,dc=com-`date +%d-%b-%Y`.ldif

El comando slapcat generará un respaldo de la base de datos dc=example,dc=com definida por el parametro -b en el archivo respaldo-dc=example,dc=com-`date +%d-%b-%Y`.ldifdefinido por el parametro -l.

Para crear un respaldo en caliente de una base de datos de OpenLDAP solo ejecute el comando slapcat como en el paso dos del ejemplo anterior.

Se recomienda que el archivo del respaldo sea movido a un lugar fuera del servidor.

2.

Para restaurar la base de datos a partir del archivo LDIF generado por slapcat siga el siguiente procedimiento:

Apagar el servicio slapd:

# /etc/init.d/slapd stop

1.

Limpiar el directorio de base de datos de slapd:

# (cd /var/lib/ldap/; rm -fv alock __db.* *.bdb log.*)

2.

Restaurar directorio a partir del archivo LDIF:

# slapadd -v -b dc=example,dc=com -l respaldo-dc=example,dc=com-`date +%d-%b-%Y`.ldif

3.

Opcionalmente Re indexe todos los atributos:

# slapindex -v

4.

Re establecer permisos al directorio de datos:

# chown -R openldap:openldap /var/lib/ldap

5.

Iniciar el servicio slapd:

# /etc/init.d/slapd start

6.

Y listo, puede usar el comando slapcat para verificar los datos, y no olvide verificar sus aplicaciones cliente.

Referencias adicionales:

El formato LDIF

man slapd.conf(5)

man slapd(8)

man slapcat(8)

man slapadd(8)

OpenLDAP Software 2.4 Administrator’s Guide - Directory Backups

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

64 de 115 05/10/2010 06:42 p.m.

Page 65: 39063342 Configurar Un Servidor Samba y Openldap(2)

Respaldando archivos importante de SambaRespaldar los archivos en el directorio /etc/samba/ y /var/lib/samba/

TODO: Meter ejemplo real: detener samba, crear directorio de respaldos mkdir -p /var/backups/samba/, cp -va /var/lib/samba/* /var/backups/samba/var/lib/samba/, cp -va /etc/samba/*/var/backups/samba/etc/samba/

Respaldando el SID del Dominio SambaEs prudente almacenar el SID de la maquina y/o dominio en un archivo por seguridad, Porque? Porque un cambio en el nombre de la maquina (hostname) o en el nombre de dominio (workgroup)puede resultar en un cambio en el SID. Así, cuando tienes el SID a la mano, es simple restaurarlo. La alternativa sería sufrir el dolor de tener que recuperar los perfiles de los usuarios de escritorioy quizas re-unir todos las maquinas miembras del dominio.

Primero, no olvides almacenar el SID local a un archivo. Es una buena idaa ponerlo en el directorio en el que el archivo smb.conf esta almacenado, un ejemplo simple seria:

root@ushldap:~# net getlocalsid > /etc/samba/MIDOMINIO-SID

Para restaurar el SID usamos el comando:

root@ushldap:~# net setlocalsid S-1-5-21-1482872308-118742792-2317756604

Capítulo 12. Integrando Clientes Windows al Dominio SambaTabla de contenidos

Requerimientos del SistemaConfiguración de los parámetros de red en el equipo Windows

Información necesaria para configurar los parámetros de redConfigurando correctamente los parámetros de redVerificación de los Parámetros de Red

Configuración del nombre de equipo WindowsUniendo el equipo Windows al Dominio SambaComo Iniciar Sesión el Dominio SambaInformación extra para equipos Windows participantes de dominios Samba

Cuenta de equipo creada en el Servidor de DominioViendo los equipos en la red de dominioMapeo de Recurso Compartido HOMES en el equipo localComo compartir una carpeta a usuarios y grupos de red

Para que un equipo con el sistema operativo Windows pueda participar en un dominio de red, sea Samba o NT, el eupo debe de unirse al dominio, el proceso para unir un equipo Windows a unDominio Samba/NT se detalla en los siguientes pasos:

Configurar los parámetros de red

Configuración del nombre de equipo

Unir el equipo al Dominio

En la siguientes secciones se detallarán los pasos antes mencionados.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

65 de 115 05/10/2010 06:42 p.m.

Page 66: 39063342 Configurar Un Servidor Samba y Openldap(2)

Requerimientos del SistemaPara que un equipo Windows pueda ser unido al dominio es necesario que cumpla con los siguientes requerimientos

Debe de ser un sistema operativo Windows XP Profesional, los equipos con Windows Home Edition no pueden participar por completo en un Dominio de Red por lo tanto no se podráutilizar el siguiente procedimiento.

Debe de tener una interfaz de red funcional y tener conectividad con el servidor de PDC.

Se debe de tener una cuenta de usuario con privilegios administrativos en el equipo local, por ejemplo, la cuenta Administrador.

Configuración de los parámetros de red en el equipo WindowsEn esta sección se describe como verificar que los parámetros de red en nuestro equipo Windows estén correctamente configurados.

Información necesaria para configurar los parámetros de red

Antes de unir un equipo Windows al dominio, verificaremos que los parámetros de red estén correctamente configurados.

Es importante que el equipo tenga los siguientes parámetros de red configurados:

Dirección IP: Una dirección IP disponible en el segmento 192.168.1.0/24

Servidor DNS: 192.168.1.1

Servidor WINS: 192.168.1.10

Soporte NetBIOS sobre TCP/IP: El equipo deberá de tener el soporte de NetBIOS sobre TCP/IP Activado.

Configurando correctamente los parámetros de red

Para verificar o cambiar estos parámetros ir a Panel de Control=>Conexiones de Red e Internet=>Conexiones de Red.

Dar click derecho al icono de Conexión de área local, seleccionar el elemento Protocolo Internet (TCP/IP) y dar click en el botón Propiedades

Dentro del cuadro de dialogo Propiedades de Protocolo Internet (TCP/IP) dar click en el botón de Opciones Avanzadas

Figura 12.1. Propiedades de Protocolo Internet (TCP/IP) General

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

66 de 115 05/10/2010 06:42 p.m.

Page 67: 39063342 Configurar Un Servidor Samba y Openldap(2)

En el cuadro de dialogo Configuración avanzada de TCP/IP después damos click en la pestaña de nombre WINS

En esta pestaña vamos a agregar la dirección IP de nuestro servidor WINS (NetBIOS Name Server ó NBNS), para agregar el servidor WINS damos click en el botón Agregar como se muestra enla imagen de abajo.

Figura 12.2. Propiedades de Protocolo Internet (TCP/IP) Configuraciones WINS

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

67 de 115 05/10/2010 06:42 p.m.

Page 68: 39063342 Configurar Un Servidor Samba y Openldap(2)

Agregamos la dirección IP de nuestro servidor Samba WINS como se muestra en la imagen de abajo

Figura 12.3. Propiedades de Protocolo Internet (TCP/IP) Configuraciones WINS - Agregar

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

68 de 115 05/10/2010 06:42 p.m.

Page 69: 39063342 Configurar Un Servidor Samba y Openldap(2)

Después de agregar la dirección IP del servidor WINS damos click en el botón Agregar y el servidor WINS aparecerá en la lista.

Nota

Podemos agregar más de un servidor WINS, el sistema los evaluará en el orden en que aparecen.

Para terminar nuestras configuraciones damos click en el botón Aceptar para regresarnos al cuadro de dialogo de configuraciones avanzadas, estando en el cuadro de dialogo de Propiedades deProtocolo Internet (TCP/IP) General damos click en el botón Aceptar y por ultimo damos click en el botón Cerrar para que nuestros cambios tomen efecto.

Verificación de los Parámetros de Red

Solo para confirmar que la configuración si hay tomado efecto damos doble click sobre el icono de Conexión de área local.

Después damos click en la pestaña Soporte.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

69 de 115 05/10/2010 06:42 p.m.

Page 70: 39063342 Configurar Un Servidor Samba y Openldap(2)

Ahí nos muestra una parte de la configuración de red. damos click en el botón Detalles... para ver la información completa de la configuración de red.

Figura 12.4. Viendo los detalles de la conexión de red

Si después de verificar los detalles de los parámetros de red todo esta bien, entonces podemos continuar con el paso de configuración del nombre de equipo.

Configuración del nombre de equipo WindowsVerificación de nombre de equipo y grupo de trabajo.

Esta es una computadora recién instalada y en el proceso de instalación se le asigno el nombre de equipo: jamdvwxpp

Para verificar el nombre de nuestro equipo vamos al Panel de Control=>Rendimiento y mantenimiento=>Sistema

Estando en el cuadro de dialogo Propiedades del sistema vamos a la pestaña de Nombre de equipo donde veremos algo aśi:

Figura 12.5. Propiedades del sistema, Nombre de Equipo

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

70 de 115 05/10/2010 06:42 p.m.

Page 71: 39063342 Configurar Un Servidor Samba y Openldap(2)

Si se desea cambiar el nombre del equipo (recordar que este nombre será como nos verán en la red), podemos dar click en el botón Cambiar... y nos aparecerá una ventana como la siguiente.

Figura 12.6. Propiedades del sistema, Cambios en el nombre de equipo

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

71 de 115 05/10/2010 06:42 p.m.

Page 72: 39063342 Configurar Un Servidor Samba y Openldap(2)

Se cambia el nombre donde dice Nombre de equipo: y se da click en Aceptar.

El nombre de Grupo de trabajo ó Dominio no es necesario cambiarlo en este paso ya que puede ser cambiado en el proceso de unir la maquina al dominio.

Uniendo el equipo Windows al Dominio SambaPara unir el equipo al dominio podemos usar el Asistente para identificación de red el cual nos llevará paso a paso en el proceso para que el equipo sea un miembro del dominio de redSamba/NT.

Lanzamos el asistente de identificación de red dando click en el botón Id. de red.

Figura 12.7. Usando el Asistente de Identificación de red

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

72 de 115 05/10/2010 06:42 p.m.

Page 73: 39063342 Configurar Un Servidor Samba y Openldap(2)

La primer pantalla nos da la bienvenida al asistente para conectar el equipo a una red.

Figura 12.8. Asistente de identificación de red, paso 1

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

73 de 115 05/10/2010 06:42 p.m.

Page 74: 39063342 Configurar Un Servidor Samba y Openldap(2)

Para continuar con el asistente damos click en el botón Siguiente >

El siguiente paso nos pregunta que tipo de equipo tenemos, en nuestro caso seleccionamos la opción que dice: El equipo forma parte de una red organizativa y lo utilizo para conectarme aotros equipos en el trabajo y damos en el botón Siguiente > para continuar.

Figura 12.9. Asistente de identificación de red, paso 2

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

74 de 115 05/10/2010 06:42 p.m.

Page 75: 39063342 Configurar Un Servidor Samba y Openldap(2)

En el siguiente paso nos pregunta el tipo de red de nuestra organización, elegimos la opción: Mi compañia utiliza una red con dominio y damos click en el botón Siguiente >.

Figura 12.10. Asistente de identificación de red, paso 3

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

75 de 115 05/10/2010 06:42 p.m.

Page 76: 39063342 Configurar Un Servidor Samba y Openldap(2)

En el siguiente paso del asistente nos da un da un resumen de la información de red que necesitamos para unir este equipo al dominio

Figura 12.11. Asistente de identificación de red, paso 4

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

76 de 115 05/10/2010 06:42 p.m.

Page 77: 39063342 Configurar Un Servidor Samba y Openldap(2)

A continuación se muestra la información requerida junto con la información correspondiente a nuestro dominio:

Nombre de usuario: usuariored1

Contraseña de usuario: CONTRASEÑADEUSUARIORED1

Cuenta de usuario del dominio: usuariored1

Es posible que también necesite:

Nombre del equipo: jamdvwxpp

Dominio del equipo: MIDOMINIO

Además necesitaremos la contraseña del usuario root del dominio, esta cuenta será necesaria para poder unir la maquina al dominio y crear la cuenta de computadora correspondiente ajamdvwxpp. Configuramos esta información como se muestra en la siguiente imagen:

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

77 de 115 05/10/2010 06:42 p.m.

Page 78: 39063342 Configurar Un Servidor Samba y Openldap(2)

Figura 12.12. Asistente de identificación de red, paso 5

Después de ingresar la información damos click en el botón Siguiente >.

Al dar click en Siguiente el asistente tratará de encontrar una cuenta de equipo de nombre jamdvwxpp en el dominio MIDOMINIO, si no la encuentra nos mostrará un cuadro como el siguiente,donde nos avisa que no encontró la cuenta de equipo en el dominio, nos pide escribir nuevamente el nombre de equipo y el dominio.

Figura 12.13. Asistente de identificación de red, paso 6

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

78 de 115 05/10/2010 06:42 p.m.

Page 79: 39063342 Configurar Un Servidor Samba y Openldap(2)

Damos click en el botón Siguiente >, ya que la cuenta de equipo no se encontró en el dominio MIDOMINIO, necesitaremos usar una cuenta con privilegios administrativos de dominio y sucontraseña para que por medio del asistente de identificación de red se cree la cuenta de equipo jamdvwxpp en el dominio MIDOMINIO.

Figura 12.14. Asistente de identificación de red, paso 7

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

79 de 115 05/10/2010 06:42 p.m.

Page 80: 39063342 Configurar Un Servidor Samba y Openldap(2)

Ya que no tenemos cuentas con privilegios administrativos de dominio, usaremos la cuenta de root que se creo con smbldap-populate, ingresamos su contraseña y el nombre de dominioMIDOMINIO como se muestra en la imagen de arriba, después damos click en el botón Aceptar para continuar.

Si las credenciales que presentamos fueron correctas, en la siguiente ventana, nos dirá que podemos agregar un usuario al equipo, cuando se agrega un usuario a este equipo se le concede acceso atodos los recursos del equipo y a todos los recursos compartidos en la red.

Figura 12.15. Asistente de identificación de red, paso 8

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

80 de 115 05/10/2010 06:42 p.m.

Page 81: 39063342 Configurar Un Servidor Samba y Openldap(2)

Usaremos el nombre de usuario: usuariored1 y el nombre de dominio: MIDOMINIO, como se muestra en la imagen de arriba y damos click en el botón Siguiente > para continuar.

En la siguiente ventana nos solicita asignar un nivel de acceso que el usuario usuariored1 tendrá sobre el equipo JAMDVWXPP, por defecto esta seleccionado el nivel de acceso: Usuarioestándar.

Figura 12.16. Asistente de identificación de red, paso 9

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

81 de 115 05/10/2010 06:42 p.m.

Page 82: 39063342 Configurar Un Servidor Samba y Openldap(2)

El nivel de acceso Usuario estándar permite que los usuarios pueden cambiar muchas configuraciones del sistema e instalar programas que no afecten a los archivos del sistema de Windows.Digamos que este es el nivel intermedio.

El nivel de acceso Usuario restringido permite que los usuarios pueden utilizar el equipo y guardar documentos, pero no pueden instalar programas o cambiar la configuración del sistema.

En Otros: podemos elegir otros niveles de acceso, por ejemplo, podemos dar acceso de Administrador al usuario, esto quiere decir que el usuario usuariored1 tendrá todos los privilegios sobre elequipo JAMDVWXPP, lo cual significa que puede cambiar configuraciones, puede instalar y desinstalar programas que afecten el sistema, es decir, puede hacer lo que le de la gana sobre elequipo, incluso formatear :D.

Por ahora seleccionamos el nivel de acceso Usuario estándar y damos click en el botón Siguiente > para finalizar.

Figura 12.17. Asistente de identificación de red, Ultimo Paso

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

82 de 115 05/10/2010 06:42 p.m.

Page 83: 39063342 Configurar Un Servidor Samba y Openldap(2)

El último paso nos dice que ya hemos completado con éxito el asistente para identificación de red, y nos solicita re iniciar el equipo para que los cambios tengan efecto. Damos click en el botónFinalizar.

Figura 12.18. Asistente de identificación de red, Re iniciar el equipo

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

83 de 115 05/10/2010 06:42 p.m.

Page 84: 39063342 Configurar Un Servidor Samba y Openldap(2)

Damos click en el botón Aceptar y nos lleva a la siguiente imagen:

Figura 12.19. Asistente de identificación de red, Alerta de re iniciar el equipo

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

84 de 115 05/10/2010 06:42 p.m.

Page 85: 39063342 Configurar Un Servidor Samba y Openldap(2)

Para que los cambios que hicimos en el asistente de identificación de red tenga efecto es necesario re iniciar el equipo, damos click en el botón Aceptar para terminar y re iniciar.

Como Iniciar Sesión el Dominio SambaDespues de reiniciar el equipo nos cambiará la ventana de inicio de sesión a como se muestra a continuación.

Figura 12.20. Inicio de sesión de Windows - Pantalla inicial

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

85 de 115 05/10/2010 06:42 p.m.

Page 86: 39063342 Configurar Un Servidor Samba y Openldap(2)

Para poder iniciar sesión presionamos la combinación de teclas Ctrl+Alt+Supr y nos mostrará una ventana como la siguiente:

Figura 12.21. Inicio de sesión de Windows - Pantalla predeterminada de login

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

86 de 115 05/10/2010 06:42 p.m.

Page 87: 39063342 Configurar Un Servidor Samba y Openldap(2)

Si queremos ver en que equipo o dominio queremos iniciar sesión podemos dar click en el botón "Opciones" y nos mostrará algo así:

Figura 12.22. Inicio de sesión de Windows - Pantalla con opciones activa

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

87 de 115 05/10/2010 06:42 p.m.

Page 88: 39063342 Configurar Un Servidor Samba y Openldap(2)

Nota

Si queremos conectarnos al equipo local, damos click en el menú desplegable de Conectarse a: y elegimos: JAMDVWXPP (este equipo).

Después de iniciar sesión en el dominio el menú de inicio se verá así:

Figura 12.23. Inicio de sesión - Menú inicio

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

88 de 115 05/10/2010 06:42 p.m.

Page 89: 39063342 Configurar Un Servidor Samba y Openldap(2)

Información extra para equipos Windows participantes de dominios Sambaasdfasfd

Cuenta de equipo creada en el Servidor de Dominio

En el lado del servidor se creo una cuenta de equipo llamada jamdvwxpp$, la podemos ver con el comando pdbedit, por ejemplo:

root@ushldap:~# pdbedit -Lroot:0:rootnobody:65534:nobodymiguel:1009:miguelcarlos:1010:carlossara:1011:sarausuariored1:1014:usuariored1usuarioadmin:1015:usuarioadminjamdvwxpp$:1016:JAMDVWXPP$

Si queremos ver queremos ver la información completa de la cuenta de equipo jamdvwxpp$, usamos el siguiente comando:

root@ushldap:~# pdbedit -Lv JAMDVWXPP$Unix username: jamdvwxpp$

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

89 de 115 05/10/2010 06:42 p.m.

Page 90: 39063342 Configurar Un Servidor Samba y Openldap(2)

NT username: jamdvwxpp$Account Flags: [W ]User SID: S-1-5-21-1482872308-118742792-2317756604-1001Primary Group SID: S-1-5-21-1482872308-118742792-2317756604-515Full Name: JAMDVWXPP$Home Directory:HomeDir Drive:Logon Script:Profile Path:Domain: MIDOMINIOAccount desc: ComputerWorkstations:Munged dial:Logon time: 0Logoff time: neverKickoff time: neverPassword last set: 0Password can change: 0Password must change: 0Last bad password : 0Bad password count : 0Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Viendo los equipos en la red de dominio

TODO: METER NOTAS DE COMO VER LOS EQUIPOS DE RED DEL DOMINIO

Mapeo de Recurso Compartido HOMES en el equipo local

Cuando un usuario de dominio inicia sesión en el Dominio, automáticamente se le mapeara el recurso compartido de su home a la unidad H.

Nota

Este comportamiento se especifico globalmente en el archivo /etc/smbldap-tools/smbldap.conf y puede ser cambiado por usuario con el comando smbldap-usermodusando la opción -D ó --sambaHomeDrive .

Figura 12.24. Mapeo de $HOME en Servidor al unidad H: Local

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

90 de 115 05/10/2010 06:42 p.m.

Page 91: 39063342 Configurar Un Servidor Samba y Openldap(2)

El usuario puede usar la unidad H para almacenar documentos personales y estos serán almacenados en su directorio $HOME (/home/usuariored1) en el servidor.

Como compartir una carpeta a usuarios y grupos de red

En esta sección se explicará como un usuario de dominio puede compartir una carpeta en su equipo local a ciertos miembros y grupos del dominio, la carpeta compartida tendrá las siguientescaracteristicas:

La carpeta C:\ParaGrupoContabilidad será compartida

El grupo de dominio contabilidad tendrá acceso total

El usuario de dominio directora tendrá acceso total

El usuario de dominio asistentefinanzas tendrá acceso de solo lectura

Creamos la carpeta ParaGrupoContabilidad en el disco C:\, abajo se ve un ejemplo:

Figura 12.25. Listado Carpeta a compartir

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

91 de 115 05/10/2010 06:42 p.m.

Page 92: 39063342 Configurar Un Servidor Samba y Openldap(2)

Despues damos clic con el botón derecho sobre la carpeta y damos clic en Compartir y seguridad..., esto nos llevará al menú para configurar los parametros para compartir la carpeta, así comolos permisos que tendrán los usuarios y grupos de red.

Configuraremos el nombre de la carpeta y opcionalmente un comentario, como se muestra en la imagen de abajo.

Figura 12.26. Parametros de carpeta compartida

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

92 de 115 05/10/2010 06:42 p.m.

Page 93: 39063342 Configurar Un Servidor Samba y Openldap(2)

Ahora veremos como configurar los controles de acceso que definimos arriba.

Damos clic en el botón Permisos, nos aparecerá el siguiene cuadro de dialogo:

Figura 12.27. Permisos de carpeta compartida

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

93 de 115 05/10/2010 06:42 p.m.

Page 94: 39063342 Configurar Un Servidor Samba y Openldap(2)

Primero agregaremos el grupo contabilidad, el usuario directora y el usuario asistentefinanzas, adelante veremos como asignar lsos permisos a cada uno.

Nota

Los nombres de usuarios y grupos de dominio se deben de escribir usando la siguiente notación:

Nombre de grupo: MIDOMINIO\contabilidad

Nombre de usuario: MIDOMINIO\directora

Damos clic en el botón Agregar.... Y en el recuadro que dice: Escriba los nombres de objecto que desea seleccionar cada uno de los objectos va separado por un punto y coma ;, como semuestra en la imagen de abajo:

Figura 12.28. Seleccionar Usuarios o Grupos

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

94 de 115 05/10/2010 06:42 p.m.

Page 95: 39063342 Configurar Un Servidor Samba y Openldap(2)

Despues damos clic en Aceptar y nos regresa a la venana anterior con los usuarios y gruipos en la lista, como se muestra en la siguiente imagen:

Figura 12.29. Permisos por usuario y gruipo

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

95 de 115 05/10/2010 06:42 p.m.

Page 96: 39063342 Configurar Un Servidor Samba y Openldap(2)

Ahora que ya estan los usuarios y grupos en la lista, seleccionaremos cada uno para asignarle sus permisos.

Asignaremos los permisos de la siguiente forma:

Eliminar el grupo Todos ya que solo se da acceso a algunos miembros del dominio1.

Seleccionar contabilidad (MIDOMINIO\contabilidad) y en el recuadro de abajo seleccionar Control Total

Figura 12.30. Permisos para grupo MIDOMINIO\contabilidad

2.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

96 de 115 05/10/2010 06:42 p.m.

Page 97: 39063342 Configurar Un Servidor Samba y Openldap(2)

Seleccionar directora (MIDOMINIO\directora) y verifique que solo tiene permisos de Leer.

Figura 12.31. Permisos para MIDOMINIO\directora

3.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

97 de 115 05/10/2010 06:42 p.m.

Page 98: 39063342 Configurar Un Servidor Samba y Openldap(2)

Seleccionar asistentefinanzas (MIDOMINIO\asistentefinanzas) y verifique que solo tiene permisos de Leer tal y como se hizo con MIDOMINIO\directora.4.

Para terminar de clic en Aceptar y otra vez en Aceptar para que los cambios tomen efecto.5.

Puede probar directamente desde otra maquina windows en la que hay iniciado sesión algún usuario miembro del grupo contabilidad o también puede hacerlo desde un equpo windows usando elcomando smbclient.

elconta@ushldap:~$ smbclient //jamdvwxpp/contabilidadPassword:Domain=[MIDOMINIO] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]smb: \> mkdir DirElcontasmb: \> ls . D 0 Sun Jan 18 21:42:11 2009 .. D 0 Sun Jan 18 21:42:11 2009 DirElconta D 0 Sun Jan 18 21:42:11 2009

49073 blocks of size 131072. 34249 blocks availablesmb: \>

Como podemos ver nos permitio el acceso y además nos permitio crear un directorio lo cual significa que el permiso de Control Total si funciona.

Capítulo 13. Integrando Clientes Linux/Unix al Dominio SambaTabla de contenidos

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

98 de 115 05/10/2010 06:42 p.m.

Page 99: 39063342 Configurar Un Servidor Samba y Openldap(2)

Información preliminar del equipo cliente LinuxInstalando el software necesario para unir cliente Linux a Dominio LDAPConfigurando la resolución de cuentas de usuario y grupos mediante LDAP en clientes LinuxConfigurando la Autorización de cuentas de usuario y grupos mediante LDAP en clientes Linux con PAM

Configuración del modulo authConfiguración del modulo accountConfiguración del modulo sessionConfiguración del modulo passwordProbando la autorización mediante PAM LDAP en cliente Linux

Configurando resolución de cuentas de dominio mediante SambaAutenticación de usuarios y grupos de dominio Samba en clientes LinuxMontaje automático de carpetas compartidas mediante pam_mountCarpetas compartidas con ACL a usuarios y grupos de dominioAutenticando cuentas de usuario de dominio de forma desconectada

Información preliminar del equipo cliente LinuxExplicar como unir un cliente unix/linux a nuestro dominio.

Tenemos un cliente Linux que tiene su autenticación independiente usando los archivo /etc/passwd, /etc/shadow y /etc/group principalmente

queremos unir este equipo al dominio, es decir, el equipo será un miembro del dominio, y podrá participar en la autenticación centralizada y comunicarse con los otros hosts, sean servidores linuxo windows.

Configurando la resolución de Identidades con NSS_LDAP

Esta máquina se llama LNXDSKT01

Tiene la dirección IP: 192.168.1.81

Configuración de la autenticación de usuarios y grupos UNIX vía PAM_LDAP

VER CAPITULO Configuración de la resolución de Identidades con NSS_LDAP

Instalando el software necesario para unir cliente Linux a Dominio LDAPnstalar el paquete

root@lnxdskt01:~# apt-get install libnss-ldap

Configurando la resolución de cuentas de usuario y grupos mediante LDAP en clientes LinuxPara la resolución de cuentas de usuario y grupos Unix mediante LDAP usaremos el paquete libnss-ldap, la configuración es similar al servidor, solo cambiará la dirección IP del servidor LDAP.

Configuramos el archivo /etc/ldap.conf para libnss-ldap:

# Config file for libnss-ldap and libpam-ldap

uri ldap://192.168.1.10/ldap_version 3

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

99 de 115 05/10/2010 06:42 p.m.

Page 100: 39063342 Configurar Un Servidor Samba y Openldap(2)

scope sub

base dc=midominio,dc=com

pam_filter objectclass=posixAccountpam_login_attribute uidpam_member_attribute memberuid

pam_password exop

nss_base_passwd ou=Users,dc=midominio,dc=comnss_base_passwd ou=Computers,dc=midominio,dc=comnss_base_shadow ou=Users,dc=midominio,dc=comnss_base_group ou=Groups,dc=midominio,dc=com

#bind_policy soft#nss_initgroups_ignoreusers backup,bin,daemon,dhcp,games,gnats,irc,klog,libuuid,list,lp,mail,man,news,openldap,proxy,root,sshd,sync,sys,syslog,uucp,www-data#nss_initgroups_ignoreusers backup,bin,daemon,dhcp,games,gnats,irc,klog,libuuid,list,lp,mail,man,news,openldap,proxy,root,sshd,sync,sys,syslog,uucp,www-data

Cambiamos el archivo de configuración /etc/nsswitch.conf para que utilize la fuente LDAP que recien configuramos:

passwd: compat ldapgroup: compat ldapshadow: compat ldap

hosts: wins files mdns4_minimal [NOTFOUND=return] dns mdns4

Probando la resolución de usuarios vía archivos y LDAP:

root@jmlap:~# getent passwd | grep rootroot:x:0:0:root:/root:/bin/bashroot:x:0:0:Netbios Domain Administrator:/home/root:/bin/false

Tambíen podemos probar la resolución para grupos:

root@jmlap:~# getent group | grep -E 'root|Domain'root:x:0:jmedinaDomain Admins:*:512:rootDomain Users:*:513:Domain Guests:*:514:Domain Computers:*:515:

Si despues de hacer las pruebas anteriores obtienes los mismos resultados significa que la resolución de cuentas de usuario y grupo mediante LDAP esta funcionando correctamente en el sistema.El siguiente paso es la configuración de la autorización mediante PAM y las bibliotecas PAM-LDAP.

Configurando la Autorización de cuentas de usuario y grupos mediante LDAP en clientes Linux con PAMapt-get install libpam-ldap libpam-cracklib

Antes de iniciar con los cambios en la configuración de los modulos de autenticación PAM, haremos un respaldo del directorio /etc/pam.d/

Todas las configuraciones de PAM estan en el directorio /etc/pam.d/, respaldaremos todo el directorio

root@ushldap:~# cd /etc/

Nuestro respaldo tendrá el sufijo .FILES para indicar que son las configuraciones que usan los archivos /etc/passwd, /etc/group y /etc/shadow.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

100 de 115 05/10/2010 06:42 p.m.

Page 101: 39063342 Configurar Un Servidor Samba y Openldap(2)

root@ushldap:~# cp -va pam.d pam.d.FILES

Configuración del modulo auth

Configurar los archivos de acuerdo a:

root@ushldap:~# cat /etc/pam.d/common-authauth sufficient pam_unix.so likeauth nullokauth sufficient pam_ldap.so use_first_passauth required pam_deny.so

Configuración del modulo account

config de

root@ushldap:~# cat /etc/pam.d/common-accountaccount required pam_unix.soaccount sufficient pam_ldap.so

Configuración del modulo session

azdfasf

Connfigurando la Autorización (Authz) con PAM LDAP:

root@ushldap:~# cat /etc/pam.d/common-sessionsession required pam_unix.sosession optional pam_ldap.so

Configuración del modulo password

root@ushldap:~# cat /etc/pam.d/common-passwordpassword required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3password sufficient pam_unix.so nullok use_authtok md5 shadowpassword sufficient pam_ldap.so use_authtokpassword required pam_deny.so

Probando la autorización mediante PAM LDAP en cliente Linux

Configurando resolución de cuentas de dominio mediante SambaAhora configuraremos la Autorización de cuentas de usuarios y grupos LDAP mediante los modulos de autenticación PAM. Para más detalles acerca de la configuración de PAM y LDAP en elcliente Linux seguir los pasos descritos en la sección "Configurando los modulos de autenticación de PAM"

Ahora mostraremos solo los archivos que se modifican.

Autenticación de usuarios y grupos de dominio Samba en clientes LinuxInstalar samba smbclient

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

101 de 115 05/10/2010 06:42 p.m.

Page 102: 39063342 Configurar Un Servidor Samba y Openldap(2)

root@jmlap:~# apt-get install samba smbclient

Ahora creamos el archivo de configuración con el siguiente contenido:

## Archivo de configuración para desktop miembro de dominio#[global]

workgroup = MIDOMINIO netbios name = jmlap server string = jmlap en MIDOMINIO

security = DOMAIN username map = /etc/samba/smbusers

#========== Configuraciones de Red ===========================

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 interfaces = ath0 lo bind interfaces only = Yes smb ports = 139 445

hosts allow = 192.168.1. 127. hosts deny = 0.0.0.0

remote announce = 192.168.1.255 wins server = 192.168.1.10 name resolve order = wins hosts lmhosts bcast

#========= Opciones para registro de eventos (Logging)======

log level = 1 syslog = 0 log file = /var/log/samba/%m.log max log size = 50 utmp = Yes

#========= Opciones para la codificación ===================

Dos charset = 850 Unix charset = ISO8859-1 display charset = ISO8859-1

#========= Configuraciones para LDAP =======================

passdb backend = ldapsam:ldap://192.168.1.10/ ldap admin dn = cn=admin,dc=midominio,dc=com ldap suffix = dc=midominio,dc=com ldap group suffix = ou=Groups ldap user suffix = ou=Users ldap machine suffix = ou=Computers ldap idmap suffix = ou=Idmap idmap backend = ldap:ldap://192.168.1.10/ idmap uid = 10000-20000 idmap gid = 10000-20000 winbind trusted domains only = Yes

Guardamos el archivo y el siguiente paso es agregar la contraseña del admin ldap:

root@jmlap:~# smbpasswd -WSetting stored password for "cn=admin,dc=midominio,dc=com" in secrets.tdb

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

102 de 115 05/10/2010 06:42 p.m.

Page 103: 39063342 Configurar Un Servidor Samba y Openldap(2)

New SMB password:ldapadminRetype new SMB password:ldapadmin

Reiniciamos samba para que los cambios tomen efecto:

root@jmlap:~# /etc/init.d/samba restart * Stopping Samba daemons [ OK ] * Starting Samba daemons [ OK ]

Ahora verificamos que samba pueda leer las cuentas de dominio:

root@jmlap:~# pdbedit -Lroot:0:rootnobody:65534:nobodyelconta:1000:Nombre Contadorasistenteconta:1001:asistentecontadirectora:1002:directorajamdvwxpp$:1003:JAMDVWXPP$asistentefinanzas:1004:asistentefinanzas

Solo como ultima medida verificamos que los UID de samba corresponden a los devueltos por nss-ldap:

root@jmlap:~# id asistentefinanzasuid=1004(asistentefinanzas) gid=1004(finanzas) groups=1004(finanzas)root@jmlap:~# id elcontauid=1000(elconta) gid=1000(contabilidad) groups=1000(contabilidad)

Ahora unimos el equipo samba al dominio con el siguiente comando:

root@jmlap:~# net rpc join -U rootPassword:dominioadminJoined domain MIDOMINIO.

Podemos utilizar el mismo comando net para obtener infomación del dominio al que nos unimos:

root@jmlap:~# net rpc info -U AdministratorPassword:Domain Name: MIDOMINIODomain SID: S-1-5-21-2911508632-2405292923-4115677068Sequence number: 1232322213Num users: 6Num domain groups: 7Num local groups: 0

=

Montaje automático de carpetas compartidas mediante pam_mountEn esta sección veremos como configurar el montaje automático de recurso compartidos en red, como los del servidor samba mediante CIFS.

Con pam_mount podremos bla bla bla bla.

Para poder automontar volumens samba primero instalaremos el paquete pam_mount y despues crearemos una configuración para montar el volumen.

Instalando el paquete pam_mount:

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

103 de 115 05/10/2010 06:42 p.m.

Page 104: 39063342 Configurar Un Servidor Samba y Openldap(2)

$ sudo apt-get install pam_mount

Agregar al archivo de configuración /etc/security/pam_mount.conf.xml las siguientes lineas:

<volume user="jmedina" fstype="cifs" server="truzka" path="jmedina" mountpoint="/home/jmedina/truzka" options="serverino,iocharset=utf8"/>

Configuraciones de Samba para pam_mount

Agregar a /etc/pam.d/common-session:

Al final:

session optional pam_mount.so

Por ejemplo:

session required pam_unix.sosession optional pam_ldap.sosession optional pam_mount.so

Agregar a /etc/pam.d/common-auth:

auth optional pam_mount.so use_first_pass

Por ejemplo:

auth sufficient pam_unix.so likeauth nullokauth sufficient pam_ldap.so use_first_passauth optional pam_mount.so use_first_passauth required pam_deny.so

Con esto, al hacer login gráfico co KDE automaticamente pasará la contraseña al modulo pam_mount y montará el volumen.

podemos ver que el directorio si se haya montado.

//truzka/jmedina on /home/jmedina/truzka type cifs (rw,mand)

No es necesario crear el directorio del punto de montaje manualmente, ya que la configuración de pam_mount creará el directorio automáticamente si no existe. El parametro de configuraciónpara la creación automática de directorios de puntos de montaje es mkmountpoint y esta activada por default en el archivo de conifguración instalado por default en Ubuntu, podemos ver unejemplo de la configuración de mkmountpoint en /etc/security/pam_mount.conf.xml:

<!--Create mountpoint if it does not exist yet. This is a good thing.

If enabled, and a mountpoint was created by pam_mount, the mountpoint willbe removed again on logout. To disable this behavior, use remove="false".--><mkmountpoint enable="1" remove="true" />

Si no esta activado en su sistema cambie enable="0" por enable="1", note que también puede configurar si usted desea que el directorio del punto de montaje sea eliminado automáticamente alcerrar la sesión.

Carpetas compartidas con ACL a usuarios y grupos de dominio

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

104 de 115 05/10/2010 06:42 p.m.

Page 105: 39063342 Configurar Un Servidor Samba y Openldap(2)

==Permitiendo hacer login cuando no hay red o el servidor LDAP esta fuera de linea==

Un problema muy frecuente es que los usuarios no pueden hacer login en su equipo local ya que no tiene red o el servidor LDAP esta fuera de linea y por lo tanto es imposible autenticar elusuario.

Existe la posibilidad de permitir el login disconnected.

Ejemplos para compartir carpetas usando ACLs:

Escenario con un servidor miembro de dominio, el servidor LSFS001 ya esta integrado en el dominio y tiene una partición /finanzas

chown root:finanzas /finanzas

chmod 770 /finanzas

Ver si usar Set GUID, o usarlo desde samba con create mode:

Asignando el ACL por default

setfacl -d -m

Asignando permisos de rwx a al grupo contabilidad

setfacl -m

Asignando permisos de r-x a la directora

Asignando permisos r-x a la asistente de finanzas

Quizas poner ejemplo de una subcarpeta con otros ACL o dejar que los hagan desde windows, un dueño

Escenario para compartir una carpeta en el home del usuario por ejemplo /home/jmedina/Reportes_Tickets

crear directorio

mkdir ~/Reportes_Tickets

Autenticando cuentas de usuario de dominio de forma desconectada

Capítulo 14. Resolución de ProblemasPermisos en /etc/ldap?

Permisos en directorio /var/lib/ldap/

Capítulo 15. Referencias adicionalesOpenLDAP Software 2.4 Administrator's Guide

Capítulo 16. Apendices

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

105 de 115 05/10/2010 06:42 p.m.

Page 106: 39063342 Configurar Un Servidor Samba y Openldap(2)

Tabla de contenidos

El archivo de configuración /etc/ldap/slapd.conf (Servidor slapd)El archivo de configuración /etc/default/slapdEl archivo de configuración /etc/ldap/ldap.conf (Cliente LDAP)El archivo de configuración /etc/smbldap-tools/smbldap_bind.confEl archivo de configuración /etc/smbldap-tools/smbldap.confEl archivo de configuración smb.confEl archivo de configuración /etc/ldap.conf (NSS_LDAP y PAM_LDAP)

Parrafo.

El archivo de configuración /etc/ldap/slapd.conf (Servidor slapd)

El archivo de configuración /etc/default/slapd

El archivo de configuración /etc/ldap/ldap.conf (Cliente LDAP)

El archivo de configuración /etc/smbldap-tools/smbldap_bind.conf

El archivo de configuración /etc/smbldap-tools/smbldap.conf

El archivo de configuración smb.conf

El archivo de configuración /etc/ldap.conf (NSS_LDAP y PAM_LDAP)

Apéndice A. Licencia de Documentación Libre de GNU

Versión 1.2, Noviembre 2002

Tabla de contenidos

PREÁMBULOAPLICABILIDAD Y DEFINICIONESCOPIA LITERALCOPIADO EN CANTIDADMODIFICACIONESCOMBINACIÓN DE DOCUMENTOSCOLECCIONES DE DOCUMENTOSAGREGACIÓN CON TRABAJOS INDEPENDIENTESTRADUCCIÓNTERMINACIÓNREVISIONES FUTURAS DE ESTA LICENCIAADENDA: Cómo usar esta Licencia en sus documentos

This is an unofficial translation of the GNU Free Documentation License into Spanish. It was not published by the Free Software Foundation, and does not legally state the distribution

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

106 de 115 05/10/2010 06:42 p.m.

Page 107: 39063342 Configurar Un Servidor Samba y Openldap(2)

terms for documentation that uses the GNU FDL -- only the original English text of the GNU FDL does that. However, we hope that this translation will help Spanish speakersunderstand the GNU FDL better.

Ésta es una traducción no oficial de la GNU Free Document License a Español (Castellano). No ha sido publicada por la Free Software Foundation y no establece legalmente lostérminos de distribución para trabajos que usen la GFDL (sólo el texto de la versión original en Inglés de la GFDL lo hace). Sin embargo, esperamos que esta traducción ayude loshispanohablantes a entender mejor la GFDL. La versión original de la GFDL esta disponible en la Free Software Foundation.

Esta traducción está basada en una de la versión 1.1 de Igor Támara y Pablo Reyes. Sin embargo la responsabilidad de su interpretación es de Joaquín Seoane.

Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Se permite la copia y distribución de copias literales deeste documento de licencia, pero no se permiten cambios[1].

PREÁMBULOEl propósito de esta Licencia es permitir que un manual, libro de texto, u otro documento escrito sea libre en el sentido de libertad: asegurar a todo el mundo la libertad efectiva de copiarlo yredistribuirlo, con o sin modificaciones, de manera comercial o no. En segundo término, esta Licencia proporciona al autor y al editor[2] una manera de obtener reconocimiento por su trabajo, sinque se le considere responsable de las modificaciones realizadas por otros.

Esta Licencia es de tipo copyleft, lo que significa que los trabajos derivados del documento deben a su vez ser libres en el mismo sentido. Complementa la Licencia Pública General de GNU, quees una licencia tipo copyleft diseñada para el software libre.

Hemos diseñado esta Licencia para usarla en manuales de software libre, ya que el software libre necesita documentación libre: un programa libre debe venir con manuales que ofrezcan la mismaslibertades que el software. Pero esta licencia no se limita a manuales de software; puede usarse para cualquier texto, sin tener en cuenta su temática o si se publica como libro impreso o no.Recomendamos esta licencia principalmente para trabajos cuyo fin sea instructivo o de referencia.

APLICABILIDAD Y DEFINICIONESEsta Licencia se aplica a cualquier manual u otro trabajo, en cualquier soporte, que contenga una nota del propietario de los derechos de autor que indique que puede ser distribuido bajo lostérminos de esta Licencia. Tal nota garantiza en cualquier lugar del mundo, sin pago de derechos y sin límite de tiempo, el uso de dicho trabajo según las condiciones aquí estipuladas. En adelantela palabra Documento se referirá a cualquiera de dichos manuales o trabajos. Cualquier persona es un licenciatario y será referido como Usted. Usted acepta la licencia si copia. modifica odistribuye el trabajo de cualquier modo que requiera permiso según la ley de propiedad intelectual.

Una Versión Modificada del Documento significa cualquier trabajo que contenga el Documento o una porción del mismo, ya sea una copia literal o con modificaciones y/o traducciones a otroidioma.

Una Sección Secundaria es un apéndice con título o una sección preliminar del Documento que trata exclusivamente de la relación entre los autores o editores y el tema general del Documento (otemas relacionados) pero que no contiene nada que entre directamente en dicho tema general (por ejemplo, si el Documento es en parte un texto de matemáticas, una Sección Secundaria puede noexplicar nada de matemáticas). La relación puede ser una conexión histórica con el tema o temas relacionados, o una opinión legal, comercial, filosófica, ética o política acerca de ellos.

Las Secciones Invariantes son ciertas Secciones Secundarias cuyos títulos son designados como Secciones Invariantes en la nota que indica que el documento es liberado bajo esta Licencia. Siuna sección no entra en la definición de Secundaria, no puede designarse como Invariante. El documento puede no tener Secciones Invariantes. Si el Documento no identifica las SeccionesInvariantes, es que no las tiene.

Los Textos de Cubierta son ciertos pasajes cortos de texto que se listan como Textos de Cubierta Delantera o Textos de Cubierta Trasera en la nota que indica que el documento es liberado bajoesta Licencia. Un Texto de Cubierta Delantera puede tener como mucho 5 palabras, y uno de Cubierta Trasera puede tener hasta 25 palabras.

Una copia Transparente del Documento, significa una copia para lectura en máquina, representada en un formato cuya especificación está disponible al público en general, apto para que loscontenidos puedan ser vistos y editados directamente con editores de texto genéricos o (para imágenes compuestas por puntos) con programas genéricos de manipulación de imágenes o (paradibujos) con algún editor de dibujos ampliamente disponible, y que sea adecuado como entrada para formateadores de texto o para su traducción automática a formatos adecuados paraformateadores de texto. Una copia hecha en un formato definido como Transparente, pero cuyo marcaje o ausencia de él haya sido diseñado para impedir o dificultar modificaciones posteriores

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

107 de 115 05/10/2010 06:42 p.m.

Page 108: 39063342 Configurar Un Servidor Samba y Openldap(2)

por parte de los lectores no es Transparente. Un formato de imagen no es Transparente si se usa para una cantidad de texto sustancial. Una copia que no es Transparente se denomina Opaca.

Como ejemplos de formatos adecuados para copias Transparentes están ASCII puro sin marcaje, formato de entrada de Texinfo, formato de entrada de LaTeX, SGML o XML usando una DTDdisponible públicamente, y HTML, PostScript o PDF simples, que sigan los estándares y diseñados para que los modifiquen personas. Ejemplos de formatos de imagen transparentes son PNG,XCF y JPG. Los formatos Opacos incluyen formatos propietarios que pueden ser leídos y editados únicamente en procesadores de palabras propietarios, SGML o XML para los cuáles las DTDy/o herramientas de procesamiento no estén ampliamente disponibles, y HTML, PostScript o PDF generados por algunos procesadores de palabras sólo como salida.

La Portada significa, en un libro impreso, la página de título, más las páginas siguientes que sean necesarias para mantener legiblemente el material que esta Licencia requiere en la portada. Paratrabajos en formatos que no tienen página de portada como tal, Portada significa el texto cercano a la aparición más prominente del título del trabajo, precediendo el comienzo del cuerpo deltexto.

Una sección Titulada XYZ significa una parte del Documento cuyo título es precisamente XYZ o contiene XYZ entre paréntesis, a continuación de texto que traduce XYZ a otro idioma (aquíXYZ se refiere a nombres de sección específicos mencionados más abajo, como Agradecimientos, Dedicatorias , Aprobaciones o Historia. Conservar el Título de tal sección cuando se modificael Documento significa que permanece una sección Titulada XYZ según esta definición[3] .

El Documento puede incluir Limitaciones de Garantía cercanas a la nota donde se declara que al Documento se le aplica esta Licencia. Se considera que estas Limitaciones de Garantía estánincluidas, por referencia, en la Licencia, pero sólo en cuanto a limitaciones de garantía: cualquier otra implicación que estas Limitaciones de Garantía puedan tener es nula y no tiene efecto en elsignificado de esta Licencia.

[3] En sentido estricto esta licencia parece exigir que los títulos sean exactamente Acknowledgements, Dedications, Endorsements e History, en inglés.

COPIA LITERALUsted puede copiar y distribuir el Documento en cualquier soporte, sea en forma comercial o no, siempre y cuando esta Licencia, las notas de copyright y la nota que indica que esta Licencia seaplica al Documento se reproduzcan en todas las copias y que usted no añada ninguna otra condición a las expuestas en esta Licencia. Usted no puede usar medidas técnicas para obstruir ocontrolar la lectura o copia posterior de las copias que usted haga o distribuya. Sin embargo, usted puede aceptar compensación a cambio de las copias. Si distribuye un número suficientementegrande de copias también deberá seguir las condiciones de la sección 3.

Usted también puede prestar copias, bajo las mismas condiciones establecidas anteriormente, y puede exhibir copias públicamente.

COPIADO EN CANTIDADSi publica copias impresas del Documento (o copias en soportes que tengan normalmente cubiertas impresas) que sobrepasen las 100, y la nota de licencia del Documento exige Textos deCubierta, debe incluir las copias con cubiertas que lleven en forma clara y legible todos esos Textos de Cubierta: Textos de Cubierta Delantera en la cubierta delantera y Textos de CubiertaTrasera en la cubierta trasera. Ambas cubiertas deben identificarlo a Usted clara y legiblemente como editor de tales copias. La cubierta debe mostrar el título completo con todas las palabrasigualmente prominentes y visibles. Además puede añadir otro material en las cubiertas. Las copias con cambios limitados a las cubiertas, siempre que conserven el título del Documento ysatisfagan estas condiciones, pueden considerarse como copias literales.

Si los textos requeridos para la cubierta son muy voluminosos para que ajusten legiblemente, debe colocar los primeros (tantos como sea razonable colocar) en la verdadera cubierta y situar elresto en páginas adyacentes.

Si Usted publica o distribuye copias Opacas del Documento cuya cantidad exceda las 100, debe incluir una copia Transparente, que pueda ser leída por una máquina, con cada copia Opaca, o bienmostrar, en cada copia Opaca, una dirección de red donde cualquier usuario de la misma tenga acceso por medio de protocolos públicos y estandarizados a una copia Transparente del Documentocompleta, sin material adicional. Si usted hace uso de la última opción, deberá tomar las medidas necesarias, cuando comience la distribución de las copias Opacas en cantidad, para asegurar queesta copia Transparente permanecerá accesible en el sitio establecido por lo menos un año después de la última vez que distribuya una copia Opaca de esa edición al público (directamente o através de sus agentes o distribuidores).

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

108 de 115 05/10/2010 06:42 p.m.

Page 109: 39063342 Configurar Un Servidor Samba y Openldap(2)

Se solicita, aunque no es requisito, que se ponga en contacto con los autores del Documento antes de redistribuir gran número de copias, para darles la oportunidad de que le proporcionen unaversión actualizada del Documento.

MODIFICACIONESPuede copiar y distribuir una Versión Modificada del Documento bajo las condiciones de las secciones 2 y 3 anteriores, siempre que usted libere la Versión Modificada bajo esta misma Licencia,con la Versión Modificada haciendo el rol del Documento, por lo tanto dando licencia de distribución y modificación de la Versión Modificada a quienquiera posea una copia de la misma.Además, debe hacer lo siguiente en la Versión Modificada:

A. Usar en la Portada (y en las cubiertas, si hay alguna) un título distinto al del Documento y de sus versiones anteriores (que deberían, si hay alguna, estar listadas en la sección de Historiadel Documento). Puede usar el mismo título de versiones anteriores al original siempre y cuando quien las publicó originalmente otorgue permiso.B. Listar en la Portada, como autores, una o más personas o entidades responsables de la autoría de las modificaciones de la Versión Modificada, junto con por lo menos cinco de los autoresprincipales del Documento (todos sus autores principales, si hay menos de cinco), a menos que le eximan de tal requisito.C. Mostrar en la Portada como editor el nombre del editor de la Versión Modificada.D. Conservar todas las notas de copyright del Documento.E. Añadir una nota de copyright apropiada a sus modificaciones, adyacente a las otras notas de copyright.F. Incluir, inmediatamente después de las notas de copyright, una nota de licencia dando el permiso para usar la Versión Modificada bajo los términos de esta Licencia, como se muestra enla Adenda al final de este documento.G. Conservar en esa nota de licencia el listado completo de las Secciones Invariantes y de los Textos de Cubierta que sean requeridos en la nota de Licencia del Documento original.H. Incluir una copia sin modificación de esta Licencia.I. Conservar la sección Titulada Historia, conservar su Título y añadirle un elemento que declare al menos el título, el año, los nuevos autores y el editor de la Versión Modificada, tal comofiguran en la Portada. Si no hay una sección Titulada Historia en el Documento, crear una estableciendo el título, el año, los autores y el editor del Documento, tal como figuran en suPortada, añadiendo además un elemento describiendo la Versión Modificada, como se estableció en la oración anterior.J. Conservar la dirección en red, si la hay, dada en el Documento para el acceso público a una copia Transparente del mismo, así como las otras direcciones de red dadas en el Documentopara versiones anteriores en las que estuviese basado. Pueden ubicarse en la sección Historia. Se puede omitir la ubicación en red de un trabajo que haya sido publicado por lo menos cuatroaños antes que el Documento mismo, o si el editor original de dicha versión da permiso.K. En cualquier sección Titulada Agradecimientos o Dedicatorias, Conservar el Título de la sección y conservar en ella toda la sustancia y el tono de los agradecimientos y/o dedicatoriasincluidas por cada contribuyente.L. Conservar todas las Secciones Invariantes del Documento, sin alterar su texto ni sus títulos. Números de sección o el equivalente no son considerados parte de los títulos de la sección.M. Borrar cualquier sección titulada Aprobaciones. Tales secciones no pueden estar incluidas en las Versiones Modificadas.N. No cambiar el título de ninguna sección existente a Aprobaciones ni a uno que entre en conflicto con el de alguna Sección Invariante.O. Conservar todas las Limitaciones de Garantía.

Si la Versión Modificada incluye secciones o apéndices nuevos que califiquen como Secciones Secundarias y contienen material no copiado del Documento, puede opcionalmente designar algunaso todas esas secciones como invariantes. Para hacerlo, añada sus títulos a la lista de Secciones Invariantes en la nota de licencia de la Versión Modificada. Tales títulos deben ser distintos decualquier otro título de sección.

Puede añadir una sección titulada Aprobaciones, siempre que contenga únicamente aprobaciones de su Versión Modificada por otras fuentes --por ejemplo, observaciones de peritos o que el textoha sido aprobado por una organización como la definición oficial de un estándar.

Puede añadir un pasaje de hasta cinco palabras como Texto de Cubierta Delantera y un pasaje de hasta 25 palabras como Texto de Cubierta Trasera en la Versión Modificada. Una entidad solopuede añadir (o hacer que se añada) un pasaje al Texto de Cubierta Delantera y uno al de Cubierta Trasera. Si el Documento ya incluye un textos de cubiertas añadidos previamente por usted opor la misma entidad que usted representa, usted no puede añadir otro; pero puede reemplazar el anterior, con permiso explícito del editor que agregó el texto anterior.

Con esta Licencia ni los autores ni los editores del Documento dan permiso para usar sus nombres para publicidad ni para asegurar o implicar aprobación de cualquier Versión Modificada.

COMBINACIÓN DE DOCUMENTOSUsted puede combinar el Documento con otros documentos liberados bajo esta Licencia, bajo los términos definidos en la sección 4 anterior para versiones modificadas, siempre que incluya en lacombinación todas las Secciones Invariantes de todos los documentos originales, sin modificar, listadas todas como Secciones Invariantes del trabajo combinado en su nota de licencia. Así mismo

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

109 de 115 05/10/2010 06:42 p.m.

Page 110: 39063342 Configurar Un Servidor Samba y Openldap(2)

debe incluir la Limitación de Garantía.

El trabajo combinado necesita contener solamente una copia de esta Licencia, y puede reemplazar varias Secciones Invariantes idénticas por una sola copia. Si hay varias Secciones Invariantescon el mismo nombre pero con contenidos diferentes, haga el título de cada una de estas secciones único añadiéndole al final del mismo, entre paréntesis, el nombre del autor o editor original deesa sección, si es conocido, o si no, un número único. Haga el mismo ajuste a los títulos de sección en la lista de Secciones Invariantes de la nota de licencia del trabajo combinado.

En la combinación, debe combinar cualquier sección Titulada Historia de los documentos originales, formando una sección Titulada Historia; de la misma forma combine cualquier secciónTitulada Agradecimientos, y cualquier sección Titulada Dedicatorias. Debe borrar todas las secciones tituladas Aprobaciones.

COLECCIONES DE DOCUMENTOSPuede hacer una colección que conste del Documento y de otros documentos liberados bajo esta Licencia, y reemplazar las copias individuales de esta Licencia en todos los documentos por unasola copia que esté incluida en la colección, siempre que siga las reglas de esta Licencia para cada copia literal de cada uno de los documentos en cualquiera de los demás aspectos.

Puede extraer un solo documento de una de tales colecciones y distribuirlo individualmente bajo esta Licencia, siempre que inserte una copia de esta Licencia en el documento extraído, y sigaesta Licencia en todos los demás aspectos relativos a la copia literal de dicho documento.

AGREGACIÓN CON TRABAJOS INDEPENDIENTESUna recopilación que conste del Documento o sus derivados y de otros documentos o trabajos separados e independientes, en cualquier soporte de almacenamiento o distribución, se denomina unagregado si el copyright resultante de la compilación no se usa para limitar los derechos de los usuarios de la misma más allá de lo que los de los trabajos individuales permiten. Cuando elDocumento se incluye en un agregado, esta Licencia no se aplica a otros trabajos del agregado que no sean en sí mismos derivados del Documento.

Si el requisito de la sección 3 sobre el Texto de Cubierta es aplicable a estas copias del Documento y el Documento es menor que la mitad del agregado entero, los Textos de Cubierta delDocumento pueden colocarse en cubiertas que enmarquen solamente el Documento dentro del agregado, o el equivalente electrónico de las cubiertas si el documento está en forma electrónica. Encaso contrario deben aparecer en cubiertas impresas enmarcando todo el agregado.

TRADUCCIÓNLa Traducción es considerada como un tipo de modificación, por lo que usted puede distribuir traducciones del Documento bajo los términos de la sección 4. El reemplazo las SeccionesInvariantes con traducciones requiere permiso especial de los dueños de derecho de autor, pero usted puede añadir traducciones de algunas o todas las Secciones Invariantes a las versionesoriginales de las mismas. Puede incluir una traducción de esta Licencia, de todas las notas de licencia del documento, así como de las Limitaciones de Garantía, siempre que incluya también laversión en Inglés de esta Licencia y las versiones originales de las notas de licencia y Limitaciones de Garantía. En caso de desacuerdo entre la traducción y la versión original en Inglés de estaLicencia, la nota de licencia o la limitación de garantía, la versión original en Inglés prevalecerá.

Si una sección del Documento está Titulada Agradecimientos, Dedicatorias o Historia el requisito (sección 4) de Conservar su Título (Sección 1) requerirá, típicamente, cambiar su título.

TERMINACIÓNUsted no puede copiar, modificar, sublicenciar o distribuir el Documento salvo por lo permitido expresamente por esta Licencia. Cualquier otro intento de copia, modificación, sublicenciamiento odistribución del Documento es nulo, y dará por terminados automáticamente sus derechos bajo esa Licencia. Sin embargo, los terceros que hayan recibido copias, o derechos, de usted bajo estaLicencia no verán terminadas sus licencias, siempre que permanezcan en total conformidad con ella.

REVISIONES FUTURAS DE ESTA LICENCIADe vez en cuando la Free Software Foundation puede publicar versiones nuevas y revisadas de la Licencia de Documentación Libre GNU. Tales versiones nuevas serán similares en espíritu a lapresente versión, pero pueden diferir en detalles para solucionar nuevos problemas o intereses. Vea http://www.gnu.org/copyleft/.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

110 de 115 05/10/2010 06:42 p.m.

Page 111: 39063342 Configurar Un Servidor Samba y Openldap(2)

Cada versión de la Licencia tiene un número de versión que la distingue. Si el Documento especifica que se aplica una versión numerada en particular de esta licencia o cualquier versiónposterior, usted tiene la opción de seguir los términos y condiciones de la versión especificada o cualquiera posterior que haya sido publicada (no como borrador) por la Free Software Foundation.Si el Documento no especifica un número de versión de esta Licencia, puede escoger cualquier versión que haya sido publicada (no como borrador) por la Free Software Foundation.

ADENDA: Cómo usar esta Licencia en sus documentosPara usar esta licencia en un documento que usted haya escrito, incluya una copia de la Licencia en el documento y ponga el siguiente copyright y nota de licencia justo después de la página detítulo:

Copyright (c) AÑO SU NOMBRE. Se concede permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre de GNU,Versión 1.2 o cualquier otra versión posterior publicada por la Free Software Foundation; sin Secciones Invariantes ni Textos de Cubierta Delantera ni Textos de Cubierta Trasera.Una copia de la licencia está incluida en la sección titulada GNU Free Documentation License.

Si tiene Secciones Invariantes, Textos de Cubierta Delantera y Textos de Cubierta Trasera, reemplace la frase sin ... Trasera por esto:

siendo las Secciones Invariantes LISTE SUS TÍTULOS, siendo los Textos de Cubierta Delantera LISTAR, y siendo sus Textos de Cubierta Trasera LISTAR.

Si tiene Secciones Invariantes sin Textos de Cubierta o cualquier otra combinación de los tres, mezcle ambas alternativas para adaptarse a la situación.

Si su documento contiene ejemplos de código de programa no triviales, recomendamos liberar estos ejemplos en paralelo bajo la licencia de software libre que usted elija, como la Licencia PúblicaGeneral de GNU (GNU General Public License), para permitir su uso en software libre.

[1] Ésta es la traducción del Copyright de la Licencia, no es el Copyright de esta traducción no autorizada.

[2] La licencia original dice publisher, que es, estrictamente, quien publica, diferente de editor, que es más bien quien prepara un texto para publicar. En castellano editor se usa para ambas cosas.

Apéndice B. GNU Free Documentation LicenseCopyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Everyone is permitted to copy and distribute verbatim copies of thislicense document, but changing it is not allowed.

0. PREAMBLEThe purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy andredistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while notbeing considered responsible for modifications made by others.

This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is acopyleft license designed for free software.

We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the samefreedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book.We recommend this License principally for works whose purpose is instruction or reference.

1. APPLICABILITY AND DEFINITIONS

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

111 de 115 05/10/2010 06:42 p.m.

Page 112: 39063342 Configurar Un Servidor Samba y Openldap(2)

This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a noticegrants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member ofthe public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.

A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document'soverall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section maynot explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political positionregarding them.

The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. Ifa section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identifyany Invariant Sections then there are none.

The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. AFront-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the documentstraightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to textformatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, hasbeen arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not"Transparent" is called "Opaque".

Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, andstandard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietaryformats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generatedHTML, PostScript or PDF produced by some word processors for output purposes only.

The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works informats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.

A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language.(Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when youmodify the Document means that it remains a section "Entitled XYZ" according to this definition.

The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included byreference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.

2. VERBATIM COPYINGYou may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this Licenseapplies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control thereading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must alsofollow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and you may publicly display copies.

3. COPYING IN QUANTITY

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

112 de 115 05/10/2010 06:42 p.m.

Page 113: 39063342 Configurar Un Servidor Samba y Openldap(2)

If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, youmust enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must alsoclearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material onthe covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in otherrespects.

If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in orwith each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copyof the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that thisTransparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of thatedition to the public.

It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated versionof the Document.

4. MODIFICATIONSYou may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License,with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do thesethings in the Modified Version:

Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the Historysection of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.

A.

List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authorsof the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.

B.

State on the Title page the name of the publisher of the Modified Version, as the publisher.C.Preserve all the copyright notices of the Document.D.Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.E.Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in theAddendum below.

F.

Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.G.Include an unaltered copy of this License.H.Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page.If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing theModified Version as stated in the previous sentence.

I.

Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document forprevious versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Documentitself, or if the original publisher of the version it refers to gives permission.

J.

For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributoracknowledgements and/or dedications given therein.

K.

Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.L.Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.M.Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.N.Preserve any Warranty Disclaimers.O.

If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designatesome or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other sectiontitles.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

113 de 115 05/10/2010 06:42 p.m.

Page 114: 39063342 Configurar Un Servidor Samba y Openldap(2)

You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that thetext has been approved by an organization as the authoritative definition of a standard.

You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only onepassage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover,previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from theprevious publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

5. COMBINING DOCUMENTSYou may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combinationall of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their WarrantyDisclaimers.

The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the samename but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else aunique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled"Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".

6. COLLECTIONS OF DOCUMENTSYou may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a singlecopy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow thisLicense in all other respects regarding verbatim copying of that document.

7. AGGREGATION WITH INDEPENDENT WORKSA compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if thecopyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate,this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may beplaced on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers thatbracket the whole aggregate.

8. TRANSLATIONTranslation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires specialpermission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include atranslation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the originalversions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.

If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

114 de 115 05/10/2010 06:42 p.m.

Page 115: 39063342 Configurar Un Servidor Samba y Openldap(2)

title.

9. TERMINATIONYou may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Documentis void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated solong as such parties remain in full compliance.

10. FUTURE REVISIONS OF THIS LICENSEThe Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, butmay differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have theoption of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document doesnot specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.

ADDENDUM: How to use this License for your documentsTo use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

Copyright (C) YEAR YOUR NAME.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the FreeSoftware Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free DocumentationLicense".

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:

with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General PublicLicense, to permit their use in free software.

Configurar un servidor Controlador de Dominio con Samba y OpenLDAP en Ubuntu Server Hard... http://tuxjm.net/docs/samba+ldap-como/html-onechunk/

115 de 115 05/10/2010 06:42 p.m.