2010

Universidad de El Salvador, Facultad Multidisciplinaria de Occdente Alumnos: Héctor Oswaldo Marroquín Argueta Ricardo Enrique Martínez Monterrosa Yassir Miguel Alfredo Tejada Gutierrez Catedrático: Juan Carlos Peña

[ MANUAL DE SISTEMA DE CONTROL DE DOMINIO ]
Implementación de un sistema de control de dominio, con autenticacíon LDAP

Contenido
Introducción ........................................................................................................................................ 1 Datos Generales de Configuración ...................................................................................................... 1 Requerimientos de Software .............................................................................................................. 2 Instalación y configuración de servidor DNS....................................................................................... 3 Instalación y configuración del servidor LDAP .................................................................................... 5 Configuración inicial del servicio slapd ........................................................................................... 7 Agregando los esquemas (schemas) necesarios ............................................................................. 8 Configurando las Listas de Control de Acceso (ACLs) ................................................................... 10 Configurando los índices de atributos más usados ....................................................................... 11 Revisión de permisos en archivos y directorios de Configuración ................................................ 11 Ejecutando una revisión sintáctica del archivo de configuración slapd.conf ............................... 12 Iniciando el servidor slapd y haciendo pruebas preliminares ....................................................... 13 Configuración del Cliente LDAP..................................................................................................... 14 Configuración de Samba y las herramientas smbldap-tools ............................................................. 15 Instalación y configuración del servidor Samba............................................................................ 15 Instalando el servidor y cliente Samba ......................................................................................... 15 Configuraciones de Samba para Controlador de Dominio............................................................ 16 Parámetros Globales del servidor Samba ..................................................................................... 16 El recurso compartido especial [homes] ....................................................................................... 19 El recurso compartido especial [netlogon] ................................................................................... 19 El recurso compartido especial [profiles]...................................................................................... 20 Especificando la contraseña del ldap admin dn ............................................................................ 22 Instalación y Configuración de las smbldap-tools ......................................................................... 23 Llenando el Directorio LDAP con smbldap-populate .................................................................... 27 Configuración de la resolución de Identidades con NSS_LDAP ........................................................ 29 Configuración de la Autenticación con PAM_LDAP .......................................................................... 33 Introducción a los Módulos de Autenticación PAM ...................................................................... 33 Respaldando la configuración de PAM ......................................................................................... 34 Configurando los módulos de autenticación de PAM ................................................................... 34 Instalando el modulo Cracklib de PAM ..................................................................................... 35 Configurando Archivo de configuración libpam-ldap.conf ........................................................... 35

Migración de usuarios y grupos Unix/Posix al directorio LDAP ........................................................ 36 Migración de Usuarios (/etc/passwd y /etc/shadow) ................................................................... 36 Migración de Grupos (/etc/group) ................................................................................................ 38 Integrando Clientes Windows al Dominio Samba ............................................................................. 39 Requerimientos del Sistema ......................................................................................................... 39 Configuración de los parámetros de red en el equipo Windows.................................................. 39 Información necesaria para configurar los parámetros de red ................................................ 39 Configurando correctamente los parámetros de red ............................................................... 40 Verificación de los Parámetros de Red ..................................................................................... 43 Configuración del nombre de equipo Windows ........................................................................... 43 Uniendo el equipo Windows al Dominio Samba........................................................................... 45 Como Iniciar Sesión el Dominio Samba ......................................................................................... 54 Integración de clientes Linux al dominio........................................................................................... 56 Autenticación De Usuarios Y Grupos De Dominio Samba En Clientes Linux ................................ 57 Configurando un Controlador de Dominio de Respaldo (BDC) ......................................................... 60 Servidor de archivos OpenFiler ......................................................................................................... 62 Instalación del servidor OpenFiler ................................................................................................ 62 Configuración de servidor de archivos OpenFiler ......................................................................... 63 Integrando servidor de archivos OpenFiler con los controladores de dominio................................ 71

la 192.0. tendrán sus archivos y configuraciones en un servidor de red de área de almacenamiento (Servidor SAN por sus siglas en inglés). a la vez que se mantiene centralizada la información de los mismos. Además. con la variante que los usuarios no estarán en las computadoras que posean los mismos. contra el cual deberán autenticarse.2 El servidor samba.4 Los clientes del control de dominio para éstas configuraciones están dentro del rango 192.0. La idea de esto.168. permitirá el logueo de clientes desde sistemas Windows y Linux al mismo. dns y el servidor ldap están en la misma máquina. usando la autenticación de usuarios propia de dichos sistemas.168. de manera que dichos archivos y configuraciones estarán disponibles para ellos en cualquier computadora que se encuentre “pegada” al dominio y siempre y cuando se logueen con su usuario.168.Introducción El presente proyecto muestra las configuraciones necesarias para montar un control de dominio con tolerancia a fallos. con lo que se logra una mayor disponibilidad de la información para los usuarios en cualquier parte del área física de acción de la red. pero no significa que solo en dicho rango se puedan colocar. La Dirección IP del servidor OpenFiler es: 192. es crear una red donde los recursos de cada usuario estén disponibles solo para él en cualquier parte donde haya una computadora que pueda unirse al dominio creado para el proyecto.0. ya que puede trabajar con otras redes (esto se detallará mas adelante) 1   .168.0/24.0. Éste.2 La Dirección IP del servidor de control de dominio de cevirtual es: 192.0. Datos Generales de Configuración Un poco de información general que usaremos en muchas de las configuraciones de este tutorial:       Se configurará el Nombre de Dominio Samba/NT: CEVIRTUAL Nombre NetBIOS del servidor Samba: cevirtual La Dirección IP del servidor de control de dominio principal de cevirtual es: 192.168.0.168. los clientes que dispongan de los servicios del dominio.0/24 mientras no se repita con ningún otro servidor o cliente. un servidor de control de dominio con un servidor secundario que respalde su funcionamiento.2 La Dirección IP del servidor de control de dominio de respaldo de cevirtual puede ser cualquiera en el rango 192. es decir. sino que se encontrarán dentro una base de datos montada en un servidor LDAP.

ssh 1:5.5 Asistente de conexión remota utilizado para realizar las pruebas en el dominio.0. principalmente para las conexiones Openfiler NSA 2.1-3 Librería que incluye un modelo para comprobar la seguridad de los passwords usados en el dominio por los usuarios para que no sean demasiado débiles. klamav 0.dfsg. libpam-ldap 1.9. libpam-cracklib 1. smbldap-tools 0. usaremos el siguiente software con su respectiva versión: OpenLDAP – Slapd 2.8 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ás servirá como servidor de impresoras y archivos. así como nombres de grupos a GID y viceversa usando como fuente de información el directorio LDAP. además.1.4.P1-1 Servidor DNS usado para resolver el dominio a la red utilizada en el proyecto 2 . Samba 2:3. servirán para resolver nombres de usuarios a UID y viceversa.8-1 Servidor de archivos basado en CentOS que utiliza la tecnología SAN (Storage Area Network) bind9 1:9.1.3.21-1 OpenLDAP es una implementación libre de los protocolos LDAP.6.1-3 PAM son los módulos de autenticación/autorización para otorgar permisos de acceso a diferentes servicios locales usando como fuente de información el servidor LDAP.46-3 Antivirus para sistemas UNIX utilizado para la protección de los archivos del dominio.26.Requerimientos de Software La implementación de lo que se describe en este documento será en base a la distribución de Linux Debian Squeeze.7.4.04-4 NSS son las bibliotecas de resolución de entidades.5-1 Herramientas para administrar cuentas Unix/Posix y Samba almacenadas en un servidor OpenLDAP libnss-ldap 1.

Refresh 86400 . en dicha carpeta crearemos los archivos de zona con la siguiente información: Archivo db.0.cevirtual.cevirtual.Instalación y configuración de servidor DNS Como primer paso y para iniciar con la implementación del proyecto. Crearemos una carpeta en /var bajo el nombre de “bind” donde guardaremos los archivos de zona para nuestro dominio.cevirtual. Para crear nuestra carpeta escribimos en consola el siguiente comando: #mkdir -vp --mode 0700 /var/bind Luego. Negative Cache TTL ns. admin. Serial 1200 . admin. configuraremos los archivos de zona necesarios para definir las configuraciones del dominio que deseamos que nuestro servidor DNS resuelva.192 $TTL @ 604800 IN SOA cevirtual.0.cevirtual. Retry 2419200 . ( 1 . Retry 2419200 .cevirtual $TTL @ 604800 IN SOA cevirtual. configuraremos un servidor DNS que permita el acceso a un dominio que será el que controlaremos para proveer los servicios desados a los clientes.168.0. Serial 1200 .cevirtual. Expire 604800 ) . . 192. ns.168. el cual es un servidor DNS para sistemas Linux.168. Utilizaremos el servidor “Bind”.2 . @ 2 IN IN NS PTR 3 . escribiremos como root el siguiente comando (las líneas de comandos que empiecen con “#” deben ser ejecutadas autenticados como usuarios “root” del sistema): #apt-get install bind9 Luego de ello. Refresh 86400 . Expire 604800 ) . Negative Cache TTL ns.2 192. ( 1 . Para instalarlo. @ @ ns IN IN IN NS A A Archivo db.

net/manuals 4 . file "/var/bind/db. zone "0. solo debe agregarse la siguiente línea al archivo /etc/resolv. }.conf. Para agregar a nuestro servidor DNS a las máquinas que usaran nuestro dominio.cevirtual".192".local” zone "cevirtual" { type master.conf: nameserver 192.2 No se entrará en detalles de funcionamiento del servidor DNS.Ahora.0. configuraremos el servidor bind para que agregue estas zonas y provea el servicio dns para nuestro dominio “cevirtual” Agregamos las siguientes líneas al archivo “/etc/bind/named.0. visite la página oficial de bind9 donde encontrará en detalle manuales sobre le funcionamiento y las configuraciones del mismo: http://www. file "/var/bind/db.192. solo reiniciamos nuestro servidor bind con el comando: #/etc/init.arpa" { type master.in-addr. Con esto.168.d/bind9 restart Y ya nuestro servidor bind debería proveer el servicio de dns para dicho dominio. Si desea mas información. }.bind9.168.168.

Para ello ejecutaremos el siguiente comando: # apt-get install slapd ldap-utils Cuando se instala el paquete slapd al final nos lanzará un asistente de configuración del servicio slapd. Si ingresamos el nombre de dominio cevirtual entonces en formato Domain Component (DC por sus siglas en Inglés) nos pondrá nuestra base así: dc=cevirtual. Se recomienda reconfigurar el paquete slapd para una configuración más personalizada. ingresaremos una contraseña para el usuario administrador del servidor LDAP: Administrator passwd: admin Confirm passwd: admin 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. para reconfigurar el paquete slapd usamos el comando: # dpkg-reconfigure slapd Al reconfigurar el paquete slapd se lanzará el mismo asistente que vimos atrás. La primer pantalla nos pregunta si queremos omitir la configuración inicial del servidor slapd. Aunque después vamos a reconfigurar el servidor slapd. nos pregunta el nombre de dominio con el que queremos configurar nuestro árbol de directorio.Instalación y configuración del servidor LDAP Para empezar. nos pedirá que ingresemos la contraseña para el usuario administrador de LDAP. A continuación nos pregunta el nombre de la organización para la que configuraremos el directorio LDAP. Ingresaremos: ues (o la organización que ustedes deseen). este nombre de dominio será configurado con la base de nuestro directorio (Base DN). pero en este caso será reconfigurado desde cero. instalaremos y configuraremos el servidor LDAP junto con las herramientas de administración y cliente. en este caso el 5 . contestaremos: NO Después. Después de configurar el nombre de dominio y la organización nos pide ingresar una contraseña para el usuario Administrador del directorio LDAP.

así que contestaremos: No Con esto terminamos la configuración del asistente. Y por ultimo nos pregunta si deseamos permitir conexiones al servidor LDAP usando la versión obsoleta del protocolo LDAP 2. usaremos la contraseña: admin de la cuenta será: Ahora confirmaremos la contraseña para el Administrador del servidor LDAP. 6 . elegimos la opción Yes. Si por alguna razón ya existía una base de datos de una instalación anterior el asistente nos pregunta si deseamos mover la base de datos vieja a un directorio de respaldo (/var/backups/). usaremos la misma que se ingreso arriba: admin En este paso seleccionaremos el tipo de base de datos (data store) en el que almacenaremos la información de nuestro directorio. En el siguiente paso nos pregunta si deseamos eliminar la base de datos del directorio cuando purguemos el paquete slapd.Distinguished Name (DN por sus siglas en Inglés) cn=admin. por defecto esta desactivado. contestaremos: No 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 nuestra instalación usando dichos archivos. se recomienda no activarlo ya que las todas aplicaciones que usaremos usan la versión 3 del protocolo LDAP.dc=cevirtual. utilizaremos el tipo HDB por ser un tipo de base mas nuevo y que proporciona mejores prestaciones que BDB.

nos creo el grupo openldap y tiene el GID: 108 Ahora confirmaremos que el usuario openldap fue creado: # grep ldap /etc/passwd openldap:x:105:108:OpenLDAP Server Account. con los privilegios de este usuario y grupo será con los que se ejecutará el demonio slapd. con el ID de Usuario (UID): 105.2 openldap openldap 4096 2010-06-24 16:20 /var/lib/ldap Verificaremos que el demonio slapd sea ejecutado con el usaurio y grupo openldap. esto está definido en el archivo /etc/default/slapd.d/slapd stop Stopping OpenLDAP: slapd. su grupo primario es el grupo de ID 108 (openldap). así mismo.:/var/lib/ldap:/bin/false Como vemos nos creo el usaurio openldap.Configuración inicial del servicio slapd Cuando instalamos el paquete slapd se creó un grupo y un usuario de nombre openldap.. y por defecto está así: # nano /etc/default/slapd Este es el contenido del archivo (sin los comentarios): SLAPD_USER="openldap" SLAPD_GROUP="openldap" SLAPD_PIDFILE= Antes de modificar el archivo principal de configuración del demonio slapd. Verificaremos que se creó un grupo de nombre openldap: # grep ldap /etc/group openldap:x:108: Como vemos. y esta cuenta no tiene un shell válido: /bin/false. los archivos y directorios que utilicemos en nuestra instalación deberán de pertenecer a este usuario y grupo. detendremos el servicio: # /etc/init.. 7 . escritura y acceso al directorio: # ls -ld /var/lib/ldap drwx-----. 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. su directorio $HOME es /var/lib/ldap.

Los esquemas que vienen por defecto en la configuración de slapd son los necesarios para poder almacenar información de cuentas Unix/POSIX. además definen el tipo de atributos que podemos usar así como las reglas de sintaxis para cada uno de estos atributos. Estos esquemas predeterminados no nos permiten almacenar atributos para cuentas de usuario y dominios Samba/Windows.schema.Agregando los esquemas (schemas) necesarios Los esquemas de LDAP (schemas) definen el tipo de objetos (objectClass) que podemos manejar en nuestro árbol de directorio. para conocer los demás atributos ver el archivo: /etc/ldap/schemas/samba.schema. sin embargo.gz en formato comprimido. así que tendremos que instalar el paquete samba-doc.schema: # apt-get install samba-doc El archivo del esquema de samba se encuentra en el archivo /usr/share/doc/sambadoc/examples/LDAP/samba.schema. pero los principales son estos que se mencionaron arriba. OpenLDAP permite la carga de esquemas externos para almacenar diferente tipo de información. Los esquemas están definidos en archivos dentro del directorio /etc/ldap/schema/. el cual contiene el archivo samba. 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. lo descomprimiremos al vuelo y lo copiaremos al directorio /etc/ldap/schema/: # zcat /usr/share/doc/samba-doc/examples/LDAP/samba. el esquema para samba no viene incluido dentro de la instalación de slapd.gz > /etc/ldap/schema/samba.schema 8 . almacenar información para crear por ejemplo un tipo de Directorio Amarillo. o una agenda de contactos.schema Revisamos que tenga los permisos adecuados: # ls -l /etc/ldap/schema/samba.

schema include /etc/ldap/schema/cosine. agregar: include /etc/ldap/schema/samba.schema include /etc/ldap/schema/nis.schema Después del esquema inetorgperson.schema 9 .orig} Ahora modificaremos el archivo /etc/ldap/slapd.schema include /etc/ldap/schema/samba.schema De manera que quede así: # Schema and objectClass definitions include /etc/ldap/schema/core.-rw-r--r-.conf.conf.schema Ahora que ya tenemos el archivo del esquema de samba instalado necesitamos decirle al servidor slapd que lo utilice.schema include /etc/ldap/schema/nis. # nano /etc/ldap/slapd..schema include /etc/ldap/schema/cosine. para hacer esto modificaremos el archivo: /etc/ldap/slapd.schema include /etc/ldap/schema/inetorgperson.conf En la sección donde se incluyen los esquemas: # Schema and objectClass definitions include /etc/ldap/schema/core.conf{.1 root root 19424 2010-06-24 16:21 /etc/ldap/schema/samba. Antes de modificar el archivo de configuración de slapd haremos una copia de seguridad: # cp /etc/ldap/slapd.schema include /etc/ldap/schema/inetorgperson.

shadowLastChange.cevirtual" write by anonymous auth by self write by * none 10 . Ya que nuestro directorio también almacenará información de cuentas Samba. En la sección de los ACLs.sambaLMPassword. entre ellas una donde permite cambiar la contraseña a los usuarios Unix debidamente autenticados. Cambiar: access to attrs=userPassword.dc=cevirtual" write by anonymous auth by self write by * none Por: access to attrs=userPassword. por lo tanto permitiremos a los usuarios autenticados poder cambiar su contraseña.sambaNTPassword by dn="cn=admin. Las contraseñas de cuentas Samba están almacenadas en los atributos sambaLMPassword y SambaNTPassword.shadowLastChange by dn="cn=admin.conf ya viene pre configurado con algunas reglas de acceso.Configurando las Listas de Control de Acceso (ACLs) El archivo /etc/ldap/slapd. debemos permitir que los usuarios Samba plenamente autenticados puedan cambiar su contraseña desde el mismo cliente Windows.

sambaPrimaryGroupSID. entonces cambiarlos con los comandos: # chown root:openldap /etc/ldap/slapd. de no ser así podríamos sufrir de penalizaciones en el rendimiento del directorio.eq index memberUid. En la sección de índice de atributos.mail.givenname eq.conf 11 .conf estén como se muestra aquí: # ls -l /etc/ldap/slapd.sambaDomainName eq Revisión de permisos en archivos y directorios de Configuración Antes de reiniciar nuestro servidor para que nuestros cambios tomen efecto.sn.conf Si no están así.displayName pres. para optimizar el rendimiento del directorio agregaremos una lista de atributos a la lista de atributos a indexar.conf # chmod 640 /etc/ldap/slapd.subinitial index sambaSID.uid.sub.Configurando los índices de atributos más usados Es importante que los atributos más consultados por los clientes y aplicaciones LDAP estén debidamente indexados en la base de datos del directorio LDAP.conf -rw-r----. Cambiar: # Indexing options for database #1 index objectClass eq Por: # Indexing options for database #1 index objectClass. en especial en el tiempo de respuesta en las consultas.uidNumber.1 root openldap 5079 2010-06-24 16:35 /etc/ldap/slapd.gidNumber eq index cn. verificaremos que los permisos sean los adecuados: Verificando que los permisos del archivo /etc/ldap/slapd.

# slaptest -v -u config 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.log ó correr el demonio slapd con el nivel de severidad mayor. por ejemplo: # slapd -d 16383 Esto nos mostrará todos los mensajes en la terminal y no en los logs. La opción -u permite que solo se ejecuta la revisión sintáctica aun cuando no se puedan abrir los archivos de bases de datos del directorio (/var/lib/ldap/). posiblemente nos dirá en que parte del archivo se encuentra el error. el comando slaptest nos hará una revisión sintáctica de nuestro archivo de configuración /etc/ldap/slapd.conf Antes de reiniciar nuestro servidor slapd realizaremos una comprobación de que nuestras configuraciones estén correctas. Si el comando slaptest nos muestra algún error. 12 .Ejecutando una revisión sintáctica del archivo de configuración slapd.conf. Si no nos es posible diagnosticar el error se recomienda ver el archivo de log /var/log/ldap.

d/slapd start Starting OpenLDAP: slapd. esto es para comprobar que la autenticación y nuestras ACLs funcionen correctamente.dc=cevirtual" -b "dc=cevirtual" -W Enter LDAP Password:admin Este comando nos debe retornar una salida similar a la anterior solo que con los datos del usuario admin. Ahora haremos una búsqueda en el directorio LDAP autenticado como el usuario admin del LDAP y haremos la búsqueda usando como base dc=cevirtual. Ahora haremos una consulta al servidor LDAP para ver si responde con lo más básico. de comprobar que el directorio se haya inicializado con la estructura básica. Si el servidor slapd se inicia correctamente. este registrará en el log /var/log/syslog un mensaje con el error que pudo haber provocado que no se iniciara. además. para iniciar el servidor slapd usamos el comando: # /etc/init.Iniciando el servidor slapd y haciendo pruebas preliminares Ahora que ya tenemos nuestro servidor correctamente configurado y todos los permisos están correctos podremos iniciar nuestro servidor de forma ordinaria usando el script de inicio. root@ushldap:~# ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts # extended LDIF # # LDAPv3 # base <> with scope baseObject # filter: (objectclass=*) # requesting: namingContexts # # dn: namingContexts: dc=cevirtual # search result search: 2 result: 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 está funcionando correctamente. 13 . Usaremos el comando ldapsearch para buscar el namingContexts del DIT. # ldapsearch -x -D "cn=admin.

conf Definimos la dirección del servidor LDAP y la base de búsqueda: BASE URI dc=cevirtual ldap://127.Límite de tiempo para las consultas BINDDN . básicamente en este archivo se pueden definir los siguientes parámetros:      URI .conf: # nano /etc/ldap/ldap. editemos el archivo de configuración del cliente LDAP /etc/ldap/ldap.Sufijo de la base de búsqueda ó Base DN SIZELIMIT .DN de la cuenta con la que se efectuarán las operaciones Por ahora solo configuraremos los primeros dos parametros. ldapmodify.0.0. ldapadd y otras usan los parametros de configuración definidos en el archivo /etc/ldap/ldap.Configuración del Cliente LDAP Las herramientas cliente LDAP como: ldapsearch.Tamaño máximo de las búsquedas TIMELIMIT .Dirección del servidor o servidores LDAP predeterminados BASE .conf.1 14 .

en nuestro caso esta configuración no nos sirve por lo que eliminaremos la configuración creada y los archivos de configuración que se inicializaron.Configuración de Samba y las herramientas smbldap-tools Ahora vamos a ver como configurar el servidor Samba y las herramientas smbldap-tools para configurar Samba como Controlador de Dominio usando un directorio OpenLDAP como fuente de información centralizada para cuentas Unix y Samba. detenemos los servicios samba para iniciar con la configuración en limpio. Instalación y configuración del servidor Samba En 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. Nombre Servidor. # /etc/init. Directorios compartidos especiales como homes. A continuación se explica detalladamente la instalación de samba: Instalando el servidor y cliente Samba En esta sección instalaremos el servidor samba que en Debian está conformado principalmente por los paquetes: samba y smbclient.d/samba stop * Stopping Samba daemons [ OK ] Nota Todavía no iniciaremos el servidor samba hasta que este nuevamente configurado. Configuración para registro de eventos (logs) Interfaces y direcciones de red a las que está conectado el servidor Configuración de parámetros para Controlador de Dominio Información del servidor LDAP y cómo utilizarlo Definición de script para automatizar la administración de las cuentas samba/ldap. 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 parámetros y también importan los usuarios en /etc/passwd. netlogon y profiles. el primero contiene los programas para servidor y el segundo las herramientas de cliente y diagnostico. 15 . Los parámetros Generales que configuraremos son:        Parámetros de identificación de red como: Dominio.

html Crearemos un archivo /etc/samba/smb.5. en esta sección especificaremos parámetros globales que afectarán el comportamiento del servidor Samba.conf nuevo con los siguientes parametros: El inicio de la sección global quedará así: [global] workgroup = CEVIRTUAL netbios name = cevirtual server string = Samba PDC Version %v wins support = yes map to guest = Bad User dns proxy = no 16 .conf{.samba.conf: # cp /etc/samba/smb.org/samba/docs/man/manpages-3/smb.conf. pero no detallaremos para que sirve cada uno. haremos un respaldo de este archivo antes de iniciar con las modificaciones. Creamos el respaldo del archivo /etc/samba/smb.conf en el siguiente url: http://www.conf.orig} En la siguiente sección podemos continuar con los parámetros que nos interesan. puedes dirigirte al manual oficial de smb. Parámetros Globales del servidor Samba El archivo de configuración de samba define la sección [global]. los parámetros principales son:    El nombre del Grupo de Trabajo/Dominio al que pertenecemos: CEVIRTUAL Nombre NetBIOS del Servidor Samba: cevirtual Descripción del servidor Samba: Samba PDC Version %v Además configuraremos los siguientes parametros extras: Soporte para habilitar privilegios de Grupos de Dominio Samba: enable privileges = yes. para más información. ya que iniciaremos con una configuración nueva.Configuraciones de Samba para Controlador de Dominio El archivo de configuración principal de Samba es /etc/samba/smb. Hay muchos parámetros que se configuran en éste archivo.. este parámetro es útil por ejemplo para dar privilegios a los usuarios miembros del grupo Domain Admins para unir equpos Windows a un Dominio NT.

168. ####networking socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 interfaces = eth0 lo hosts allow = 127. 192.0.0 smb ports = 139 445 bind interfaces only = Yes name resolve order = wins hosts lmhosts bcast Configurando los parámetros para Controlador de Dominio Ahora configuraremos los parámetros relacionados con la configuración de un servidor Controlador de Dominio.0. pero las conexiones de usuarios que se autentiquen con una contraseña invalida serán rechazadas.1. syslog = 0 log level = 0 max log size = 50 log file = /var/log/samba/%m.log Configuraciones de red para el servidor Samba En esta sección configuraremos los parámetros de red y algunas configuraciones de seguridad recomendadas.name resolve order = wins hosts lmhost bcast El parámetro 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 anónimo.0/24 hosts deny = 0. Configurando los logs Ahora configuraremos algunos parámetros para la generación de logs.0.0.0. ### PDC Options time server = Yes wins support = Yes os level = 65 domain logons = Yes preferred master = Yes 17 .

###Configuración de juego de caracteres dos charset = 850 Unix charset = ISO8859-1 Hasta aquí termina la sección Global de smb.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 -g 515 -d /dev/null -s /bin/false "%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" Configuraciónes de codificación Ahora configuraremos los parámetros para especificar el juego de caracteres predeterminado para archivos dos y unix. 18 .conf.logon logon logon logon path = home = drive = script = 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" ldap passwd sync = Yes Parámetros para interacción con el servidor LDAP Ahora definiremos los parámetros necesarios para que samba utilice el directorio LDAP. ###SAMBA-LDAP declarations passdb backend = ldapsam:ldap://127.dc=cevirtual ldap suffix = dc= cevirtual ldap group suffix = ou=groups ldap user suffix = ou=users ldap machine suffix = ou=machines ldap idmap suffix = ou=idmap idmap backend = ldap:ldap://127.1/ ldap admin dn = cn=admin.0.0.0.0.

###Configuraciones de recursos compartidos [homes] comment = Home Directories valid users = %U read only = No create mask = 0664 directory mask = 0775 browseable = No La línea valid users = %U indica que este recurso compartido solo está disponible para los usuarios Samba autenticados.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. Nota Aunque no sea de ésta sección. con este recurso compartido. el propósito de este recurso compartido es almacenar los scripts de inicio (logon scripts). [netlogon] path = /home/samba/netlogon/ browseable = No read only = yes 19 . cada vez que el usuario alguien inicia sesión por Samba. En este recurso compartido no se especifica un path ya que podrá variar dependiendo del usuario que haga login. este usuario tiene un directorio $HOME en la ruta /home/alguien. tenemos un usuario unix/windows de nombre alguien. por ejemplo. estos scripts son ejecutados cada vez que un usuario inicia sesión en el dominio. el recurso [netlogon] solo es utilizado cuando Samba actúa como un Controlador de Dominio. y la creamos con el siguiente comando: # mkdir -vp --mode 1777 /home/samba/homes El recurso compartido especial [netlogon] Este es otro recurso compartido especial. tendrá disponible un recurso compartido en el servidor con el nombre "alguien" y por medio de él podrá entrar a sus archivos privados en el servidor. la cual sería “/home/samba/homes”. debemos crear también la carpeta donde se almacenaran las carpetas “home” de los usuarios ya que la usaremos en configuraciones posteriores.

en caso de que no los tenga.La opción browseable = No especifica que este recurso compartido no será visible en la lista de shares disponibles en el servidor.bat Verificar si el script requiere permisos de ejecución. Ahora creamos el directorio base en el cual almacenaremos los logon scripts: # mkdir -vp --mode 755 /home/samba/netlogon mkdir: se ha creado el directorio `/home/samba/netlogon' 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 \\cevirtual\homes a la unidad H: Mapear el recurso de red \\cevirtual\publico a la unidad P: Creamos el archivo /home/samba/netlogon/logon.conf en la sección de [netlogon] Ahora convertimos el archivo a formato DOS con CR/LF # sed -i 's/$/\r/' /home/samba/netlogon/logon. el acceso será de solo lectura. más sin embargo.bat: # nano /home/samba/netlogon/logon. en específico es usado cuando se configura que los usuarios de dominio utilicen los Perfiles Móviles (Roaming Profiles). ejecutamos: # chmod –Rvf 666 /home/samba/netlogon/logon. si podrá ser accesado para los usuarios que hacen login en el dominio.bat Y agregue el siguiente contenido: net time \\cevirtual /set /yes net use h: \\cevirtual\homes net use p: \\cevirtual\publico Nota \\cevirtual hace referencia a la carpeta /home/samba/ la cual definimos en el archivo de configuración de samba /etc/samba/smb.bat 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 propósito de este recurso compartido es almacenar los Perfiles de Usuarios. 20 .

" ignórelo. en la siguiente sección instalaremos el paquete smbldap-tools. la entrada en la SAM del dominio para el usuario alguien especifica: ProfilePath=\\cevirtual\profiles\alguien. Para correr la revisión ejecutamos: # testparm Load smb config files from /etc/samba/smb. este comando nos dirá si hay algún error de configuración. Si hubiera algún error en la sintaxis el comando testparm no lo reportará y nos dirá en que línea se encuentra el error y alguna descripción corta sobre el error. lo cual indica que el perfil del usuario alguien estará en el directorio local /home/samba/profiles/alguien.conf. Server role: ROLE_DOMAIN_PDC Press 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). Realizando una revisión sintáctica del archivo de configuración smb. o si algún parámetro está mal escrito.conf ejecutaremos el comando testparm para realizar un revisión sintáctica del archivo smb. 21 .conf Después de haber editado el archivo de configuración smb.conf Processing section "[homes]" Processing section "[netlogon]" Processing section "[profiles]" Loaded services file OK. por ejemplo.conf.[profiles] comment = Users profiles path = /home/samba/profiles guest ok = yes browseable = no create mask = 0600 directory mask = 0700 read only = no profile acls = yes csc policy = disable valid users = %U @"Domain Admins" La ruta de este recurso compartido será usado con el atributo ProfilePath para indicar la ruta en donde está almacenado el Perfil del Usuario. Creamos el directorio para el recurso compartido profiles: # 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.

dc=cevirtual" in secrets.conf.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.tdb. Se almacena aquí para no tener que especificarla cada vez que se vaya a ejecutar alguna operación relacionada a cuentas Samba en el directorio LDAP.tdb debe de tener los permisos así: # ls -l /var/lib/samba/secrets.tdb Ahora si podemos iniciar el servidor samba # /etc/init. El archivo secrets. Para especificar la contraseña del admin dn. agregar y modificar entradas en el directorio LDAP. La cuenta del ldap admin dn debe de tener los suficientes permisos para leer.tdb -rw------.1 root root 8192 2010-06-25 20:29 /var/lib/samba/secrets.d/samba start * Starting Samba daemons [ OK ] 22 .tdb New SMB password:admin Retype new SMB password:admin La contraseña será almacenada en el archivo /var/lib/samba/secrets. usamos el comando: # smbpasswd -W Setting stored password for "cn=admin.

conf El archivo smbldap_bind. lo copiamos así: # zcat /usr/share/doc/smbldap-tools/examples/smbldap. usaremos un archivo de ejemplo que se instala junto con el paquete smbldap-tools. Ya que el archivo /etc/smbldap-tools/smbldap.conf /etc/smbldap-tools/ Antes de empezar a configurar estas herramientas cambiaremos los permisos de acceso para estos archivos. Entramos al directorio /etc/smbldap-tools: # cd /etc/smbldap-tools Cambiamos el usuario y grupo propietarios para los archivos.conf.conf 23 . el usuario dueño debe de ser root y el grupo dueño debe de ser openldap.conf para especificar el usuario con con el que haremos las operaciones de administración de usuarios y grupos en el servidor LDAP. el archivo smbldap. # nano smbldap_bind.conf contiene directivas de configuración tanto para la creación y modificación de cuentas Unix y Samba y el archivo smbldap_bind. # chmod 640 smbldap* Editaremos el archivo de configuración smbldap_bind. en este directorio deben de existir dos archivos de configuración.conf contiene el usuario y la contraseña del usuario con el que nos conectaremos al servidor LDAP para efectuar las operaciones de administración de usuarios y grupos Unix/Samba.conf tampoco existe por lo que utilizaremos el archivo de ejemplo: # cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.gz > /etc/smbldap-tools/smbldap. Primero instalaremos el paquete smbldap-tools así: # apt-get install smbldap-tools Los archivos de configuración de las herramientas smbldap-tools se encuentran en el directorio /etc/smbldap-tools.conf no existe.Instalación y Configuración de las smbldap-tools Ahora configuraremos las herramientas smbldap-tools para predefinir los parámetros de configuración para la administración de cuentas Unix y Samba. el grupo openldap solo tendrá permisos de lectura. # chown root:openldap smbldap* Nadie más a excepción del usuario root tendrá permiso de lectura y escritura sobre los archivos.

To obtain this number do: "net getlocalsid". parameter is taking from smb. Obteniendo el SID local: # net getlocalsid SID for domain cevirtual is: S-1-5-21-2850906233-539131870-2269658519 El SID resultante lo copiaremos.dc=com" masterPw="secret" Por: slaveDN="cn=admin. En el archivo smbldap.Cambiar: slaveDN="cn=Manager.0. # If not defined. Ahora editamos el archivo principal de configuración de smbldap-tools /etc/smbldaptools/smbldap.dc=company.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.0.conf Primero editaremos los parámetros referentes al dominio Samba: # Put your own SID.dc=com" slavePw="secret" masterDN="cn=Manager.conf configuration file # Ex: sambaDomain="IDEALX-NT" sambaDomain="CEVIRTUAL" # Slave LDAP server # Ex: slaveLDAP=127.dc=company. en este caso el SID es: S-1-5-21-2850906233-5391318702269658519 Como mínimo debemos de configurar los parámetros que están marcados en negritas.conf: # nano /etc/smbldap-tools/smbldap.1 24 . parameter is taking from "net getlocalsid" return SID="S-1-5-21-2850906233-539131870-2269658519" # Domain name the Samba server is in charged. # If not defined.dc=cevirtual" slavePw="admin" masterDN="cn=admin.dc=cevirtual" masterPw="admin" Nota Aunque aun no tengamos configurado un servidor LDAP esclavo usaremos el mismo cn=admin que es nuestro servidor Maestro.

1" masterLDAP="127. parameter is set to "1" ldapTLS="0" Ahora especificaremos el Base DN de nuestro directorio LDAP.0.dc=ORG suffix="dc=cevirtual" # Where to store next uidNumber and gidNumber available for new users and groups # If not defined. esta configuración servirá como variable para otras configuraciones. MD5.${suffix}" # Ex: sambaUnixIdPooldn="cn=NextFreeUnixId. como también otros parámetros que se usaran como valores por defecto.1" # Master LDAP port # If not defined.0. SSHA.0.0. debemos configurar las rutas donde se almacenaran los directorios home de los usuarios Unix. # LDAP Suffix # Ex: suffix=dc=IDEALX.0. parameter is set to "389" slavePort="389" # Master LDAP server: needed for write operations # Ex: masterLDAP=127. # Ex: sambaUnixIdPooldn="sambaDomainName=${sambaDomain}.${suffix}" sambaUnixIdPooldn="sambaDomainName=${sambaDomain}. parameter is set to "389" masterPort="389" Conifguraciones de TLS/SSL: Ya que en esta instalación inicial no usaremos comunicaciones seguras por SSL/TLS desactivaremos el uso de TLS en nuestra configuración. parameter is set to "127.1" # Slave LDAP port # If not defined. you may set a salt format.0. entries are stored in sambaDomainName object. SMD5.# If not defined.${suffix}" # Unix password encryption (CRYPT. todos los contenedores para almacenar cuentas y grupos estarán bajo este Base DN. this option will use start_tls for connection # (you should also used the port 389) # If not defined.1 # If not defined. CLEARTEXT) hash_encrypt="MD5" # if hash_encrypt is set to CRYPT.0.0. # default is "%s". # Use TLS for LDAP # If set to 1. en este caso definimos la home como “/home/samba/homes/%U” pues ya habíamos definido 25 .8s".1" slaveLDAP="127. but many systems will generate MD5 hashed # passwords if you use "$1$%. parameter is set to "127. This parameter is optional! crypt_salt_format="%s" Además. SHA.0.0.

antes que ahí estarían las carpetas de los usuario (“%U” indica el nombre del usuario. similar al usado en la definición del script de logueo: # The UNC path to home drives location (%U username substitution) # Just set it to a null string if you want to use the smb.conf 'logon home' # directive and/or disable roaming profiles # Ex: userSmbHome="\\PDC-SMB3\%U" userSmbHome="\\cevirtual\homes\%U" # The UNC path to profiles locations (%U username substitution) # Just set it to a null string if you want to use the smb. que será el nombre de la carpeta del mismo): # Login defs # Default Login Shell # Ex: userLoginShell="/bin/bash" userLoginShell="/bin/bash" # Home directory # Ex: userHome="/home/%U" userHome="/home/samba/homes/%U" # Default mode used for user homeDirectory userHomeDirectoryMode="700" # Gecos userGecos="System User" # Default User (POSIX and Samba) GID defaultUserGid="512" # Default Computer (Samba) GID defaultComputerGid="20003" # Skel dir skeletonDir="/etc/skel" # 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" Lo mismo debemos hacer con las cuentas de para los usuarios Windows solo que usando un formato algo diferente.conf 'logon path' # directive and/or disable roaming profiles # Ex: userProfile="\\PDC-SMB3\profiles\%U" userProfile="\\cevirtual\profiles\%U" # The default Home Drive Letter mapping # (will be automatically mapped at logon time if home directory exist) # Ex: userHomeDrive="H:" userHomeDrive="H:" 26 .

Domain Guests.cmd" # make sure script file is edited under dos userScript="\\cevirtual\netlogon\logon.# The default user netlogon script name (%U username substitution) # if not used. ya que esta misma estructura podrá ser utilizada al configurar otras aplicaciones para que interactúen con el directorio LDAP.  Contenedor (OU= Unidad Organizativa ) para los Grupos Unix/Samba: ou=groups En el contenedor de los Grupos. El comando smbldap-populate inicializará nuestro directorio LDAP con la siguiente información:   Base DN: dc=cevirtual Contenedor (OU= Unidad Organizativa ) para las cuentas Unix/Samba: ou=users En el contenedor para los Usuarios. utilizaremos la contraseña: admin Es importante que se tenga en consideración la estructura de nuestro árbol de Directorio. 27 . se crearán por defecto los usuarios: root y nobody los cuales serán mapeados al usuarios Administrador y Guest Samba respectivamente. Domain Users. will be automatically username.bat" Llenando el Directorio LDAP con smbldap-populate Ahora que ya hemos editado los archivos de configuración de las herramientas smbldaptools.   Contenedor (OU= Unidad Organizativa ) para las cuentas de Computadoras Windows: ou=machines 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: # smbldap-populate Al final se nos solicita que asignemos una contraseña para el usuario root del dominio. Domain Computers.cmd # make sure script file is edited under dos # Ex: userScript="startup. inicializaremos nuestro directorio LDAP con la información para el dominio NT: CEVIRTUAL. se crearán por defecto los Grupos Predeterminados de un dominio Samba: Domain Admins.

dc=cevirtual changetype: modify replace: sambaGroupType sambaGroupType: 4 dn: cn=Administrators. Print Operators.ou=Groups.dc=cevirtual changetype: modify replace: sambaGroupType sambaGroupType: 4 Ahora realizamos la modificación con el comando ldapmodify usando el DN cn=admin.dc=cevirtual" modifying entry "cn=Print Operators.dc=cevirtual" modifying entry "cn=Administrators.dc=cevirtual" modifying entry "cn=Backup Operators.ldif con el siguiente contenido: dn: cn=Account Operators. el tipo de grupo samba 5 es usado para grupos de dominio y no para grupos locales.Las herramientas smbldap-populate crean 5 grupos locales (built-in): Account Operators.ldif Enter LDAP Password:admin modifying entry "cn=Account Operators.dc=cevirtual changetype: modify replace: sambaGroupType sambaGroupType: 4 dn: cn=Print Operators.ou=Groups. es necesario reiniciar samba para que tenga conocimiento de la nueva información. más información sobre el bug ver el bug 5551 de samba y el bug td18119198 de smbldap-tools.ou=groups.ou=groups.dc=midominio.ou=Groups. Administrators. A estos grupos les agrega el atributo sambaGroupType con el valor 5. Replicators. # /etc/init.d/samba restart * Stopping Samba daemons * Starting Samba daemons [ OK ] [ OK ] 28 .dc=cevirtual changetype: modify replace: sambaGroupType sambaGroupType: 4 dn: cn=Backup Operators.ou=groups. # ldapmodify -h localhost -x -D "cn=admin. Use el comando ldapmodify para cambiar los atributos en los dn de los grupos. Backup Operators.ou=groups. para los grupos samba locales debe usar el tipo 4. cree el archivo /tmp/samba-builtin-changetype.ou=Groups.dc=com" -W -f /tmp/samba-builtin-changetype.dc=cevirtual" Después de haber llenado el directorio con los usuarios y grupos de dominio predeterminados.

ya que nuestro sistema usará un directorio LDAP para almacenar la información de los usuarios y grupos será necesario indicarle a la biblioteca NSS que debe usar un directorio LDAP para obtener información sobre dichas identidades.0. esta resolución es llevada a cabo por la biblioteca del sistema NSS (Name Service Switch). usamos el comando: # 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. # cp /etc/ldap.conf.orig} 29 . Deberemos de contestar lo siguiente:      LDAP server Uniform Resource Identifier: ldapi://127. por lo que solo contestaremos las preguntas con cualquier cosa para después reconfigurar libnss-ldap manualmente.conf{. es aquí donde entra el paquete nss_ldap. grupos y shadow usando archivos locales.. El sistema de administración de paquetes apt nos lanzará un asistente para configuración. la cual es invocada cada vez que algún comando o aplicación tratan con alguna cuestión de permisos o autenticación. /etc/group y /etc/shadow.1 Distinguished name of the search base: dc=cevirtual 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. el paquete nss_ldap es un plugin para la biblioteca del sistema NSS para poder realizar la resolución de identidades usando como fuente de origen un directorio LDAP.Configuración de la resolución de Identidades con NSS_LDAP En los sistemas Unix las cuentas de usuario y grupo son mapeadas a un identificador numérico llamado UID (User ID) y GID (Group ID) respectivamente.0. En Debian/Ubuntu el plugin LDAP para la biblioteca NSS es provisto por el paquete libnss-ldap. es decir. /etc/passwd. ya que nosotros crearemos una configuración nueva este archivo lo podemos renombrar. lo instalaremos en el sistema vía apt: Para instalar el paquete libnss-ldap. Por default la biblioteca de sistema NSS realiza la consulta de usuarios. la configuración del asistente no es exactamente como nosotros la necesitamos.

dc=cevirtual ou=groups.libuuid.FILES} Ahora editamos el archivo para decirle que para obtener la información de usuarios. Después de respaldar el archivo ldap.1 root root 467 2008-06-18 23:37 /etc/ldap.0. grupos también consulte el directorio LDAP especificado en el archivo /etc/ldap.games.conf.bin.sshd. group y shadow.conf Deberá de quedar así: # Config file for libnss-ldap and libpam-ldap uri ldap://127.conf deben de ser 644.conf -rw-r--r-.conf lo editaremos # nano /etc/ldap.conf.man.sys.dc=cevirtual ou=users.lp.uucp.1/ ldap_version 3 base dc=cevirtual pam_filter objectclass=posixAccount pam_login_attribute uid pam_member_attribute memberuid pam_password exop nss_base_passwd nss_base_passwd nss_base_shadow nss_base_group ou=users.dc=cevirtual bind_policy soft nss_initgroups_ignoreusers backup.sync. 30 .conf y modificar las entradas para las entidades: passwd.klog.proxy. como se muestra a continuación: # ls -l /etc/ldap.news .gnats. deberemos de modificar el archivo /etc/nsswitch.irc.dhcp.Importante No confundir con el archivo de los clientes LDAP /etc/ldap/ldap.dc=cevirtual ou=machines.daemon.0.syslog.conf Para que el servicio de resolución de entidades en realidad pueda obtener la información del directorio LDAP..list.mail.openldap. Antes de modificar el archivo de configuración de resolución de entidades haremos una copia de seguridad: # cp /etc/nsswitch.www-data Los permisos del archivo /etc/ldap.conf{.

Después de guardar los cambios haremos unas pruebas con el comando getent para verificar que si este haciendo las consultas al directorio LDAP. 31 . # getent group | grep -E 'root|Domain' root:x:0: Domain Admins:*:512:root Domain 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.conf Cambiar: passwd: group: shadow: compat compat compat Por: passwd: group: shadow: hosts: compat ldap compat ldap compat ldap 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.# nano /etc/nsswitch. Podemos utilizar el comando id para verificar que la resolución de entidades muestre a que grupos pertenece el usuario 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. Verificando la resolución de usuarios: # getent passwd | grep root root:x:0:0:root:/root:/bin/bash root:x:0:0:Netbios Domain Administrator:/root:/bin/bash En la salida del comando anterior deberemos de ver dos resultados para root.

y despues ejecute lo siguiente: # id root uid=0(root) gid=0(root) groups=0(root).conf”.conf 32 .conf /etc/ldap. Para crear el link ejecutamos la siguiente línea: #ln --l /etc/libnss-ldap.Inicie una nueva sesión como root en el equipo ya sea por ssh o localmente en una TTY. el usuario root pertenece al grupo 512 (Domain Admins) que está en el directorio LDAP.512(Domain Admins) En este caso. ya que otras versiones lo buscan con el nombre “ldap. Nota Es recomendable crear un link al archivo libnss-ldap en la carpeta /etc porque pueda que según las versiones de los paquetes que se estén usando no los encuentre.

33 .Configuración de la Autenticación con PAM_LDAP Introducción a los Módulos de Autenticación PAM Que es PAM? PAM son las siglas de Plugable Authentication Modules que básicamente es un mecanismo flexible para autenticar usuarios. a continuación se muestra un ejemplo: password requisite pam_unix. Cada línea de los archivos de configuración de PAM contiene tres columnas más argumentos opcionales.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.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 pam_unix.

d/common-account account required pam_unix.so nullok use_authtok md5 shadow password sufficient pam_ldap. Configurando los módulos de autenticación de PAM Configuración del modulo auth Configurar los archivos de acuerdo a: # nano /etc/pam.d/.Respaldando la configuración de PAM Ya que la configuración de PAM y sus modulos es muy importante.d/common-password password required pam_cracklib.so session optional pam_ldap.d/common-session session required pam_unix.so account sufficient pam_ldap..so use_authtok password required pam_deny.d/common-auth auth sufficient auth sufficient auth required pam_unix.so use_first_pass pam_deny. respaldaremos todo el directorio root@ushldap:~# cp -va /etc/pam.so Configuración del modulo account # nano /etc/pam.so Configuración del modulo session Configurando la Autorización (Auths) con PAM LDAP: # nano /etc/pam.d{. /etc/group y /etc/shadow.so likeauth nullok pam_ldap.so 34 .so Configuración del modulo password # nano /etc/pam. haremos un respaldo antes de realizar nuestras modificaciones: Todas las configuraciones de PAM estan en el directorio /etc/pam.FILES} Nuestro respaldo tendrá el sufijo . y cualquier configuración mal hecha podría causar que ya no podamos iniciar sesión localmente ( ni como root).FILES para indicar que son las configuraciones que usan los archivos /etc/passwd.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 password sufficient pam_unix.

conf) para que nos deje crear el link que deseamos. este archivo se configura exactamente igual que el archivo libnss-ldap. Para instalar el modulo pam_cracklib. Pero antes. ya que otras versiones lo buscan con el nombre “pam. Por medio del modulo pam_cracklib también podemos especificar el tamaño mínimo de una contraseña. cracklib es un conjunto de bibliotecas que nos servirán para verificar que las contraseñas suministradas por usuarios unix sean lo suficientemente fuertes. así: # apt-get install libpam-cracklib Configurando Archivo de configuración libpam-ldap. debemos cambiar de nombre a un archivo que tiene el mismo nombre (pam. así.conf”. son prácticamente idénticos. Para crear el link ejecutamos la siguiente línea: #ln --l /etc/libpam-ldap. Nota Es recomendable crear un link al archivo libpam-ldap en la carpeta /etc porque pueda que según las versiones de los paquetes que se estén usando no los encuentre.conf”.Instalando el modulo Cracklib de PAM En el modulo de autenticación password especificamos que es requerido el uso de pam_cracklib. Referirse a la sección de configuración de dicho archivo para configurar este último. La ruta del mismo es “/etc/libpam-ldap.conf Sencillo. el chequeo lo hace contra un diccionario de palabras. instalaremos el paquete libpam-cracklib.conf 35 . si un usuario ingresa una contraseña basada en alguna palabra del diccionario cracklib nos alertará.conf /etc/pam.

gz > \ /usr/sbin/smbldap-migrate-unix-groups Ahora le configuraremos los permisos a estos dos scripts para que puedan ser ejecutados sin problemas: # chmod 755 /usr/sbin/smbldap-migrate-unix-* Y por último verificamos que los permisos se hayan puesto correctamente: # ls -l /usr/sbin/smbldap-migrate-unix-* -rwxr-xr-x 1 root root 11640 2008-07-18 00:49 /usr/sbin/smbldap-migrateunix-accounts -rwxr-xr-x 1 root root 5533 2008-07-18 00:50 /usr/sbin/smbldap-migrateunix-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 y grupos Unix/Posix al directorio LDAP Aca explicaremos como migrar las cuentas locales de sistema (/etc/passwd) y los grupos locales (/etc/group) a nuestro directorio LDAP. En Debian no se incluyen las herramientas necesarias para migrar cuentas Unix a LDAP. Migraremos la información de ambos archivos siguiendo el siguiente procedimiento: 1. Hacer una copia de los archivos /etc/passwd y /etc/shadow en un directorio temporal: # cp /etc/passwd /etc/shadow /tmp/ 36 .gz > \ /usr/sbin/smbldap-migrate-unix-accounts Instalando el script para migrar grupos Unix: # zcat /usr/share/doc/smbldap-tools/examples/migration_scripts/smbldapmigrate-unix-groups. estas herramientas estan como ejemplos en el directorio /usr/share/doc/smbldap-tools/examples/migration_scripts/. y en el archivo /etc/shadow principalmente está almacenado el hash de la contraseña del usuario. necesitaremos copiar estas herramientas a /usr/sbin/. lo haremos así: Instalando el script para migrar cuentas unix: # zcat /usr/share/doc/smbldap-tools/examples/migration_scripts/smbldapmigrate-unix-accounts. sin embargo. Migración de Usuarios (/etc/passwd y /etc/shadow) La información de cuentas de usuario están almacenadas en el archivo /etc/passwd.

el atributo sambaSAMBAccount será agregado a los usuarios importados. 4.*)\n@@' /tmp/shadow done 8. 7. # rm -i /tmp/passwd /tmp/shadow 11. rm: remove regular file `/tmp/passwd'? y rm: remove regular file `/tmp/shadow'? y 37 . # for user in root nobody bin daemon do export user perl -i –pe's@^$ENV{user}:(. Eliminando los archivos temporales 10.2. 6. Ahora migramos las cuentas de /tmp/passwd y /tmp/shadow a nuestro directorio: # smbldap-migrate-accounts -a -P /tmp/passwd -S /tmp/shadow Nota Con la opción -a de smbldap-migrate-accounts. 5.*)\n@@' /tmp/passwd perl -i -pe's@^$ENV{user}:(. 9. Todos los usuarios que previamente tenían definido 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. Eliminar de ambos archivos todas las cuentas que no quieras importar en el directorio LDAP 3.

Migración de Grupos (/etc/group)
Ahora migraremos los grupos del archivo /etc/group. El proceso de Migración deberá de hacerse como sigue: 1. Hacer una copia del archivo /etc/group a un directorio temporal:
# cp /etc/group /tmp/

2. Elimina todos los grupos que no quieres que se importen al directorio LDAP
3. 4. 5. 6. # for group in root bin daemon do export group perl -i -pe's@^$ENV{group}:(.*)\n@@' /tmp/group done

7. Ahora si migramos los grupos al directorio LDAP
# smbldap-migrate-groups -a -G /tmp/group

8. Eliminando el archivo temporal
9. # rm -i /tmp/group rm: remove regular file '/tmp/group'? y

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 grupos Windows (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.

38

Integrando Clientes Windows al Dominio Samba
Para que un equipo con el sistema operativo Windows pueda participar en un dominio de red, sea Samba o NT, el equipo debe de unirse al dominio, el proceso para unir un equipo Windows a un Dominio 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.

Requerimientos del Sistema
Para 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 Windows
En 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.0.2 Servidor WINS: 192.168.0.2

39

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 Propiedades de Protocolo Internet (TCP/IP) General

En el cuadro de dialogo Configuración avanzada de TCP/IP después damos click en la pestaña de nombre WINS

40

para agregar el servidor WINS damos click en el botón Agregar como se muestra en la imagen de abajo.Agregar 41 . Propiedades de Protocolo Internet (TCP/IP) Configuraciones WINS Agregamos la dirección IP de nuestro servidor Samba WINS como se muestra en la imagen de abajo Propiedades de Protocolo Internet (TCP/IP) Configuraciones WINS .En esta pestaña vamos a agregar la dirección IP de nuestro servidor WINS (NetBIOS Name Server ó NBNS).

42 . 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 de Protocolo 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. Nota Podemos agregar más de un servidor WINS.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. el sistema los evaluará en el orden en que aparecen.

Configuración del nombre de equipo Windows Verificación de nombre de equipo y grupo de trabajo. Ahí nos muestra una parte de la configuración de red... 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. Esta es una computadora recién instalada y en el proceso de instalación se le asigno el nombre de equipo: virtualxp 43 . Después damos click en la pestaña Soporte.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. para ver la información completa de la configuración de red. Damos click en el botón Detalles. entonces podemos continuar con el paso de configuración del nombre de equipo.

y nos aparecerá una ventana como la siguiente. Propiedades del sistema.. podemos dar click en el botón Cambiar. Nombre de Equipo Si se desea cambiar el nombre del equipo (recordar que este nombre será como nos verán en la red)..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 así: Propiedades del sistema. Cambios en el nombre de equipo 44 .

de red. 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.Se cambia el nombre donde dice Nombre de equipo: y se da click en Aceptar. Uniendo el equipo Windows al Dominio Samba Para 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 red Samba/NT. Lanzamos el asistente de identificación de red dando click en el botón Id. Usando el Asistente de Identificación de red 45 .

paso 1 Para continuar con el asistente damos click en el botón Siguiente > 46 . Asistente de identificación de red.La primera pantalla nos da la bienvenida al asistente para conectar el equipo a una red.

en nuestro caso seleccionamos la opción que dice: El equipo forma parte de una red organizativa y lo utilizo para conectarme a otros equipos en el trabajo y damos en el botón Siguiente > para continuar. Asistente de identificación de red. elegimos la opción: Mi compañia utiliza una red con dominio y damos click en el botón Siguiente >. paso 2 En el siguiente paso nos pregunta el tipo de red de nuestra organización. Asistente de identificación de red. paso 3 47 .El siguiente paso nos pregunta qué tipo de equipo tenemos.

paso 5 48 . paso 4 A continuación se muestra la información requerida junto con la información correspondiente a nuestro dominio: Nombre de usuario: alguien Contraseña de usuario: alguien Cuenta de usuario del dominio: alguien Es posible que también necesite: Nombre del equipo: virtualxp Dominio del equipo: CEVIRTUAL 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 a virtualxp. Configuramos esta información como se muestra en la siguiente imagen: Asistente de identificación de red.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 Asistente de identificación de red.

si no la encuentra nos mostrará un cuadro como el siguiente. nos pide escribir nuevamente el nombre de equipo y el dominio.Después de ingresar la información damos click en el botón Siguiente >. donde nos avisa que no encontró la cuenta de equipo en el dominio. Al dar click en Siguiente el asistente tratará de encontrar una cuenta de equipo de nombre virtualxp en el dominio CEVIRTUAL. paso 6 49 . Asistente de identificación de red.

después damos click en el botón Aceptar para continuar. ya que la cuenta de equipo no se encontró en el dominio CEVIRTUAL. Asistente de identificación de red. necesitaremos usar una cuenta con privilegios administrativos de dominio y su contraseña para que por medio del asistente de identificación de red se cree la cuenta de equipo virtualxp en el dominio CEVIRTUAL. 50 . usaremos la cuenta de root que se creó con smbldap-populate.Damos click en el botón Siguiente >. paso 7 Ya que no tenemos cuentas con privilegios administrativos de dominio. ingresamos su contraseña y el nombre de dominio CEVIRTUAL como se muestra en la imagen de arriba.

por defecto esta seleccionado el nivel de acceso: Usuario estándar. paso 8 Usaremos el nombre de usuario: alguien y el nombre de dominio: CEVIRTUAL. 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 alguien tendrá sobre el equipo VIRTUALXP. cuando se agrega un usuario a este equipo se le concede acceso a todos los recursos del equipo y a todos los recursos compartidos en la red. nos dirá que podemos agregar un usuario al equipo. paso 9 51 . en la siguiente ventana.Si las credenciales que presentamos fueron correctas. Asistente de identificación de red. Asistente de identificación de red.

por ejemplo.El nivel de acceso Usuario estándar permite que los usuarios puedan cambiar muchas configuraciones del sistema e instalar programas que no afecten a los archivos del sistema de Windows. es decir. Por ahora seleccionamos el nivel de acceso Usuario estándar y damos click en el botón Siguiente > para finalizar. lo cual significa que puede cambiar configuraciones. El nivel de acceso Usuario restringido permite que los usuarios pueden utilizar el equipo y guardar documentos. esto quiere decir que el usuario alguien tendrá todos los privilegios sobre el equipo VIRTUALXP. Asistente de identificación de red. puede hacer lo que le dé la gana sobre el equipo. podemos dar acceso de Administrador al usuario. Figura 12. Digamos que este es el nivel intermedio. En Otros: podemos elegir otros niveles de acceso. puede instalar y desinstalar programas que afecten el sistema. incluso formatear :D.17. Ultimo Paso 52 . pero no pueden instalar programas o cambiar la configuración del sistema.

Damos click en el botón Finalizar. reiniciar el equipo Damos click en el botón Aceptar y nos lleva a la siguiente imagen: Asistente de identificación de red. Asistente de identificación de red. Alerta de re iniciar el equipo 53 .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.

Pantalla inicial Para poder iniciar sesión presionamos la combinación de teclas Ctrl+Alt+Supr y nos mostrará una ventana como la siguiente: Inicio de sesión de Windows .Pantalla predeterminada de login Si queremos ver en qué equipo o dominio queremos iniciar sesión podemos dar click en el botón "Opciones" y nos mostrará algo así: Inicio de sesión de Windows .Pantalla con opciones activa 54 . Como Iniciar Sesión el Dominio Samba Después de reiniciar el equipo nos cambiará la ventana de inicio de sesión a como se muestra a continuación. damos click en el botón Aceptar para terminar y re iniciar.Para que los cambios que hicimos en el asistente de identificación de red tenga efecto es necesario re iniciar el equipo. Inicio de sesión de Windows .

Después de iniciar sesión en el dominio el menú de inicio se verá así: Inicio de sesión .Nota Si queremos conectarnos al equipo local. damos click en el menú desplegable de Conectarse a: y elegimos: VIRTUALXP (este equipo).Menú inicio 55 .

168.2/ Configuramos e archivo /etc/libnss-ldap.168.2/ rootbinddn cn=admin.dc=cevirtual Configuramos e archivo /etc/pam-ldap.conf (/etc/ldap.conf para ubuntu y otros) host 192.168.168.168.dc=cevirtual ou=groups.conf (/etc/pam.conf.2 base dc=cevirtual uri ldap://192.0.dc=cevirtual pam_password exop nss_base_passwd nss_base_shadow nss_base_group ou=users.0. agregar BASE URI dc=cevirtual ldap://192.dc=cevirtual pam_password exop nss_base_passwd ou=users.conf para ubuntu y otros) host 192.2/ ldap_version 3 rootbinddn cn=admin.0.Integración de clientes Linux al dominio Instalar libnss-ldap y libpam-ldap apt-get install libnss-ldap libpam-ldap Reconfiguramos los archivos de libnss-ldap #dpkg-reconfigure libnss-ldap Reconfiguramos los archivos de libpam-ldap #dpkg-reconfigure -a libpam-ldap Configuramos el archivo /etc/ldap/ldap.dc=cevirtual 56 .dc=cevirtual ou=users.2 base dc=cevirtual uri ldap://192.0.0.

0. 127.2 name resolve order = wins hosts lmhosts bcast #========= Opciones para registro de eventos (Logging)====== log level = 1 syslog = 0 log file = /var/log/samba/%m.conf /etc/ldap.168. renombrando los archivos linkeados con sus similares de la distro ubuntu.conf ln --l /etc/libnss-ldap.dc=cevirtual ou=groups.log max log size = 50 57 .conf Autenticación De Usuarios Y Grupos De Dominio Samba En Clientes Linux Instalar samba smbclient # 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 = CEVIRTUAL netbios name = debian server string = debian de CEVIRTUAL 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.conf /etc/pam. tal como está a continuación: ln --l /etc/pam-ldap.255 wins server = 192.0.nss_base_shadow nss_base_group ou=users.168.dc=cevirtual Para corregir cualquier error que puede llegar a suceder entre diferentes distros se crean links de los siguientes archivos.0.0 remote announce = 192.0. hosts deny = 0.0.168.

168.0.dc=cevirtual ldap suffix = dc=cevirtual ldap group suffix = ou=groups ldap user suffix = ou=users ldap machine suffix = ou=machines ldap idmap suffix = ou=idmap idmap backend = ldap:ldap://192.2/ 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: # smbpasswd -W Setting stored password for "cn=admin.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.0.2/ ldap admin dn = cn=admin.dc=cevirtual" in secrets.tdb New SMB password:admin Retype new SMB password:admin Reiniciamos samba para que los cambios tomen efecto: # /etc/init.168. Podemos utilizar el mismo comando net para obtener información del dominio al que nos unimos: # net rpc info –U alguien Password: 58 .d/samba restart * Stopping Samba daemons * Starting Samba daemons [ OK ] [ OK ] Ahora verificamos que samba pueda leer las cuentas de dominio: # pdbedit -L root:0:root nobody:65534:nobody virtualxp$:1003:VIRTUALXP$ Ahora unimos el equipo samba al dominio con el siguiente comando: # net rpc join -U root Password:dominioadmin Joined domain CEVIRTUAL.

Domain Name: CEVIRTUAL Domain SID: S-1-5-21-2911508632-2405292923-4115677068 Sequence number: 1232322213 Num users: 6 Num domain groups: 7 Num local groups: 0 59 .

servidor DNS (Bind9) y demás no son necesarias.conf (/etc/samba/smb.conf  libnss-ldap y lbpam-ldap: /etc/nombre_del_archivo 60 .0. solo los cambios que se deben hacer para que se comporte como respaldo. A continuación se detallarán las configuraciones que son diferentes en los diferentes archivos de los paquetes instalados y necesarios para el servidor BDC que detallamos al inicio de ésta sección.168.2/ Ésta linea indica el servidor contra el que se autenticará.conf. Archivo ldap. por ello el servidor maestro debe tener un número mayor que el servidor de respaldo. Para empezar. asi que no mostraremos los configuraciones completas. “libnss-ldap” y “libpam-ldap”. debes verificar este número en ambos.conf) En éste archivo debemos configurar unas cuantas cosas:  passdb backend = ldapsam:ldap://192. para montar el servidor BDC en sí.conf) La única línea que cambia de este archivo de configuración es la siguiente: URI ldap://192.conf : /etc/smbldap-tools/smbldap. que en nuestro caso es LDAP y la ip del servidor maestro (no el que estamos configurando como servidor de respaldo)  os level = 60 El cual indica el nivel de presentación de samba en la red.Configurando un Controlador de Dominio de Respaldo (BDC) Las configuraciones para un servidor de control de dominio de respaldo (bdc) son similares a las del servidor maestro (PDC). libnss-ldap y libpam-ldap Primeramente las rutas de estos archivos son las siguientes:  smbldap. La parte del servidor LDAP.conf (/etc/ldap/ldap.0.168.2/ La cual indica la dirección la dirección donde se encuentra la base de datos LDAP Archivo smb. sigue los pasos que se describieron anteriormente. pero debe colocarse en “no” para que nuestro servidor sea reconocido como BDC Archivo smbldap. debemos recalcar que solo es necesario instalar y configurar el servidor “Samba” y sus complemento “smbldap-tools”.  domain master = no Ésta opción es algo obvia.

1) sino a nuestro servidor maestro que está para nuestro caso en 192. lo único que debemos configurar es que cada ip ya no apuntará al servidor local (127.0.0. Y listo.En estos 3 archivos.0.168.2. Para comprobarlo podemos usar el comando “testparm” en cada uno de nuestros servidores y veremos el rol de cada uno y que nuestras configuraciones sean correctas. ya tenemos configurado nuestro servidor BDC. Nos tendrían que dar unas salidas como éstas (poner atención a la línea que dice “Server role”: En el PDC: Y en el BDC: 61 .

IMPORTANTE esta clave NO es la que usaremos para administrar el OpenFiler. Particionar el disco: esto se puede hacer automáticamente de forma que hace lo que considera oportuno o bien lo haces tú manualmente. en la implementación del mismo se utilizará un servidor de archivos llamado OpenFiler. 5. Otra cosa es el espacio que quieras destinar para almacenar los archivos de guardaras en el servidor. para ello. debemos dejar una porción del disco sin particionar y sin formato. DNSs. Aca el sistema instala los archivos necesarios.Servidor de archivos OpenFiler Bueno. Reiniciar Ya con esto tenemos instalado nuestro servidor de archivos. puedes obtener el archivo .com/learn/how-to/graphical-installation 62 . 4. 7. Una vez finalizada la instalación podremos y cambiar la clave. Para más o menos hacerse una idea. Instalación de paquetes. la instalación ocupa algo más de 500 MB así que no hace falta un disco duro exageradamente grande para instalarlo. Poner la clave de root.openfiler.iso de la página oficial de OpenFiler mencionada anteriormente. 2. usaremos la cuenta “openfiler” y la clave es “password”. éste servidor será utilizado para almacenar de manera centralizada los archivos de todos los usuarios del sistema. Para administrar OpenFiler. ¿Qué es OpenFiler? Es un sistema Linux basado en una distribución llamada CentOS. Pero. Luego la quemas en un CD para poder instalarlo en una máquina que será utilizada solo como servidor de datos.com/ Instalación del servidor OpenFiler Primeramente. gateways. Para más información visita su página oficial: http://www. 3. el cual provee muchos servicios para montar un servidor de archivos con diferentes tecnologías. es una instalación relativamente rápida. Configuración de red: DHCP o IP estática. Entramos con el CD de OpenFiler en la computadora que servirá como servidor. Seleccionar el idioma. así como también otros servicios que ayuden al funcionamiento o a dar mayores prestaciones a nuestro servidor de archivos. si deseas ver información mas detallada sobre la instalación del mismo. mas adelante explicaremos las configuraciones necesarias para poder utilizarlas. 6. Los pasos a seguir para instalar el sistema son los siguientes: 1. visita su manual oficial (en inglés): http://www. como se dijo al inicio de éste manual.openfiler.

seleccionamos la opción “System” del menú principal y luego la sección “Network Access Configuration” hasta el fondo de la página. deberas utilizar http seguro para poder acceder al mismo. lo mejor sería agregar nada mas ellos como hosts de acceso al servidor. Para hacer esto.0. debemos seleccionar en el campo “Type” la opción “Share”. Nota Como en nuestro control de dominio.255. para que el servidor esté disponible para esa red.0. debemos escribir en un navegador (de una computadora que este en el mismo dominio que el servidor) la dirección ip del OpenFiler seguida por dos puntos y el numero 446 que es el puerto que utiliza OpenFiler. para evitar que cualquier otra máquina pueda acceder a ellos. Para ello. solo el servidor samba PDC y samba BDC se encargan de guardar los archivos.0 con la máscara (“Netmask”) 255. la 192. puedes acceder al mismo via su panel de control basado en web. es configurar los host. usa el username “openfiler” y la contraseña “password” para poder loguearte al servidor Configurando la red Lo primero que debemos hacer.168. el cual te permite configurar todas las opciones disponibles en el mismo. así: https://IP de OpenFiler:446/ Aparecerá en el navegador una ventana como la siguiente: Aca. la red o las redes que podrán tener acceso a nuestro servidor. 63 .Configuración de servidor de archivos OpenFiler Una vez tenemos instalado OpenFiler.255. además. además. en nuestro caso. configuramos una red completa que pueda acceder al servidor. ahí agregamos la ip del/los hosts que podrán accesar a la red.

Volume Group (Grupo del volumen) – Contiene un volume físico en el cual se creará un volumen lógico que será nuestro espacio de almacenamiento.Información importante sobre volúmenes Antes de continuar con las configuraciones. 64 . Con estos conceptos presentes. 2. ya que los utilizaremos para configurar la parte del almacenamiento de archivos en el servidor: 1. pasaremos a configurar los volúmenes para nuestro servidor. Physical Volume (volumen físico) – Asigna un espacio en el disco físico de la maquina para ser usado por el Volume Group. Logical Volume (LUN o volumen lógico) – Este es el espacio que utilizará el servidor para almacenar los archivos. 3. aclararemos unos conceptos importantes como lo son los volúmenes en OpenFiler.

Creación de un Nuevo volumen físico ¿Recuerdan que dejamos un espacio sin particionar en el disco del servidor? Bueno. seleccionamos “Block Devices” del menú “Volumes Section”: Seleccionamos la opción „Edit Disk‟ en el disco que queramos crear el volumen físico. nos aparecerá una pantalla resumen donde estaran los diferentes volúmenes que tenemos disponibles en nuestro servidor (si es que creamos mas de uno) 65 . si no se habilitan. Para hacer esto. prueba cambiando el tipo de partición en la opción “Mode”) Seleccionamos el espacio que queremos darle al volumen con las cajas de texto para los cilindros. aca configuraremos ese espacio como volumen físico para que este disponible para ser usado por OpenFiler. en la opción “Partition Type” seleccionamos el tipo “Physical Volume” y presionamos el botón “Create” para crear nuestro nuevo volumen: Luego. Ve hacia el fondo de la página que se te presentará al seleccionar esa opción y verás el espacio disponible en el disco para crear el nuevo volumen físico (podrás notar que tienes espacio para crear el volumen si la opción “Starting Cylinder” y “Ending Cylinder” están habilitadas. Necesitamos crear un volumen físico que luego será presentado a través de un grupo de volumen.

Escribimos un nombre para el grupo en la casilla llamada “Volume group name”.Creando el nuevo Grupo de volumen Lo siguiente que vamos a crear es el “Volume Group” para el “Physical Volume” que creamos anteriormente. para finalizar presionamos el botón “Add volumen group” Ahora aparecerá una pantalla que muestre el nuevo grupo de volumen que acabamos de crear: 66 . Damos click en la ficha “Volumes” y luego seleecionamos “Volume Groups” de la sección de “Volume” en el menú que esta al lado derecho. en nuestro caso le pusimos “cevirtual_volumegroup” y chequeamos mas abajo el volumen físico que vamos a asociar al volumen de grupo.

para el sistema de archivos (Filesystem/Volume type) seleccionamos “iSCSI”. Escribimos un nombre para el volumen. Para nuestro caso en particular. 67 . Damos click en la opción “Add volume” en la parte derecha de la pantalla en el menú “Volumes section” y nos aparecerá algo como esto: Seleccionamos el grupo de volumen que creamos en el paso anterior y presionamos el botón “Change”. Tambien debemos seleccionar el tamaño que ocupara moviendo el indicador lo mas a la derecha o según te convenga o desees. nosotros lo llamamos “cevirtual_volume”. crearemos un volumen que ocupe todo el espacio del grupo de volumen que esta unido al volumen físico que creamos antes. Veremos una pantalla donde se configure el tamaño del volumen que crearemos para el grupo de volumen que estamos editando. muy importante el escoger este tipo de volumen.Creando el volumen Es el momento de crear el volumen. Luego.

podemos presionar el botón “Create” para crear nuestro nuevo volumen. Una vez tenemos creado nuestro volumen.Luego de verificar las configuraciones. veremos una pantalla donde aparece un gran circulo verde que indica el la cantidad o el espacio usado del grupo de volumen que nuestro nuevo volumen consume: 68 .

Ahora debemos habilitar el lado de la conectividad para que se pueda acceder a este nuevo recurso que hemos habilitado. ya tenemos completamente creado y configurado nuestro volumen para los datos. 69 . Al final tendremos algo como ésto: Agregando un target iSCSI o servicio iSCSI Regresamos a la sección de volúmenes y seleccionamos la opción “iSCSI Targets” del menú a la derecha.Bueno. Puedes cambiar el nombre del target o “Target IQN” si lo deseas. Lo siguiente es ir a la opción “Modification” y dar click en “Enable” del servicio “iSCSI target server” para habilitar el servicio (esto en caso de que no este habilitado con anterioridad). Primero crearemos un nuevo servicio iSCSI (iSCSI target) y lo hacemos seleccionando la viñeta “Tarjeta Configuration” en la pantalla actual. Luego presionamos el botón “Add” para agregar el target. Habilitando el servicio iSCSI en el servidor (iSCSI Target) Damos click en la opción “Services” en el menú principal de OpenFiler.

Para ello. seleccionamos en “Access” la opción “Allow” para permitir a quienes queramos el acceso. 70 . Ya lo tenemos listo para ser utilizado en la red o hosts que configuramos que podrían tener acceso al mismo.Mapeando el volumen lógico o LUN Ahora seleccionamos la viñeta “LUN Mapping” y damos click en el botón “Map” Permitiendo el acceso al servidor iSCSI Establecemos la regla de acceso para la red o hosts que podrán acceder a los datos. Hasta aquí con la configuración del servidor.

Instalación de open-iscsi Lo primero que vamos a hacer es instalar el software iniciador. session: En este modo se administran los targets a los que se está conectados (en los que se ha hecho login). En este modo se administran los targets ya descubiertos y se pueden visualizar datos acerca de estos nodos. Hay que aclarar que iscsiadm tiene tres formas de operación discovery: node: En este modo se pueden descubrir targets y agregarlos a la base de datos. la siguiente configuración se realizará en ambos servidores de manera idéntica.d/open-iscsi start Configuración de open-iscsi La configuración de open-iscsi se realiza a través del comando iscsiadm y la misma se guarda en una base de datos. y un programa para configurar nuestro iniciador (iscsiadm). Si queremos cambiar algún parámetro de la configuración tenemos que hacerlo a través de iscsiadm. además está dentro de la paquetería de Debian. ya tenemos montado nuestro servidor de archivos OpenFiler y nuestros controladores de dominio PDC y BDC. Lo instalamos # apt-get install open-iscsi Esto nos instalará un script de inicio que carga los módulos y lanza un programa que controla el iniciador (iscsid).Integrando servidor de archivos OpenFiler con los controladores de dominio Como recordamos. sin embargo el más usado es open-iscsi. Detección del target En primer lugar tenemos que indicarle a iscsiadm que detecte nuestro target iSCSI y lo agregue a su base de datos. 71 . Lo primero que debemos hacer es iniciar el servicio # /etc/init. es decir. pero aun no los hemos integrado para que los archivos de los usuarios de nuestro sistema de control de dominio tengan sus archivos de manera centralizada. vamos a montar la partición iSCSI que tenemos en nuestro servidor OpenFiler ya configurado y también debemos configurar a nuestro PDC y BDC como clientes iSCSI. así como conectarse a ellos. En Linux contamos con varios iniciadores iSCSI. Para lograr esto.

InitialR2T = No node..168.2005-02.active_conn = 1 node.session.username = node.empresa:san.168. si queremos saber cuál es la información que se almacenó sobre el target descubierto.tpgt = 1 node.transport_name = tcp node.session.session.startup = manual node.session.session.1 iqn.session.4 192.ImmediateData = Yes node.samba -p 192.MaxBurstLength = 16776192 node.0.username_in = node.timeo. Por lo cual.err_timeo.iscsi.ERL = 0 .session.1. Como vemos descubrió el target que instalamos anteriormente.iscsi.200G.200G.session.name = iqn.session.session.0.samba Con lo que le indicamos a iscsiadm que descubra los targets que le ofrece el portal ubicado en 192.session..abort_timeout = 10 node.auth.4.DefaultTime2Wait = 0 node.com.session.iscsi.4. si hacemos solo: # iscsiadm -m discovery 192.iscsi. tenemos que operar en modo nodo # iscsiadm -m node --targetname iqn.session. que es el método soportado más estable a la fecha (existen otros métodos.session.au.110 node.iscsi.2005-02.iscsi.auth. 72 .empresa:san.com.iscsi.auth.samba node.0.200G.168.initial_cmdsn = 0 node.168.authmethod = None node.iscsi.MaxOutstandingR2T = 1 node.au.session.err_timeo.auth.0.168.reset_timeout = 30 node.2005-02. El método que usa para descubrirlo es “sendtargets“.iscsi.session.au.empresa:san.com.DefaultTime2Retain = 0 node. como por ejemplo uno que resuelve nombre de targets).session.MaxConnections = 1 node.FirstBurstLength = 262144 node.session.password = node.password_in = node.4:3260 via sendtargets Vemos que la información del servidor iSCSI target descubierto quedó almacenada en la base de datos de iscsiadm Ahora.auth.replacement_timeout = 120 node.Para descubrir nuestro target usamos obviamente “discovery“ # iscsiadm -m discovery -t sendtargets -p 192.

Login en el dispositivo Ahora que la información del target ya está configurada.168. Para comprobar si el disco iSCSI se detecto y se “conectó” al equipo. Montaje automático del dispositivo de hardware iSCSI Como último punto relacionado con la configuración del iniciador.110 -l La opción “-l” indica que queremos hacer login en el target. Para ello podemos usar fdisk o alguna otra herramienta en Linux que pueda servir para formatear la partición ya montada. basta con ver la salida de dmesg #dmesg SCSI device sda: 390620475 512-byte sda: Write Protect is off sda: Mode Sense: 77 00 00 08 SCSI device sda: drive cache: write SCSI device sda: 390620475 512-byte sda: Write Protect is off sda: Mode Sense: 77 00 00 08 SCSI device sda: drive cache: write sda: sda1 sd 1:0:0:0: Attached scsi disk sda hdwr sectors (199998 MB) through hdwr sectors (199998 MB) through En el ejemplo el disco iSCSI se detectó y se “conectó” al equipo como un disco SCSI más. # iscsiadm -m node -targetname iqn.samba -p 192.au.200G. podemos empezar a usarlo. deberíamos definir que se haga login al target y se conecte el disco automáticamente cada vez que se inicie el servicio open-iscsi. Para ello debemos hacer login o autenticarnos en el target. También notamos que para el sistema nuestro disco iSCSI no se diferencia de un dsico SCSI conectado físicamente.empresa:san. Volvemos a utilizar iscsiadm para modificar el parámetro que maneja esta opción: 73 . de manera que no tengamos que hacerlo a mano luego de que nuestro sistema inicie. la partición en nuestros controladores de dominio se mostrará bajo el nombre de sdb1 o hdb1 (dependiendo del tipo de disco que se tenga). Como dato extra. no es usable hasta que definamos particiones en él y las formateemos en un sistema que el kernel maneje. Aunque el disco iSCSI ya está conectado. Creación de particiones y formateo.1. Esto significa que el disco iSCSI estará disponible como un dispositivo de hardware más en nuestro servidor. Se recomienda que la partición sea formateada con el sistema de archivos ext3 por cuestiones de compatibilidad con sistemas Linux.com.2005-02.

solo falta crear las carpetas y archivos con sus respectivos permisos que estaban en esa carpeta para que ya pueda usarse para guardar de manera centralizada la información de los clientes del dominio.1.168.startup -v automatic Luego de esto. ya tenemos montada nuestra partición del servidor OpenFiler en ambos PDC y BDC. Montaje de nuestra partición ext3 del servidor de archivos en la carpeta designada para almacenar la información de los clientes del dominio Como último paso para la configuración de la partición ya en el PDC y BDC.200G. ejecutamos el siguiente comando: #mount –t ext3 /dev/sdb1 /home/samba Con esto. para que todos los archivos en vez de almacenarse en el BDC o PDC. debemos montar la partición en la carpeta designada para guardar los archivos que estarán disponibles en la red.empresa:san. Referirse a la sección de configuración de samba en los temas “El recurso compartido especial [netlogon]”.d/open-iscsi restart El disco iSCSI debería ser detectado automáticamente y conectado al equipo. Como vimos anteriormente. aquí es donde montaremos nuestra partición. ésta carpeta es /home/samba.com.conn[0]. El recurso compartido especial [homes] y “El recurso compartido especial [profiles]” 74 .110 -o update -n node. Para ello. si hacemos # /etc/init.au.2005-02. queden almacenados en el servidor de archivos.samba -p 192.# iscsiadm -m node -targetname iqn.

Sign up to vote on this title
UsefulNot useful