usando samba

Upload: copantl

Post on 14-Oct-2015

29 views

Category:

Documents


0 download

TRANSCRIPT

  • Usando Samba

  • Usando SambaRobert Eckstein, David CollierBrown, Peter Kelly

    Primera Edicin, Noviembre 1999

    1565924495, 416 pgs.

    Contents1. Aprendiendo Samba

    1.1 Qu es Samba? 1.2 Qu puede hacer Samba por m?

    1.2.1 Compartiendo un Servicio de Disco. 1.2.2 Compartiendo una Impresora. 1.2.3 Viendo cosas desde la parte Unix

    1.3 Familiarizndonos con una Red SMB/CIFS.1.3.1 Comprendiendo NetBIOS 1.3.2 Obteniendo un Nombre 1.3.3 Tipos de Nodos 1.3.4 Qu hay en un Nombre? 1.3.5 Datagramas y Sesiones.

    1.4 Implementaciones de Microsoft.1.4.1 Dominio Windows. 1.4.2 Visualizacin (Browsing). 1.4.3 Puede un Grupo de Trabajo Windows abarcar varias SubRedes? 1.4.4 El Servicio de Nombres de Internet de Windows (WINS). 1.4.5 Qu puede hacer Samba?

    1.5 Un Vistazo a la Distribucin Samba. 1.6 Cmo puedo Obtener Samba?

    2. Instalando Samba en un Sistema Unix.2.1 Descargando la Distribucin.

    2.1.1 Binarios o Fuentes? 2.1.2 Leer la Documentacin.

    2.2 Configurando Samba. 2.3 Compillando e Instalando Samba.

    2.3.1 Pasos Finales de la Instalacin.

    2.4 Un Fichero de Configuracin Bsico.2.4.1 Usando SWAT. 2.4.2 Testeando el Fichero de Configuracin.

    2.5 Iniciando los Demonios de Samba.2.5.1 Iniciando los Demonios a Mano. 2.5.2 Demonios Autosuficientes. 2.5.3 Arrancando desde Inetd.

    2.6 Testeando los Demonios Samba.

    3. Configurando los Clientes Windows.

    Usando Samba 1

  • 3.1 Configurando Computadoras Windows 95/98.3.1.1 Cuentas y Contraseas. 3.1.2 Configurando la Red. 3.1.3 Estableciendo tu Nombre y Grupo de Trabajo. 3.1.4 Accediendo al Servidor Samba.

    3.2 Configurando Computadoras Windows NT 4.0. 3.3 Una Introduccin a SMB/CIFS.

    3.3.1 Formato SMB. 3.3.2 Clientes y Servidores SMB. 3.3.3 Una Simple Conexin SMB. 3.3.4 Negociando la Variante de Protocolo. 3.3.5 Estableciendo los Parmetros de Sesin y de Logeado. 3.3.6 Relizando Conexiones a un Recurso.

    4. Comparticin de Unidades de Disco.4.1 Aprendiendo a usar el Fichero de Configuracin de Samba.

    4.1.1 Estructura del Fichero de Configuracin. 4.1.2 Variables.

    4.2 Secciones Especiales.4.2.1 La Seccin [globals]. 4.2.2 La Seccin [homes]. 4.2.3 La Seccin [printers]. 4.2.4 Opciones de Configuracin.

    4.3 Opciones del Ficheros de Configuracin.4.3.1 Fichero de Configuracin. 4.3.2 Include. 4.3.3 Copy.

    4.4 Configuracin del Servidor.4.4.1 Opciones de Configuracin del Servidor.

    4.5 Configuracin de la Comparticin de Disco.4.5.1 Opciones de Configuracin en una Comparticin de Disco.

    4.6 Opciones de Red con Samba.4.6.1 Opciones de Red.

    4.7 Servidores Virtuales.4.7.1 netbios aliases.

    4.8 Opciones de Ficheros de Registro.4.8.1 Usando syslog. 4.8.2 Opciones de Configuracin de Registro.

    5. Visualizacin (Browsing) y Comparticin Avanzada de Discos.5.1 Visualizacin, Navegacin o 'Browsing'.

    5.1.1 Prevencin contra la Visualizacin. 5.1.2 Servicios por Defecto. 5.1.3 Elecciones de Visualizadores. 5.1.4 Visualizador Maestro de Dominio. 5.1.5 Opciones de Visualizacin.

    5.2 5.2 Diferencias entre Sistemas de Ficheros.5.2.1 Ficheros Ocultos y Vetados. 5.2.2 Enlaces. 5.2.3 Opciones de Sistemas de Archivos.

    5.3 Permisos de Ficheros y Atributos en MSDOS y Unix.

    Usando Samba

    Usando Samba 2

  • 5.3.1 Creacin de Mscaras. 5.3.2 Opciones de Permisos de Ficheros y Directorios.

    5.4 Planchado de Nombres (Name Mangling) y Tipo.5.4.1 La Operacin de ``Planchado'' de Samba. 5.4.2 Opciones de Planchado.

    5.5 Bloqueos y Opciones de Bloqueos.5.5.1 Bloqueo Oportunista. 5.5.2 Unix y los Bloqueos.

    6. Usuarios, Seguridad y Dominios6.1 Usuarios y Grupos

    6.1.1 El recurso compartido [homes]

    6.2 Controlando el acceso a los recursos compartidos.6.2.1 Acceso de Invitado. 6.2.2 Opciones de control de acceso. 6.2.3 Opciones de Usuario.

    6.3 Seguridad y autenticacin.6.3.1 Seguridad a nivel de recurso (share). 6.3.2 Seguridad a nivel de usuario. 6.3.3 Seguridad a nivel de servidor. 6.3.4 Seguridad a nivel de dominio. 6.3.5 Aadiendo un servidor Samba a un dominio Windows.

    6.4 Contraseas6.4.1 Deshabilitando contraseas encriptadas en el cliente. 6.4.2 El fichero smbpasswd.

    6.5 Sincronizacin de las Contraseas.6.5.1 Opciones de Configuracin de las Contraseas.

    6.6 Dominios Windows6.6.1 Configurando Samba para los Dominios Windows. 6.6.2 Configurando los clientes Windows para Accesos al Dominio 6.6.3 Opciones de Dominios

    6.7 Scripts de Entrada6.7.1 Perfiles Itinerantes 6.7.2 Perfiles Obligatorios 6.7.3 Opciones de los scripts de entrada 6.7.4 Otros scripts de conexin 6.7.5 Trabajando con NIS y NFS

    7. Impresin y Resolucin de Nombres7.1 Enviando tareas de impresin a SAMBA

    7.1.1 Comandos de Impresin 7.1.2 Variables de Impresin. 7.1.3 Una configuracin de impresin Mnima. 7.1.4 El recurso [Printers]. 7.1.5 Probando la Impresin. 7.1.6 Configurando y Probando un Cliente Windows. 7.1.7 Configurando Automticamente Drivers de Impresin.

    7.2 Impresin sobre Impresoras de Cliente Windows.7.2.1 Impresoras BSD. 7.2.2 Impresoras System V. 7.2.3 Opciones de Impresin de Samba.

    Usando Samba

    Usando Samba 3

  • 7.3 Resolucin de Nombres con Samba7.3.1 El Fichero LMHOSTS 7.3.2 Configurando Samba para usar otro Servidor WINS 7.3.3 Configurando Samba como Servidor WINS 7.3.4 Opciones de Configurain de Resolucin de Nombres

    8. Informacion adicional sobre Samba8.1 Dando soporte a Programadores

    8.1.1 Sincronizando el Tiempo

    8.2 Magic Scripts (Scripts Magicos)8.2.1 magic script 8.2.2 magic output

    8.3 Internationalizacin8.3.1 client code page 8.3.2 character set 8.3.3 coding system 8.3.4 valid chars

    8.4 Mensajes Emergentes8.4.1 message command

    8.5 Opciones Aadidas Recientemente.8.5.1 change notify timeout 8.5.2 machine password timeout 8.5.3 stat cache 8.5.4 stat cache size

    8.6 Otras Opciones.8.6.1 deadtime 8.6.2 dfree command 8.6.3 fstype 8.6.4 keep alive 8.6.5 max disk size 8.6.6 max mux 8.6.7 max open files 8.6.8 max xmit 8.6.9 nt pipe support 8.6.10 nt smb support 8.6.11 ole locking compatibility 8.6.12 panic action 8.6.13 set directory 8.6.14 smbrun 8.6.15 status 8.6.16 strict sync 8.6.17 sync always 8.6.18 strip dot

    8.7 Copias de Seguridad (Backups) con smbtar

    9. Resolviendo Problemas con Samba9.1 La Caja de Herramientas.

    9.1.1 Logs de Samba 9.1.2 Utilidades de Testeo de Samba 9.1.3 Utilidades Unix

    9.2 El Arbol de Errores

    Usando Samba

    Usando Samba 4

  • 9.2.1 Cmo usar el rbol de errores. 9.2.2 Resolucin de Problemas de IP a Bajo Nivel 9.2.3 Problemas con el TCP 9.2.4 Problemas con los Demonios del Servidor 9.2.5 Resolviendo Problemas con Conexiones SMB 9.2.6 Problemas con la Navegacin 9.2.7 Otras Cosas que pueden Fallar 9.2.8 Problemas con Servicios de Nombres 9.2.9 Problemas con Direcciones de Red 9.2.10 Problemas con Nombres NetBIOS

    9.3 Recursos Extra9.3.1 Documentacin y FAQs 9.3.2 Grupos de Noticias sobre Samba 9.3.3 Listas de Correo sobre Samba 9.3.4 Archivos de Discusin sobre Samba

    Bibliography

    Usando Samba

    Usando Samba 5

  • 1. Aprendiendo SambaSi eres el tpico administrador de un sistema, entonces sabes lo que significa estar hasta arriba de trabajo. Turutina diaria est llena de interminables problemas con la compatibilidad del hardware, sobrecargas delsistema, problemas con las copias de seguridad, y un buen mmero de usuarios cabreados. As que el hechode aadir otro programa a la mezcla de herramientas que ya tienes que mantener puede sonar un poco a "msproblemas". Sin embargo, si has tomado la determinacin de reducir la complejidad de tu entorno de trabajo,as como la sobrecarga del mismo, Samba puede ser la herramienta que estabas esperando.

    Si eres consciente de que ests teniendo problemas con tu red y ests seguro de que hay un mtodo mejor, teaconsejamos que comiences a leer este libro. O, si has odo hablar de Samba y deseas ver qu es lo que puedehacer por ti, este es tambin el mejor lugar para empezar. Bien, comencemos a mostrarte el camino hacia elconocimiento de Samba y su potencial. Antes de empezar, puedes proporcionar servicios Unix a todas tusmquinas Windows y todo sin tener que gastar toneladas de tiempo y dinero. Excitante, no? Estupendo,entonces comencemos.

    1. Aprendiendo Samba 6

  • 1.1 Qu es Samba?Samba es una suite de aplicaciones Unix que habla el protocolo SMB (Server Message Block). Muchossistemas operativos, includos Windows y OS/2, usan SMB para operaciones de red clienteservidor.Mediante el soporte de este protocolo, Samba permite a los servidores Unix entrar en accin, comunicandocon el mismo protocolo de red que los productos de Microsoft Windows. De este modo, una mquina Unixcon Samba puede enmascararse como servidor en tu red Microsoft y ofrecer los siguientes servicios:

    Compartir uno o ms sistemas de archivos. Compartir impresoras, instaladas tanto en el servidor como en los clientes. Ayudar a los clientes, con visualizador de Clientes de Red. Autentificar clientes logendose contra un dominio Windows. Proporcionar o asistir con un servidor de resolucin de nombres WINS.

    Samba es la idea de Andrew Tridgell, quien actualmente lidera el equipo de desarrollo de Samba developmentdesde su casa de Canberra, Australia. El proyecto naci en 1991 cuando Andrew cre un programa servidorde ficheros para su red local, que soportaba un raro protocolo DEC de Digital Pathworks. Aunque l no losupo en ese momento, aquel protocolo ms tarde se convertira en SMB. Unos cuantos aos despus, l loexpandi como su servidor SMB particular y comenz a distribuirlo como producto por Internet bajo elnombre de servidor SMB. Sin embargo, Andrew no pudo mantener ese nombre ya perteneca como nombrede producto de otra compaa, as que intent lo siguiente para buscarle un nuevo nombre desde Unix:

    grep i 's.*m.*b' /usr/dict/words

    y la respuesta fue:

    salmonberry samba sawtimber scramble

    De sta manera naci el nombre de Samba. Hoy, la suite Samba implica a un par de demonios queproporcionan recursos compartidos a clientes SMB sobre la red (las comparticiones son denominadas a vecestambin como servicios). Estos demonios son:

    smbdUn demonio que permite comparticin de archivos e impresoras sobre una red SMB y proporcionaautentificacin y autorizacin de acceso para clientes SMB.

    nmbdUn demonio que busca a travs del Windows Internet Name Service (WINS), y ayuda mediante unvisualizador.

    Samba se encuentra actualmente mantenido y es ampliado por un grupo de voluntarios bajo la supervisinactiva de Andrew Tridgell. Al igual que el sistema operativo Linux, Samba es considerado por sus autoresOpen Source software (OSS), y es distribuido bajo la the GNU General Public License (GPL). Desde suconcepcin, el desarrollo de Samba ha sido patrocinado en parte por la Australian National University, dondeAndrew Tridgell hizo su doctorado. En adicin, algunas partes del desarrollo han sido patrocinadas pordistribuidores independientes como Whistle and SGI. Es algo verdaderamente testimonial el que entidadestanto comerciales como no comerciales estn dispuestas a gastar dinero para dar soporte a un esfuerzo OpenSource.

    En el momento de la impresin de este libro, Andrew ha completado su trabajo de doctorado y ha pasado aformar parte de una compaa desarrolladora de Linux de San Francisco.

    1.1 Qu es Samba? 7

  • Microsoft tambin ha contribuido materialmente poniendo a disposicin su definicin de SMB y delInternetsavvy Common Internet File System (CIFS), como Public Request for Comments (RFC), y otrosdocumentos estandar. El protocolo CIFS es el nuevo nombre de las futuras versiones del protocolo SMB quesern usadas en los productos Windows los dos trminos pueden ser usados aleatoriamente en ste libro.De hecho, vers el protocolo escrito como "SMB/CIFS".

    Usando Samba

    1.1 Qu es Samba? 8

  • 1.2 Qu puede hacer Samba por m?Como explicamos antes, Samba puede ayudar a las mquinas Windows y Unix a coexistir en la misma red.Sin embargo, existen algunas razones especficas por las cuales podras desear instalar un servidor Samba entu red:

    No quieres pagar un servidor Windows NT para obtener las funcionalidades que este proporciona. Puedes querer proporcionar un rea comn para datos o directorios de usuarios en orden a realizar unatransicin desde un servidor NT hacia un Unix, o viceversa.

    Puede que desees compartir impresoras a entre clientes Windows y Unix. Puede que quieras acceder a ficheros NT desde un servidor Unix.

    Veamos ahora a Samba en accin. Asumiremos que tenemos la siguiente configuracin bsica de red: unservidor Samba sobre una mquina Unix, al cual le asignaremos el nombre hydra, y un par de clientesWindows, a los cuales les asignaremos los nombres phoenix y chimaera, todos conectados va red de realocal (LAN). Asumamos tambin que hydra tambin tiene una impresora de inyeccin conectada a ella, lp, yuna comparticin de disco denominada network ambos recursos podemos ofrecerlos a las otras dosmquinas. Un grfico de esta red se muestra en la Figura 1.

    Figure: Una configuracin de red simple con un servidor Samba.

    En esta red, cada una de las computadoras comparten el mismo grupo de trabajo. Un Grupo de Trabajdo essimplemente una etiqueta de nombre de grupo que identifica a una determinada coleccin de ordenadores ysus recursos sobre una red SBM. Pueden existir varios grupos de trabajo sobre la red al mismo tiempo, peropara nuestro ejemplo slo tendremos uno: el grupo de trabajo SIMPLE.

    1.2.1 Compartiendo un Servicio de Disco.Si todo est bien configurado, deberamos poder ver al servidor Samba server, hydra, a travs del visualizadorde red (entorno de red) de la mquina Windows llamada phoenix. De hecho, la Figura 2 muestra elvisualizador de red de la computadora phoenix, incluyendo a hydra y a cada una de las mquinas que residenen el grupo de trabajo SIMPLE. Advierte el icono Entire Network al principio de la lista. Como mencionamosantes, pueden existir ms grupos de trabajo sobre una red SMB al mismo tiempo. Si un usuario hace clicksobre ese icono, ver una lista de todos los grupos de trabajo que actualmente existen en la red.

    1.2 Qu puede hacer Samba por m? 9

  • Figure: El directorio del visualizador de red (Entorno de Red).

    Podemos entrar en el servidor hydra con un doble click sobre su icono. Esta accin provoca que se contactecon hydra y se le solicite una lista de sus recursos compartidos La impresora y el disco que proporciona lamquina. En nuestro caso, existe una impresora nominada lp y un disco compartido llamado network en elservidor, como lo muestra la Figura 3. Advierte que la ventana muestra los nombres de las mquinas conletras maysculas/minsculas (Hydra). Las maysculas son irrelevantes en los nombres de host (mquinas) asque puedes leer hydra, Hydra, y HYDRA como salida, pero todas se referirn al mismo sistema. Gracias aSamba, Windows 98 ve al server Unix como a un servidor SMB vlido, y puede acceder a la carpeta networkcomo si fuese una carpeta ms del sistema.

    Figure: Recursos Compartidos disponibles en el servidor hydra vistos por phoenix.

    Una caracterstica popular de Windows 95/98/NT es que puedes mapear una letra de unidad hacia undirecrotio de la red usando la opcin "Conectar a Unidad de Red" desde el explorador de Window. Una vez lohayas hecho, tus aplicaciones podrn acceder a la carpeta a travs de la red con una unidad de disco estndar.Una vez llegados a este punto, podrs lamacenar datos en ella, instalar y ejecutar programas, e inclusoprotegerla mediante contrasea contra accesos no deseados. Mira la Figura 4 para un ejemplo de mapeado deletra de unidad sobre un directorio de red.

    Figure: Mapeando una unidad de red con una letra de unidad Windows.

    Usando Samba

    1.2 Qu puede hacer Samba por m? 10

  • Echa un vistazo a la ruta: entra en la caja de dilogo de la Figura 4. Una forma equivalente de representar undirectorio en una mquina de la red es usando dos barras (backslashes), seguidas del nombre de la mquina dered, otra barra (backslash), y el directorio de red de la mquina, como se muestra a continuacin:

    \\mquinadered \directorio

    Esto se conoce como notacin UNC (Universal Naming Convention) en el mundo Windows. por ejemplo, lacaja de dilogo en la Figura 4 representa el directorio de red del servidor hydra como:\\HYDRA\network

    Si esto te suena de algo, probablemente estars pensando en uniform resource locators (URLs), que son lasnotaciones que usan los navegadores web como Netscape Navigator e Internet Explorer para resolvermquinas a travs de Internet. Asegrate de no confundirte: los navegadores web usan barras inclinadas a laderecha y no a la izquierda, y estn precedidas por el nombre de protocolo de transferencia de datos a usar(p.ej., ftp, http) y dos puntos (:). En realidad, URLs y UNCs son dos cosas completamente distintas.

    Una vez la unidad de red est configurada, Windows y sus programas la vern y podrn usar como si esedirectorio de red fuese un dico ms. Si tienes aplicaciones multiusuario, puedes instalarlas sobre la unidad dered. La Figura 5 muestra la unidad de red resultante como si fuera una unidad ms en el cliente Windows 98.Advierte la tubera de enlace en el icono para la unidad "G:";esto indica que es una unidad de red, en lugar deuna unidad fsica.

    Figure: El directorio de red mapeado con letra de unidad de cliente.

    Usando Samba

    1.2 Qu puede hacer Samba por m? 11

  • Desde nuestro cliente Windows NT Workstation, chimaera, Samba aparece de forma idntica a como lo haceen el cliente Windows 98. La Figura 6 muestra la misma vista del servidor hydra desde el explorador de reddel cliente Windows NT 4.0. Configurando la unidad de red usando la opcin "Conectar a Unidad de Red" enWindows NT Workstation 4.0 obtendramos el mismo resultado.

    Figure: Recursos disponibles en hydra (vistos por chimaera).

    1.2.2 Compartiendo una Impresora.Probablemente habrs notado que la impresora lp aparece en la lista de recursos compartidos de hydra en laFigura 3. Esto indica que el servidor Unix tiene una impresora que puede ser compartida con los clientes SMBdel grupo de trabajo. Los datos enviados a la impresora desde cualquiera de los clientes ser cola de impresindel servidor Unix e impresos en el orden de recepcin.

    La configuracin de una impresora accesible a travs de Samba en los clientes Windows es ms sencilla quela comparticin de unidades de disco. Haciendo un doble click en la impresora e identificando fabricante ymodelo, puedes instalar un driver para esa impresora en el cliente Windows. Windows podr entonces darforma a cualquier informacin enviada a la impresora de red y acceder a ella como si fuese una impresoralocal (ms adelante te mostraremos cmo hacerlo). La Figura 7 muestra la impresora de red resultante en laventana de Impresoras de Windows 98. De nuevo, advierte la tubera bajo el icono dela impresora, que indicase trata de una impresora de red.

    Figure: Una impresora de red disponible en hydra (vista por chimaera).

    Usando Samba

    1.2.2 Compartiendo una Impresora. 12

  • 1.2.3 Viendo cosas desde la parte UnixComo mencionamos antes, Samba aparece como un juego de programas demonios. Puedes verlos con loscomandos Unix ps y netstat, puedes tambin leer cualesquiera mensajes que ellos generen a travs de losficheros de depuracin de Unix syslog (dependiendo de cmo hayas configurado Samba), y puedesconfigurarlos desde un simple fichero de configuracin: smb.conf. Adems, si quieres hacerte una idea de quhace cada uno de los demonios, Samba tiene un programa llamado smbstatus que te informar en linea. As escomo trabaja:# smbstatusSamba version 2.0.4Service uid gid pid machine

    network davecb davecb 7470 phoenix (192.168.220.101) Sun May 16network davecb davecb 7589 chimaera (192.168.220.102) Sun May 16Locked files: Pid DenyMode R/W Oplock Name

    7589 DENY_NONE RDONLY EXCLUSIVE+BATCH /home/samba/quicken/inet/common/system/help.bmpSun May 16 21:23:40 1999 7470 DENY_WRITE RDONLY NONE /home/samba/word/office/findfast.exeSun May 16 20:51:08 1999 7589 DENY_WRITE RDONLY EXCLUSIVE+BATCH /home/samba/quicken/lfbmp70n.dllSun May 16 21:23:39 1999 7589 DENY_WRITE RDWR EXCLUSIVE+BATCH /home/samba/quicken/inet/qdata/runtime.datSun May 16 21:23:41 1999 7470 DENY_WRITE RDONLY EXCLUSIVE+BATCH /home/samba/word/office/osa.exeSun May 16 20:51:09 1999 7589 DENY_WRITE RDONLY NONE /home/samba/quicken/qversion.dllSun May 16 21:20:33 1999 7470 DENY_WRITE RDONLY NONE /home/samba/quicken/qversion.dllSun May 16 20:51:11 1999Share mode memory usage (bytes):1043432(99%) free + 4312(0%) used + 832(0%) overhead = 1048576(100%) total

    El informe de status de Samba que ves arriba proporciona tres grupos de datos, cada uno de ellos dividido ensecciones separadas. La primera seccin te dice qu sistemas han conectado al servidor Samba, identificandoa cada cliente por su nombre de mquina ( phoenix y chimaera) y direccin IP. La segunda seccin reporta elnombre y status de los ficheros que estn actualmente en uso en una comparticin del servidor, incluyendo elstatus lectura/estritura y los bloqueos de los ficheros. Finalmente, Samba reporta la cantidad de memoria queactualmente est dedicada para los recursos que administra, incluyendo la cantidad activamente usada por losrecursos ms la restante de overhead. (Advierte que esta no es la misma que la cantidad total de memoria quelos procesos smbd o nmbd estn usando).

    No te preocupes si no entiendes estas estadsticas; te sern ms fciles de entender a medida que profundicesen este libro.

    Usando Samba

    1.2.3 Viendo cosas desde la parte Unix 13

  • 1.3 Familiarizndonos con una Red SMB/CIFS.Ahora que ya tienes una breve visin de Samba, tommonos algn tiempo para familiarizarnos con el entornoque ha adoptado Samba: una red SMB/CIFS. Trabajar con redes SMB es significativamente diferente atrabajar con redes Unix TCP/IP, debido a que hay bastantes conceptos nuevos que aprender y muchainformacin a cubrir. Primero, discutiremos los conceptos bsicos existentes tras una red SMB, seguido dealgunas implementaciones de Microsoft a SMB, y finalmente te mostraremos dnde puede encajar un servidorSamba y dnde no.

    1.3.1 Comprendiendo NetBIOSPara comenzar, volvamos al pasado. En 1984, IBM dise un simple "application programming interface"(API) para conectar en red sus computadoras, llamado Network Basic Input/Output System (NetBIOS). ElAPI NetBIOS proporcionaba un diseo rudimentario para que una aplicacin se conectara y compartiese datoscon otras computadoras.

    Es til pensar en el API NetBIOS como en extensiones de red para llamadas de la API BIOS estndar. ConBIOS, cada llamada de bajo nivel est confinada al hardware de la mquina local y no necesita ayuda paraviajar a su destino. NetBIOS, sin embargo, originalmente tena que intercambiar instrucciones concomputadoras de redes IBM PC o Token Ring. Exigi por consiguiente un protocolo de transporte de bajonivel para llevar las peticiones de una computadora a la siguiente.

    A finales de 1985, IBM lanz dicho protocolo, el cual unin con el API NetBIOS para convertirse enNetBIOS Extended User Interface (NetBEUI). NetBEUI fue diseado para redes de rea local (LANs), ypermita a cada mquina usar un nombre (de hasta 15 caracteres) que no estuviera siendo usado en la red.Entendemos por pequea LAN, a una red de menos de 255 nodos Esto se consideraba un restriccinprctica en 1985!.

    El protocolo NetBEUI se volvi muy popular en las aplicaciones de red, incluyendo a las que corran bajoWindows para Grupos. Ms tarde, emergieron tambin implementaciones de NetBIOS sobre protocolos IPXde Novell, los cuales competan con NetBEUI. Sin embargo, los protocolos de red escogidos por lacomunidad de Internet eran TCP/IP y UDP/IP, y las implementaciones de las APIs NetBIOS sobre dichosprotocolos pronto se convirti en una necesidad.

    Ten en cuenta que TCP/IP usa nmeros para representar direcciones de computadoras, tales como192.168.220.100, mientras que NetBIOS usa slo nombres. Este fue el mayor problema a solucionar a la horade hacer relacionarse a los dos protocolos. En 1987, El Internet Engineering Task Force (IETF) public unaserie de documentos de estandarizacin, titulados RFC 1001 y 1002, que perfilaban cmo NetBIOS podratrabajar sobre una red TCP/UDP. Este juego de documentos todava gobiernan a cada una de lasimplementaciones que existen hoy en da, incluyendo aquellas proporcionadas por Microsoft para sus sitemasoperativos, as como a la suite Samba.

    Desde entonces, la norma que estos documentos gobiernan se ha conocido como NetBIOS sobre TCP/IP, oNBT para abreviar. El estndar NBT (RFC 1001/1002) actualmente establece un trio de servicios sobre unared:

    Un Servicio de Nombres Dos Servicios de Comunicacin:

    1.3 Familiarizndonos con una Red SMB/CIFS. 14

  • Datagramas. Sesiones.

    El servicio de nombres resuelve el problema nombreadireccin comentado antes; pemite a cadacomputadora declarar un nombre especfico en la red que pueda ser convertido a una direccin IP de mquina,como hacen hoy en da los DNS en Internet. Los servicios de datagramas y sesiones son ambos protocolossecundarios de comunicacin, usados para transmitir datos desde y hacia mquinas NetBIOS a travs de lared.

    1.3.2 Obteniendo un NombrePara un ser humano, tener un nombre es sencillo. Sin embargo, para una mquina sobre una red NetBIOS,esto puede ser algo ms complicado. Veamos algunos de esos problemas.

    En el mundo NetBIOS, cuando cada mquina se vuelve activa, quiere reclamar un nombre para s; esto sedenomina registro de nombre. Sin embargo, dos mquinas en el mismo grupo de trabajo podran solicitar elmismo nombre; esto causara problemas de confusin para cualquier mquina que quiera comunicar con unade esas dos. Hay dos aproximaciones diferentes para asegurarnos de que esto no ocurra:

    Usar un Servidor de Nombres NetBIOS (NBNS) para controlar el registro de nombres NetBIOS delas mquinas.

    Permitir a cada mquina de la red defender su nombre en el caso de que otra mquina intente usarlo.

    La Figura 8 ilustra un registro de nombre (negado), con y sin Servidor de Nombres NetBIOS.

    Figure: Registro de Nombre NBNS contra noNBNS.

    En adicin, debe haber una forma de resolver un nombre NetBIOS hacia una direccin IP especfica como ya

    Usando Samba

    1.3.2 Obteniendo un Nombre 15

  • mencionamos antes; esto es conocido como resolucin de nombre. Hay dos formas diferentes tambin aqucon NBT:

    Haber reportado cada mquina su direccin IP cuando "escucha" una peticin broadcast para sunombre NetBIOS.

    Usar el NBNS para resolver nombres NetBIOS a direcciones IP.

    La Figura 9 ilustra los dos tipos de resolucin de nombre.

    Figure: Resolucin de nombre conNBNS versus sinNBNS.

    Como te puedes imaginar, tener un NBNS en tu red te puede ayudar enormemente. Para ver exctamente porqu, veamos el mtodo sinNBNS.

    Aqu, cuando una mquina cliente arranca, manda un mensaje broadcast declarando que deseara registrar unnombre NetBIOS especfico para ella. Si nadie objeta nada ante el uso de ese nombre tras mltiples intentosde registro, obtiene el nombre. En la otra parte, si otra mquina en la red est actualmente usando ese nombre,enviar un mensaje de respuesta al cliente solicitante indicando que ese nombre ya est siendo usado. Esto esconocido como defender el nombre de host. Este tipo de sistema es til cuando un cliente ha cadoinesperadamente de la red otro puede tomar su nombre, pero se incurre en un importante aumento deltrfico de la red para algo tan simple como el registro de nombre.

    Con un NBNS, ocurre lo mismo, pero con la diferencia de que la comunicacin se est confinada a la mquinasolicitante y al servidor de nombres NBNS. No ocurre broadcasting cuando la mquina desea registrar elnombre; el mensaje de registro es simplemente enviado desde el cliente hacia el servidor NBNS, y este NBNSresponde si el nombre est o no libre. Esto es conocido como comunicacin puntoapunto, y es beneficiosoen redes con ms de una subred. Esto se debe a que los routers suelen estar preconfigurados para bloquearpaquetes entrantes que son mensajes de difusin (broadcast) para todas las mquinas de la red.

    Usando Samba

    1.3.2 Obteniendo un Nombre 16

  • Los mismos principios se aplican a la resolucin de nombres. Sin un NBNS, la resolucin de nombresNetBIOS podra realizarse mediante un mecanismo broadcast. Todos los paquetes se enviaran a cada una delas computadoras de la red, con la esperanza de que alguna mquina que se vea afectada por la peticinresponda directamente a la mquina solicitante. En ste punto, queda claro que usar un servidor de nombresNBNS y una comunicacin puntoapunto para este propsito carga mucho menos la red que usar boradcastspara cada una de las peticiones de resolucin de nombres que se produzcan.

    1.3.3 Tipos de NodosY cmo le digo a los clientes qu estrategia deben seguir para realizar el registro de nombre y la resolucin?Cada mquina en una red NBT aprende una de las siguientes designaciones, dependiendo de cmo se manejeel registro y la resolucin de nombre: bnode, pnode, mnode y hnode. Las conductas de cada tipo de nodose resumen en la Tabla 1.

    Table: Tipos de Nodos NetBIOS

    Papel Valorbnode Usa registro broadcast y slo resolucin.pnode Usa registro puntoapunto y slo resolucin.mnode Usa broadcast para registro. Si tiene xito, notifica al servidor

    NBNS el resultado. Usa broadcast para resolucin; usa servidorNBNS si el broadcast no tiene xito.

    hnode (hybrid) Usa servidor NBNS para registro y resolucin; usa broadcast siel servidor NBNS no responde o no est operativo.

    En el caso de los clientes Windows, los encontrars listados normalmente como hnodes o hybrid nodes.Incidentalmente,los hnodes fueron inventados ms tarde por Microsoft, como un tipo de nodo ms tolerantea fallos de rutas, y no aparece en el RFC 1001/1002.

    Puedes averiguar el tipo de nodo para cada mquina Windows tecleando el comando ipconfig /all y buscandola lnea que pone Node Type.

    C:\>ipconfig /allWindows 98 IP Configuration...

    Node Type . . . . . . . . . . : Hybrid...

    1.3.4 Qu hay en un Nombre?Los usos de creacin de nombres NetBIOS son diferentes a los de los nombres tipo DNS a los que a lo mejorestars ms acostumbrado. Primero, los nombres NetBIOS existen en un espacio nico. En otras palabras, noexisten cualificadores del tipo ora.com o samba.org para definir secciones dentro de los nombres; slo hay un

    Usando Samba

    1.3.3 Tipos de Nodos 17

  • nombre nico para representar a cada computadora. Segundo, los nombres NetBIOS slo pueden contenerhasta 15 caracteres, no pueden comenzar con asterisco (*), y pueden consistir slo en caracteres alfanumricosestandard (az, AZ, 09) y los siguientes:

    ! @ # $ % ^ & ( ) ' { } . ~

    Aunque puedes usar el punto (.) en un nombre NetBIOS, no te lo recomendamos, debido a que esos nombrespuede que no funcionen en las futuras versiones de NetBIOS sobre TCP/IP.

    No es una coincidencia que todos los nombres vlidos DNS tambin sean vlidos en NetBIOS. De hecho, elnombre DNS para un servidor Samba es frecuentemente reusado como su nombre NetBIOS. Por ejmplo, sitienes una mquina phoenix.ora.com , su nombre NetBIOS podra ser PHOENIX (seguido por 8 espacios enblanco).

    1.3.4.1 Nombres de Recursos y Tipos

    Con NetBIOS, una mquina no slo advierte de su presencia, sino que tambin le dice a las otras mquinasqu tipo de servicios ofrece. Por ejemplo, phoenix puede indicar que no es slo una estacin de trabajo, sinoque tambin es un servidor de ficheros y puede recibir mensajes WinPopup. Esto se hace aadiendo un byte(el 16) al final del nombre de mquina (recurso), llamado tipo de recurso, y registrando el nombre ms de unavez. Mira la Figura 10

    Figure: Estructura de un Nombre NetBIOS.

    El tipo de recurso de 1 byte indica el nico servicio que la mquina ofrece. En este libro, frecuentemente versel tipo de recurso marcado entre smbolos de mayor/menor () tras el nombre NetBIOS, como acontinuacin:

    PHOENIX

    Puedes saber qu nombres estn registrados para una mquina NBTdeterminada usando el comando deWindows NBTSTAT. Debido a que estos servicios son nicos (no puede haber ms de uno registrado), losvers listados como tipo UNICO (UNIQUE) en la salida. Por ejemplo, la siguiente salida describe al servidorhydra:

    D:\>NBTSTAT a hydraNetBIOS Remote Machine Name Table

    Name Type Status

    HYDRA UNIQUE RegisteredHYDRA UNIQUE Registered

    Usando Samba

    1.3.4.1 Nombres de Recursos y Tipos 18

  • HYDRA UNIQUE Registered...

    Esto indica que el servidor ha registrado el nombre NetBIOS hydra como nombre de mquina (estacin detrabajo), un recipiente para mensajes WinPopup y un servidor de ficheros. Algunos de los posibles atributosque un nombre puede tener se listan en la Tabla 2.

    Table: Tipos de Recursos Unicos NetBIOS.

    Nombre Recurso Hexidecimal Byte ValueStandard Workstation Service 00Messenger Service (WinPopup) 03RAS Server Service 06Domain Master Browser Service (associated with primary domaincontroller)

    1B

    Master Browser name 1D

    NetDDE Service 1FFileserver (including printer server) 20RAS Client Service 21Network Monitor Agent BE

    Network Monitor Utility BF

    Advierte que debido a que los nombres DNS no tiene tipos de recursos, los diseadores intencionadamentepusieron un valor hexadecimal 20 (un espacio en blanco) por defecto para el tipo de servidor de ficheros.

    1.3.4.2 Nombres de Grupos y Tipos

    SMB tambin usa el concepto de grupos. Anteriormente mencionamos que las mquinas de nuestro ejemplopertenecan a un grupo de trabajo, el cual es una particin de msquinas en la misma red. Por ejemplo, unaempresa podra tener fcilmente un grupo de trabajo ADMINISTRACION y otro VENTAS, cada uno condiferentes servidores e impresoras. En el mundo Windows, un grupo de trabajo y un grupo SMB son la mismacosa.

    Continuando con nuestro ejemplo de NBTSTAT, el servidor Samba hydra es tambin un miembro del grupode trabajo SIMPLE (el atributo GROUP hex 00), y estar disponible para ser elegido como visualizadormaestro (atributo GROUP 1E). Mira la salida de NBTSTAT:

    NetBIOS Remote Machine Name Table, continuedName Type Status

    SIMPLE GROUP RegisteredSIMPLE GROUP Registered

    Usando Samba

    1.3.4.2 Nombres de Grupos y Tipos 19

  • .._ _MSBROWSE_ _. GROUP Registered

    Los posibles atributos de grupo que puede tener una mquina se ilustran en la Tabla 3. Para ms informacin,Windows NT in a Nutshell de Eric Pearce, publicado por O'Reilly.

    Table: Tipos de Recursos de Grupo NetBIOS.

    Nombre Recurso Valor HexadecimalByte

    Standard Workstation group 00Logon Server 1CMaster Browser name 1D

    Normal Group name (used in browser elections) 1EInternet Group name (administrative) 20_ _MSBROWSE_ _ 01

    La entrada final, _ _ MSBROWSE _ _ , se usa para anunciar un grupo a otros visualizadores maestros. Loscaracteres no impresos en el nombre se muestran como guiones bajos en una salida de NBTSTAT. No tepreocupes si no comprendes todos los recursos o tipos de grupos. Algunos de ellos no los necesitars conSamba, y sobre los otros vers ms el resto del captulo. Lo importante aqu es recordar la lgica delmecanismo de nombres.

    1.3.5 Datagramas y Sesiones.Llegados a este punto, hagamos una introduccin sobre otra responsabilidad de NBT: proporcionar serviciosde conexin entre dos mquinas NetBIOS. Existen actualmente dos servicios ofrecidos por NetBIOS sobreTCP/IP: el servicio de sesiones y el servicio de datagramas. El comprender cmo funcionan estos dosservicios no es esencial para usar Samba, pero te va a dar una idea sobre cmo trabaja NBT y cmo arreglarproblemas cuando Samba no funcione.

    El servicio de datagramas ofrece una conexin no estable entre una mquina y otra. Los paquetes de datos sonsimplemente enviados o difundidos (broadcasting) de una mquina a otra, sin considerar el orden en que estosllegan al destino, o si han llegado todos. El uso de datagramas no incrementa tanto el trafico de la red como eluso de sesiones, aunque pueden echar abajo una red si se usan indebidamente (Te acuerdas de la difusin dela resolucin de nombres de antes?) Los datagramas, por tanto, son empleados para enviar rpidamentesencillos bloques de datos a una o ms mquinas. El servicio de datagramas comunica usando las primitivassimples mostradas en la Tabla 4.

    Table: Primitivas de Datagramas.

    Usando Samba

    1.3.5 Datagramas y Sesiones. 20

  • Primitiva DescripcinSend Datagram Enva paquete datagrama a mquina o grupos de mquinas.Send Broadcast Datagram Difunde (broadcast) datagrama a cualquier mquina, esperando

    un datagrama de acuse de recibo.Receive Datagram Recibe un datagrama de una mquina.Receive Broadcast Datagram Espera por un datagrama de difusin.

    El servicio de sesiones es ms complejo. Las sesiones son un mtodo de comunicacin que, en teora, ofrecela capacidad de detectar conexiones problemticas o inoperativas entre dos aplicaciones NetBIOS. Esto llevaa pensar en una sesin NBT en trminos de una llamada telefnica. Una conexin fullduplex es abierta entreuna mquina que llama y una mquina que es llamada, y la conexin debe permanecer abierta durante laduracin de la conversacin. Cada parte implicada conoce a la otra mquina, y pueden comunicar con lasprimitivas que se muestran en la Tabla 5.

    Table: Primitivas de Sesiones.

    Primitiva DescripcinCall Inicia una sesin con una mquina que est a la escucha bajo

    un nombre especfico.Listen Espera una llamada de un llamante conocido o cualquier otro.Hangup Termina una llamada.Send Enva datos a la otra mquina.Receive Recibe datos de la otra mquina.Session Status Obtiene informacin sobre sesiones pedidas.

    Las sesiones son el troncal de la comparticin de recursos en una red NBT. Son normalmente usadas paraestablecer conexiones estables desde mquinas clientes a unidades de disco o impresoras compartidas en unservidor. El cliente "llama" e inicia la conversacin, enviando informacin del tipo qu ficheros desea abrir,qu datos quiere intercambiar, etc. Estas llamadas pueden durar mucho tiempo horas, incluso das y todoesto ocurre dentro del contexto de una nica conexin. Si se produce un errorerror, el software de sesin(TCP) retransmitir hasta que los datos sean recibidos correctamente, a diferencia del "envayreza" delservicio de datagramas (UDP).

    En realidad, mientras que las sesiones se supone estn para manejar comunicaciones problemticas,normalmente no lo hacen. Como probablemente habrs descubierto al usar redes Windows, es un serioproblema el usar sesiones NBT. Si la conexin es interrumpida por la razn que sea, la informacin de sesinque est abierta entre dos computadoras puede fcilmente volverse invlida. Si esto ocurre, la nica forma derestablecer la sesin para las dos mismas mquinas es llamar de nuevo y comenzar desde ceero.

    Usando Samba

    1.3.5 Datagramas y Sesiones. 21

  • Si deseas ms nformacin sobre cada uno de estos servicios, te recomendamos mires el RFC 1001. Sinembargo, hay dos cosas importantes a recordar aqu:

    Las sesiones siempre ocurren entre dos mquinas NetBIOS ni ms ni menos. Si un servicio desesin es interrumpido, se supone que el cliente ha almacenado la suficiente informacin de estadocomo para restablecer la comunicacin. Sin embargo, en la prctica, es raro el caso.

    Los datagramas pueden ser difundidos a mltiples mquinas, pero son inestables. Dicho de otromodo, no hay forma para el emisor de saber si los datagramas que ha enviado han llegadocorrectamente a los destinatarios.

    Usando Samba

    1.3.5 Datagramas y Sesiones. 22

  • 1.4 Implementaciones de Microsoft.Con todo lo anterior de fondo, ahora podemos hablar sobre algunas de la implementaciones de Microsoftsobre los anteriores conceptos del mundo de las redes CIFS/SMB. Y como te esperas, tambin introduciremossobre algunas ms complejas extensiones.

    1.4.1 Dominio Windows.Recuerda que un grupo de trabajo es una coleccin de computadoras SMB, las cuales residen todas en lamisma subred y se encuentran suscritas al mismo grupo SMB. Un Dominio Windows va un paso ms all. Esun grupo de trabajo de mquinas SMB que tienen una aadido: un servidor que acta como controlador dedominio. Debes tener un controlador de dominio para poder tener un dominio Windows [6]. Por otra parte, setrata slo de un grupo de trabajo. Mira la Figura 11. [6] Los dominios Windows son llamados "DominiosWindows NT" por Microsoft porque ellos asumen que sern mquinas Windows NT las que asuman el papelde controladoras de dominio. Sin embargo, como Samba puede realizar sta funcin tambin, nosotrossimplemente hablaremos de "Dominios Windows" para evitar confusiones.

    Figure: Un Simple Dominio Windows.

    Hay actualmente dos protocolos separados usados por un controlador de dominio (logon server): uno paracomunicar con mquinas Windows 95/98 y otro para comunicar con mquinas Windows NT. Mientras queSamba actualmente imlementa el protocolo controlador de dominio para mquinas Windows 95/98 (lo cualnos permite actuar como controlador de dominio para mquinas Windows 9 x), todava no estcompletamente soportado el protocolo para mquinas Windows NT. Sin embargo, el equipo de desarrollo deSamba promete que dicho soporte para el protocolo controlador de dominio para mquinas Windows NTestar en la versin Samba 2.1.

    Por qu tanta complejidad? El protocolo que el controlador de dominio de Windows usa para comunicar consus clientes y con otros controladores de dominio es propietario y no ha sido liberado por Microsoft. Esto haforzado al equipo de Samba a utilizar una ingerniera inversa sobre el protocolo controlador de dominio paraver qu cdigos realizan qu taras.

    1.4.1.1 Controlador de Dominio.

    El controlador de dominio es el centro nervioso de un dominio Windows, tal como un servidor NIS lo es delservicio de informacin de una red Unix. Los controladores de dominio tienen una serie de responsabilidades.

    1.4 Implementaciones de Microsoft. 23

  • Una de las que te va a implicar a ti es la autentificacin. La autentificacin es el proceso de garantizar odenegar a un usuario el acceso a recursos compartidos o a otra mquina de la red, normalmente a travs deluso de una password.

    Cada controlador de dominio usa un security account manager (SAM) para mantener una lista decombinaciones nombre_usuariocontrasea. El controlador de dominio entonces forma una central repositoriade passwords que estn enlzadas a nombres de usuarios (una password por usuario), lo cual es ms eficienteque mantener en cada mquina cliente centenares de passwords para cada recurso de red disponible.

    En un dominio Windows, cuando un cliente no autorizado solicita acceso a los recursos compartidos de unservidor, el servidor acta y pregunta al controlador de dominio si ese usuario est autentificado. Si lo est, elservidor establecer una conexin de sesin con los derechos de acceso correspondientes para ese servicio yusuario. Si no lo est, la conexin es denegada. Una vez un usuario es autentificado por el controlador dedominio, una ficha especial de autentificacin ser retornada al cliente, de manera que el usuario no necesitarrelogearse a otros recursos en ese dominio. En ste punto, el usuario se considera "logeado" en el dominio.Mira la Figura 12.

    Figure: Usando un controlador de dominio para autentificacin.

    1.4.1.2 Controlador de Dominio Primario y de Seguridad.

    La redundancia es una idea clave dentro de un dominio Windows. El controlador de dominio que estactualmente activo sobre un dominio es denominado como el Controlador Primario de Dominio (PDC).Adems pueden existir uno o ms Controladores de Dominio de Seguridad (BDCs) en el dominio, los cualesactuarn en caso de que el controlador primario falle o se vuelva inaccesible. Los BDCs frecuentementesincronizan sus datos SAM con el controlador primario de dominio, de manera que si llegara el caso,cualquiera de ellos podra realizar servicios DC transparentemente sin provocar ningn tipo de impacto en losclientes. Advierte que los BDCs, sin embargo, slo tienen copias de slo lectura del SAM; pueden actualizarsus datos slo mediante la sincronizacin con un PDC. Un servidor en un dominio Windows puede usar losSAM de cualquier controlador de dominio primario o de seguridad para autentificar a un usuario que intentaacceder a los recursos y logearse en el dominio.

    Ten en cuenta que en muchos aspectos, las caractersticas de un grupo de trabajo de Windows y un dominiode Windows se pisan. Esto no es algo accidental, ya que el concepto de los dominios Windows no aparecihasta la aparicin de Windows NT 3.5, y los dominios Windows fueron forzados a permanecer compatiblescon los grupos de trabajo presentes en Windows for Workgroups 3.1. La cosa clave a recordar aqu es que un

    Usando Samba

    1.4.1.2 Controlador de Dominio Primario y de Seguridad. 24

  • dominio es simplemente un grupo de trabajo de Windows con uno o ms controladores de dominio aadidos.

    Samba puede funcionar como controlador primario de dominio para mquinas Windows 95/98 sin ningn tipode problemas. Sin embargo, Samba 2.0 puede actuar como controlador primario de dominio slo paraprocesos de autentificacin; actualmente no puede asumir ninguna otra de las responabilidades de un PDC.(mientras lees este manual, Samba 2.1 puede que ya est disponible, de forma que podrs usar Samba comoPDC para clientes NT). Por otra parte, y "gracias" a la privacidad del protocolo usado por Microsoft parasincronizar datos SAM, Samba actualmente no puede servir como controlador de dominio de seguridad.

    1.4.2 Visualizacin (Browsing).La visualizacin, navegacin o browsing es una respuesta de alto nivel para la pregunta del usuario: "Qumquinas estn ah en la red Windows?". Recuerda que no hay conexin alguna con un navegador web, apartede la idea general de "descubrir qu hay por ah fuera". Y, al igual que en la web, lo que est ah fuera puedecambiar sin previo aviso.

    Antes de visualizar, los usuarios deben connocer el nombre de la mquina especfica a la que quierenconectarse desde la red, y entonces manualmente introducir un UNC al como el siguiente en una aplicacin ogestor de ficheros para acceder a los recursos:

    \\HYDRA\network\

    Con la visualizacin, sin embargo, puedes examinar los contenidos de una mquina usando un tpico interfazapuntaryhacerclick. Por ejemplo, la ventana de Entorno de Red desde un cliente Windows.

    1.4.2.1 Niveles de Visualizacin.

    Como indicamos al principio del captulo, existen actualmente dos tipos de visualizacin, navegacin obrowsing con los que te podrs encontrar en una red SMB/CIFS:

    Visualizar una lista de mquinas (con recursos compartidos). Visualizar los recursos compartidos de una mquina determinada.

    Veamos el primero de ellos. En cada subred de cada grupo de trabajo Windows (o dominio), una computadoratiene la responsabilidad de mantener una lista de las mquinas que estn actualmente accesibles a travs de lared. Esta computadora es denominada la visualizadora local maestra, y la lista que mantiene es llamada laLista de Visualizacin. Las mquinas de una subred usan la lista de visualizacin para reducir la cantidad detrfico de la red que se genera durante la visualizacin. En vez de que cada mquina genere su propia lista demquinas disponibles, la computadora puede simplemente interrogar al visualizador maestro local paraobtener una completa y actualizada lista.

    Para visualizar los recursos actuales de una mquina, un usuario debe conectar a la mquina especfica; esainformacin no puede ser obtenida de la lista de visualizacin. El ver la lista de recursos compartidos de unamquina se puede hacer haciendo click cobre el icono que la representa en la ventana de Entorno de Red deWindows 95/98 o NT. Como ya vimos al principio del captulo, la mquina responder con una lista derecursos compartidos que pueden ser accedidos si ese usuario se encuentra debidamente autentificado.

    Cada uno de los servidores de un grupo de trabajo de Windows est obligado a anunciar su presencia alvisualizador maestro local una vez haya registrado su nombre NetBIOS, y (tericamente) a anunciar que estdejando el grupo de trabajo cuando se apaga. Es responsabilidad del visualizador maestro local registrar las

    Usando Samba

    1.4.2 Visualizacin (Browsing). 25

  • mquinas. Advierte que el visualizador maestro local no tiene por qu ser necesariamente la misma mquinaque el servidor de nombres NetBIOS (NBNS), sobre el cual hablamos anteriormente.

    ADVERTENCIA: El Entorno de Red de Windows puede comportarse de forma extraa:hasta que no selecciones una mquina determinada para visualizarla, la ventana del Entronode Red puede contener datos no actualizados. Esto significa que en la ventana del Entorno deRed pueden aparecer mquinas que estn actualmente apagadas, o bien puede obviar a otrasmquinas que actualmente estn declaradas en el grupo de trabajo. Una vez hayasseleccionado un servidor y hayas conectado a l, entonces puedes tener la seguridad de quelos recursos compartidos que muestra realmente existen.

    Al contrario de los roles que hemos visto antes, casi cualquier mquina Windows (NT Server, NTWorkstation, 98, 95, o Windows 3.1 for Workgroups) puede actuar como visualizador maestro local. Comocon los controladores de dominio, el visualizador maestro local puede tener uno o ms visualizadores deseguridad en la subred local que pueden actuar en el caso de que el visualizador maestro local falle o se vuelvainaccesible. Para asegurar una operacin fluida, los visualizadores de seguridad locales sincronizarnfrecuentemente su lista de visualizacin con el visualizador maestro local. Actualicemos nuestro diagrama dedominio Windows para incluir un visualizador maestro local y otro de seguridad.

    Los resultados se muestran en la Figura 13.

    Figure: Un dominio Windows con un visualizador maestro local y otro de seguridad.

    Aqu tienes cmo calcular el nmero mnimo de visulizadores de seguridad que deben existir en un grupo detrabajo:

    Si hay entre 1 y 32 Windows NT workstations en la red, o entre 1 y 16 mquinas Windows 95/98 enla red, el visualizador maestro local coloca un visualizador de seguridad en adicin al maestro.

    Si el nmero de Windows NT workstations est entre 33 y 64, o el nmero de mquinas Windows95/98 est entre 17 y 32, el visualizador maestro local ubica dos visualizadores de seguridad.

    Por cada grupo de 32 NT workstations o 16 mquinas Windows 95/98 de ms,el visualizador maestrolocal coloca un visualizador de seguridad ms.

    Actualmente no existe lmite de visualizadores de seguridad que se puedan ubicar por parte del visualizadormaestro local.

    Usando Samba

    1.4.2 Visualizacin (Browsing). 26

  • 1.4.2.2 Eleccin de Visualizador.

    La visualizacin es un aspecto crtico de cualquier grupo de trabajo Windows. Sin embargo, no todo funcionaperfectamente en cualquier red. Por ejemplo, digamos que el servidor Windows NT del despacho del CEO deuna pequea compaa es el visualizador maestro local esto es, hasta que l lo apague mientras se va a susesin de masaje. En ste punto, la estacin de trabajo Windows NT Workstation de la seccin deldepartamento de repuestos podra estar de acuerdo en tomar el relevo. Sin embargo, esa mquina estactualmente ejecutando un programa realmente enorme, pobremente escrito, y que est comindoseliteralmente la capacidad de proceso del microprocesador. La moraleja: la visualizacin debe ser muytolerante con los servidores que vienen y van. Debido a que cada mquina Windows puede llegar a actuarcomo un visualizador, debe existir una forma de decidir en cada momento quin se va a hacer cargo deltrabajo. Este proceso de toma de decisin se denomina eleccin.

    Un algoritmo de eleccin se construye en casi todos los sistemas operativos Windows, de manera que cadauno de ellos puede ponerse de acuerdo con los dems sobre quin va a ser el visualizador maestro local yquines van a actuar como visualizadores de seguridad. Una eleccin puede forzarse en cualquier momento.Por ejemplo, asumamos que el CEO ha finalizado su masaje y reinicia el servidor. Cuando el servidor seactiva de nuevo, ste anuncia su presencia y una eleccin tendr lugar para ver si el PC en el departamento derepuestos debera continuar siendo el visualizador maestro.

    Cuando se realiza una eleccin, cada mquina difunde informacin sobre s misma en forma de datagramas.Esta indormacin incluye:

    La versin del protocolo de eleccin usado. El sistema operativo de la mquina. La cantidad de tiempo que el cliente ha estado en la red. El nombre de host del cliente.

    Estos valores determinan qu sistema operativo tiene ms potencia y cumplir mejor el rol de visualizadormaestro local. (El Cap. 6, Usuarios Seguridad y Dominios, describe el proceso de eleccin con ms detalle).La arquitectura desarrollada para conseguir esto no es demasiado elegante que digamos, y ha llevado amuchos problemas de seguridad. Mientras que un dominio de visualizacin puede estar integrado con undominio de seguridad, el algoritmo de eleccin no toma en consideracin qu computadoras se vuelvenvisualizadores. As, es posible para cualquier mquina ejecutar un servicio de visualizacin para registrarse as misma como participante en la eleccin de visualizador, y (tras ganar) estar habilitada para cambiar la listade visualizacin. No obstante, la visualizacin es un rasgo importante de las redes Windows, y losrequerimientos de mantener la compatibilidad con versiones anteriores de s.o. Windows le asegura estar enuso durante muchos aos.

    1.4.3 Puede un Grupo de Trabajo Windows abarcar variasSubRedes?S, pero la mayora de la gente que se ha metido con esto ha tenido muchos quebraderos de cabeza. Abarcarmltiples subredes no era parte del diseo inicial de Windows NT 3.5 o Windows for Workgroups. Comoresultado, un dominio Windows que que abarca dos o ms subredes es, en realidad, un "encolado" de dos oms grupos de trabajo que comparten un nombre idntico. La buena noticia es que todava podrs usar uncontrolador primario de dominio para control de autentificacin en cada una de las subredes. La mala noticiaes que las cosas no son tan sencillas en el caso de la visualizacin.

    Usando Samba

    1.4.2.2 Eleccin de Visualizador. 27

  • Como mencionamos antes, cada subred tiene su propio visualizador maestro local. Cuando un dominioWindows abarca mltiples subredes, un administrador del sistema tendr que asignar una de las mquinascomo el visualizador maestro de dominio. El visualizador maestro de dominio mantendr una lista devisualizacin para todo el dominio Windows. Esta lista de visualizacin es creada por la sincronizacinperidica de la lista de visualizacin del visualizador maestro de dominio con las listas de visualizacin decada uno de los visualizadores maestros locales. Tras la sincronizacin, el visualizador maestro y elvisualizador maestro de dominio deberan contener entradas idnticas. Mira la Figura 14 como ilustracin.

    Figure: Un grupo de trabajo que abarca ms de una subred.

    Te suena bien? Bueno, pues eso no es "el cielo" por las siguientes razones:

    Si existe, un controlador primario de dominio siempre juega el papel de visualizador maestro dedominio. Debido al diseo de Microsoft, los dos siempre comparten el tipo de recurso NetBIOS, y (desafortunadamente) no pueden ser separados.

    Las mquinas Windows 95/98 no pueden convertirse, ni siquiera contactar con un visualizadormaestro de dominio. El equipo de Samba cree que esto es una decisind e marketing por parte deMicrosoft, que fuerza a los consumidores a tener, al menos una mquina Windows NT workstation (oservidor Samba) en cada subred de un grupo de trabajo multired.

    Cada visualizador maestro de cada subred local continua manteniendo la lista de visualizacin para su subred,para la cual se vuelve autoritativo. As, si una computadora desea ver una lista de los servidores dentro de supropia subred, el visualizador maestro local de esa subred ser interrogado. Si una computadora quiere ver unalista de servidores fuera de su subred, slo podr llegar hasta donde le lleve el visualizador maestro local. Peroesto funciona porque, a intervalos fijados, la lista de visualizacin autoritativa del visualizador maestro localde una subred es sincronizado con el visualizador maestro de dominio, el cual est sincronizado con el

    Usando Samba

    1.4.2.2 Eleccin de Visualizador. 28

  • visualizador maestro local de las otras subredes en el dominio. Esto se denomina propagacin de la lista devisualizacin.

    Samba puede actuar como visualizador maestro de dominio en un dominio Windows si es necesario. Enadicin, tambin puede actuar como visualizador maestro local para una subred Windows, sincronizando sulista de visualizacin con el visualizador maestro de dominio.

    1.4.4 El Servicio de Nombres de Internet de Windows(WINS).El Servicio de Nombres de Internet de Windows, o "Windows Internet Name Service" (WINS) es laimplementacin de Microsoft de un servidor de nombres NetBIOS (NBNS). Como tal, WINS hereda muchasde las caractersticas de NetBIOS. Primero, WINS funciona con nombres simples o llanos; slo puedes tenermquinas llamadas fred o grupos de trabajo como CANADA o USA. En adicin, WINS es dinmico: cuandoun cliente se vuelve "aparece" en la red, se le requiere para que reporte su nombre de mquina, su direccin ysu grupo de trabajo al servidor WINS local. Este servidor WINS retendr la informacin mientras el clienteperidicamente refresque su registro WINS, lo cual indica que todava est conectado a la red. Advierte quelos servidores WINS no son especficos de un grupo de trabajo o dominio; pueden aparecer en cualquier lugary servir a cualquiera.

    Pueden configurarse mltiples servidores WINS para sincronizarse unos con otros tras determinado paso detiempo. Esto permite entradas de mquinas que aparecen y desaparecen en la red para propagarse de unservidor WINS a otro. Mientras que en teora esto debera ser eficiente, podra volverse problemticorpidamente si hay varios servidores WINS cubriendo una red. Debido a que los servicios WINS puedencontrolar mltiples subredes, frecuentemente es ms eficiente tener a cada cliente Windows, no importacuntos dominios Windows haya, apuntando al mismo servidor WINS. De esa forma, slo habr un servidorWINS autoritativo con la informacin correcta, en lugar de tener varios servidores WINS esforzndosecontnuamente en sincronizarse entre ellos con los cambios ms recientes.

    El actual servidor WINS activo es conocido como el servidor WINS primario. Tambin puedes instalar unservidor WINS secundario, el cual entrar en accin en el caso de que el primario falle o se vuelvainaccesible. Advierte que no hay un proceso de eleccin para determinar qu mquina se convierte en servidorWINS primario o de seguridad la eleccin de servidores WINS es esttica y debe ser predeterminada por eladministrador del sistema. Tanto el servidor WINS primario como el de seguridad sincronizarn sus bases dedatos de direcciones cada ciertos perodos determinados de tiempo.

    En la familia de sistemas operativos Windows, slo un servidor NT Workstation o NT pueden actuar comoservidores WINS. Samba tambin puede funcionar como servidor WINS primario, pero no como secundario.

    1.4.5 Qu puede hacer Samba?Vaya! nunca habras pensado que las redes Microsoft podran ser tan complejas, verdad? Ahora, centrmonosen ver dnde nos puede ayudar Samba. La Tabla 6 sumariza los roles que Samba puede y no puede asumir enun dominio Windows NT o en un dominio Windows para Trabajo en Grupos. Como podrs ver, debido a quela mayora de protocolos del dominio NT son propietarios y no han sido documentados por Microsoft, Sambano puede sincronizar correctamente sus datos con un servidor Microsoft y no puede actuar como servidor deseguridad en la mayora de los roles. Sin embargo, con las versiones 2.0. x, Samba ofrece soporte limitadopara los protocolos de autentificacin del controlador primario de dominio y est adquiriendo nuevasfuncionalidades cada da.

    Usando Samba

    1.4.4 El Servicio de Nombres de Internet de Windows (WINS). 29

  • Table: Roles de Samba (desde 2.0.4b).

    Rol Puede hacerlo?Servidor de Archivos SServidor de Impresin SControlador Primario de Dominio S (Samba 2.1 o superior

    recomendado)Controlador de Dominio de Seguridad NoAutentificacin de clientes Windows 95/98 SVisualizador Maestro Local SVisualizador de Seguridad NoVisualizador Maestro de Dominio SServidor WINS Primario SServidor WINS Secundario No

    Usando Samba

    1.4.4 El Servicio de Nombres de Internet de Windows (WINS). 30

  • 1.5 Un Vistazo a la Distribucin Samba.Como mencionamos antes, Samba actualmente contiene varios programas que sirven para diferentes perodeterminados propsitos. Vamos a introducirnos en cada uno de ellos brevemente, y veremos cmo funcionantodos ellos. La mayora de los programas que vienen con la distribucin de Samba se centran en sus dosdemonios. Echemos un vistazo a las responsabilidades de cada demonio:

    smbdEl demonio smbd es responsable de manejar los recursos compartidos entre la mquina servidoraSamba y sus clientes. Proporciona servicios de archivos, impresin y visualizacin a los clientes SMBa travs de una o ms redes. smdb controla todas las notificaciones entre el servidor Samba y losclientes de red. En adicin, es responsable de la autentificacin de usuarios, bloqueo de recursos y lacomparticin de datos a travs del protocolo SMB.

    nmbdEl demonio nmbd es un sencillo servidor de nombres que imita la funcionalidad de los servidoresWINS y de resolucin de nombres NetBIOS. Este demonino est a la escucha de peticiones para elservidor de nombres y proporciona la informacin apropiada cuando se le llama. Tambinproporciona listas de visualizacin del Entorno de Red y participa en las elecciones de losvisualizadores.

    La distribucin de Samba tambin est acompaada por un pequeo grupo de herramientas tipo lnea decomandos Unix:

    smbclientUn cliente tipo FTP Unix que puede ser usado para conectar a recursos compartidos por Samba.

    smbtarUn programa para realizar copias de seguridad de datos sitos en los recursos compartidos, similar alcomando Unix "tar".

    nmblookupUn programa que proporciona bsquedas de nombres NetBIOS sobre TCP/IP.

    smbpasswdUn programa que permite a un administrador cambiar las passwords encriptadas usadas por Samba.

    smbstatusUn programa para reportar las conexiones de red actuales hacia los recursos compartidos por elservidor Samba.

    testparmUn simple programa para validar el fichero de configuracin de Samba.

    testprnsUn programa que testea si varias impresoras son reconocidas por el demonio smbd.

    Cada nueva versin de Samba es sometida a muchos testeos antes de ser anunciada. Adems, es rpidamenteactualizada si se detectan problemas o bugs. La distribucin ms estable a la fecha de este libro es la 2.0.5.Este libro se centra en las funcionalidades soportadas por la versin 2.0, en contraposicin con las versiones1.9. x de Samba, las cuales estn ya obsoletas.

    1.5 Un Vistazo a la Distribucin Samba. 31

  • 1.6 Cmo puedo Obtener Samba?Samba est disponible en formato binario y fuente en una serie de mirrors en Internet. El sitio principal deSamba est localizado en http://www.samba.org.

    Sin embargo, si no quieres esperar a que los paquetes te lleguen desde Australia, los mirros para Samba lospuedes encontrar en muchas direcciones de Internet. Tienes una lista de ellos en la pgina principal del sitiooficial de Samba.

    1.6 Cmo puedo Obtener Samba? 32

  • 2. Instalando Samba en un Sistema Unix.Ahora que sabes lo que Samba puede hacer por ti y por tus usuarios, es hora de entrar en la configuracin denuestra propia red. Comenzaremos con la instalacin de Samba sobre un sistema Unix. Aprenderemos pasito apasito a instalar Samba. Este captulo te ayudar a empezar con buen pie.

    Para propsitos ilustrativos, instalaremos la versin 2.0.4 del servidor Samba sobre un sistema Linuxcorriendo la versin 2.0.31 del ncleo. De todas formas, los pasos de instalacin son los mismos para todas lasplataformas que Samba soporta. Una instalacin tpica nos llevar una hora, incluyendo la descarga de losfuentes y su compilacin, tocar los ficheros de configuracin, y testear el servidor.

    Aqu tienes una vista rpida de los pasos:

    Descargar los fuentes o binarios de la distribucin.1. Leer la documentacin sobre instalacin.2. Configurar el makefile.3. Compilar el cdigo del servidor.4. Instalar los ficheros del servidor.5. Crear un fichero de configuracin de Samba.6. Testear el fichero de configuracin.7. Iniciar los demonios de Samba.8. Testear los demonios de Samba.9.

    2. Instalando Samba en un Sistema Unix. 33

  • 2.1 Descargando la Distribucin.Si quieres bajarte la ltima versin, el sitio web principal de Samba es http://www.samba.org. Una vezconectes a esta pgina, vers enlaces a los sitios espejo de Samba distribuidos por el mundo. Escoge el sitioms cercano a ti.

    Los sitios web de Samba tienen documentacin y tutoriales, listas de correo, las ltimas notivias sobre Samba,y las distribuciones de fuentes y binarios de Samba. Los sitios de descarga (FTP) slo tienen las distribucionesde fuentes y binarios. A menos que especficamente desees una versin en concreto o necesites instalar unadistribucin binaria, descargate la ltima distribucin de fuentes desde el sitio ftp ms cercano. Estadistribucin siempre se llama:

    sambalatest.tar.gz

    2.1.1 Binarios o Fuentes?Los paquetes precompilados estn disponibles tambin para un gran nmero de plataformas Unix. Estospaquetes contienen binarios para cada uno de los ejecutables de Samba, as como la documentacin base deSamba. Advierte mientras que la instalacin de una distribucin de binarios te puede ahorrar problemas ytiempo, hay unas cuantas cosas que deberas tener en mente cuando vayas a decidir uasr los binarios ocompilar t mismo:

    Los paquetes de binarios pueden estar atrasados con respecto a la ltima versin del en una o dosrevisiones (incluso ms), especialmente tras una serie de pequeos cambios o para el caso de lasplataformas menos populares. Compara las notas de revisin de los paquetes de fuentes y de binariospara asegurarte de que no hay nuevas caractersticas que necesites para tu plataforma.

    Si usas binarios precompilados, necesitars asegurarte de que tienes las libreras correctas requeridaspor los ejecutables. En algunas plataformas, los ejecutables estn estticamente enlazados, por lo cualesto no sera problema, pero en los s.o. Unix modernos (p.ej., Linux, SGI Irix, Solaris, HPUX, etc.),las libreras frecuentemente estn enlazadas dinmicamente. Esto significa que los binarios buscan laversin correcta de cada librera en tu sistema, as que podras tener que instalar una nueva versin deuna librera para compilar. El fichero README o makefile que acompaan a la distribucin debinarios debera especificar cualesquiera requerimientos2.1. Muchas mquinas con librerascompartidas vienen con una utilidad llamada ldd. Esta herramienta te dir qu libreras requiere undeterminado binario, y qu libreras en el sistema satisfacen dicho requerimiento. Por ejemplo, eltesteo del programa smbd en nuestra mquina dio el siguiente resultado:

    \textbf{$ ldd smbd} libreadline.so.3 => /usr/lib/libreadline.so.3 libdl.so.2 => /lib/libdl.so.2 libcrypt.so.1 => /lib/libcrypt.so.1 libc.so.6 => /lib/libc.so.6 libtermcap.so.2 => /lib/libtermcap.so.2 /lib/ldlinux.so.2 => /lib/ldlinux.so.2

    Si hay cualquier incompatibilidad entrer Samba y libreras especficas en tu mquina, ladocumentacin base de la distribucin te lo debera aclarar.

    Recuerda que cada distribucin de binarios trae valores preestablecidos sobre la plataforma deinstalacin, tales como directorios por defecto y valores de algunas opciones de configuracin. Denuevo, comprueba la documentacin y el fichero makefile incluido en el directorio fuente para verqu directivas y variables fueron usadas cuando se compilarion los binarios. En algunos casos,

    2.1 Descargando la Distribucin. 34

  • podran no ser apropiados para tu situacin.Unos cuantos elementos de configuracin pueden ser reseteados con opciones de lnea de comandosen tiempo de ejecucin, en lugar de en tiempo de compilacin. Por ejemplo, si tu binario intentacolocar un archivo de registro, bloqueo o de estado en el lugar ``inapropiado'' (p.ej., en /usr/local ),podras evitar esto sin necesidad de recompilar.

    Un punto a comentar es que los fuentes de Samba requieren un compilador ANSI C. Si ests en unaplataforma con un compilador noANSI, tal como el compilador cc de SunOS version 4, tendrs que instalarun compilador compatible ANSI como gcc antes de que puedas hacer nada2.2.

    2.1.2 Leer la Documentacin.Aunque parezca algo obvio, si bien puedes descomprimir el paquete y acto seguido hacer configure, make, ymake install, y a lo mejor hasta te funciona, es una mala idea el no dedicar algo de tiempo a leer ladocumentacin, sobre todo cuando planeamos una red con Samba.

    Samba 2.0 se configura automticamente antes de la compilacin. Esto reduce la problemtica que puedaexistir con problemas especficos de determinadas mquinas, pero puede que haya una opcin mencionada enel fichero README que t no hayas tenido en cuenta, y que te va a resultar imprescindible para tuinstalacin. Tanto con un tipo de distribucin como otra, encontrars un buen nmero de documentos en eldirectorio docs, en variedad de formatos. Los fichero ms importantes a leer en toda distribucin son:

    WHATSNEW.txt docs/textdocs/UNIX_INSTALL.txt

    Estos ficheros te indican cules son las caractersticas con las que te vas a encontrar en tu distribucin deSamba, y te advertir sobre problemas tpicos de instalacin con los que te podrs encontrar. Asegrate deecharles al menos un vistazo antes de comenzar con la compilacin.

    Usando Samba

    2.1.2 Leer la Documentacin. 35

  • 2.2 Configurando Samba.La distribucin de fuentes de Samba 2.0 y anteriores no tenan inicialmente un makefile. En su lugar, segeneraba uno a travs de un script GNU configure, el cual se localizaba en el directorio samba2.0.x /source/.El script configure, que debera ser ejecutado como root, se encarga de las configuraciones especficas a lamquina destino donde se iba a instalar Samba. Sin embargo, todava puedes decidir sobre algunas opcionesglobales. Las opciones globales pueden ser establecidas pasando opciones a travs de la lnea de comandos:

    # ./configure withssl

    Por ejemplo, esto configurar el fichero makefile para Samba con soporte para el protocolo de encriptacinSecure Sockets Layer (SSL). Si quieres ver la lista completa de opciones, teclea lo siguiente:

    #./configure help

    Cada una de estas opciones activa/desactiva varias caractersticas. Normalmente activars una caractersticaespecificando la opcin conopcion, la cual causar que la caracterstica sea compilada e instalada. Delmismo modo, si especificas una opcin sinopcion, la caracterstica ser desactivada. Desde Samba 2.0.5,cada una de las siguientes caractersticas estn desactivadas por defecto:

    withsmbwrapperIncluye soporte SMB wrapper, lo cual permite a los ejecutables de la parte Unix acceder a sistemas deficheros SMB/CIFS como si fueran sistemas de ficheros de Unix. Recomendamos usar esta opcin.Sin embargo, al tiempo de la escritura de este libro, nos topamos con diversas incompatibilidadesentre el paquete smbwrapper y la librera GNU libc versin 2.1, y no se pudo compilar en Red Hat6.0. Busca ms informacin sobre estas incompatibilidades en la pgina web de Samba.

    withafsIncluye soporte para el sistema de ficheros de Andrew de la Universidad Carnegie Mellon. Si vas aservir ficheros AFS va Samba, te recomendamos compilar Samba una vez primero sin activar estacaracterstica, para asegurarte de que todo funciona bien. Una vez la versin funcione correctamente,recompila Samba con esta caracterstica activada.

    withdfsIncluye soporte para DFS, una versin posterior de AFS, usado por OSF/1 (Digital Unix). Nota queesto NO ES LO MISMO que el DFS de Microsoft, el cual es un sistema de ficheros completamentedistinto. De nuevo, recomendamos compilar Samba primero sin sta caracterstica, y si todo funcionabien, recompila con ella activada.

    withkrb4=directoriobase

    Incluye soporte para Kerberos version 4.0, especificando explcitamente el directorio base de la distribucin.Kerberos es un protocolo de seguridad de red de MIT que usa cripografa para proporcionar seguridad entrenodos. Microsoft ha anunciado que Kerberos 5.0 ser el mecanismo estandar de autentificacin para MicrosoftWindows 2000 (NT 5.0). Sin embargo, los mecanismo de autentificacin de Kerberos 5.0 son bastantediferentes a los mecanismos de seguridad de Kerberos 4.0. Si tienes Kerberos version 4 en tu sistema, elequipo de Samba recomienda que actualices y uses la opcin withkrb5 (mira el siguiente elemento). Puedesencontrar ms informacin sobre Kerberos en http://web.mit.edu/kerberos/www.

    withkrb5=directoriobaseIncluye soporte para Kerberos version 5.0, especificando explcitamente el directorio base de ladistribucin. Microsoft ha anunciado que Kerberos 5.0 ser el mecanismo estandar de autentificacin

    2.2 Configurando Samba. 36

  • para Microsoft Windows 2000 (NT 5.0). Sin embargo, no hay garantas de que Microsoft no ampleKerberos para sus propias necesidades en el futuro. Actualmente, el soporte de Kerberos en Sambaslo usa un interfaz de claves de texto plano, no encriptadas. Puedes encontrar ms informacin sobreKerberos en http://web.mit.edu/kerberos/www.

    withautomountIncluye soporte para automounter, una caracterstica frecuentemente usada en sitios que ofrecen NFS.

    withsmbmountIncluye soporte smbmount, lo cual es slo para Linux. Esta caracterstica no estaba mantenida altiempo de la escritura de este libro, as que el equipo de Samba cre una caracterstica adicional yproporcion smbwrapper en su lugar. La caracterstica smbwrapper funciona en mayor nmero deplataformas Unix que smbmount, as que normalmente querrs usar withsmbwrapper en lugar deesta opcin.

    withpamIncluye soporte para para Pluggable Authentication Modules (PAM), una caracterstica comn deautentificacin en el s.o. Linux.

    withldapIncluye soporte para el Lightweight Directory Access Protocol (LDAP). Una versin futura de LDAPser usada en el s.o. Windows 2000 (NT 5.0); este soporte de Samba es experimental. LDAP es unflexible protocolo de directorios clienteservidor que proporciona informacin tal como certificados ymiembros de grupos2.3.

    withnisIncluye soporte para obtener informacin passwordfichero desde NIS (las pginas amarillas de lared).

    withnisplusIncluye soporte para obtener informacin passwordfichero desde NIS+, el sucesor de NIS.

    withsslIncluye soporte para Secure Sockets Layer (SSL), el cual es usado para proporcionar conexionesencriptadas desde cliente al servidor. El Apndice A, Configurando Samba con SSL, describe laconfiguracin de Samba con soporte SSL.

    withnisplushomeIncluye soporte para localizar qu servidores contienen un determinado directorio home de usuario ypedirle que conecte a l. Requiere withnis y, usualmente, withautomounter.

    withmmapIncluye experimental memory mapping code. Esto no es necesario para bloqueo rpido, el cual ya usammap o System V shared memory.

    withsyslogIncluye soporte para usar la utilidad SYSLOG para informacin de registro generada por el servidorSamba. Hay un par de opciones de configuracin de Samba que puedes usar para activar el soporteSYSLOG; El Captulo 4, Discos Compartidos, las discute.

    withnetatalkIncluye soporte experimental para interoperar con el servidor de ficheros Netatalk (Macintosh).

    withquotasIncluye soporte de cuotas de disco.

    Como cada una de estas opciones estn desactivadas por defecto, ninguna de ellas es esencial para Samba.

    En adicin, la Tabla 2.1 muestra algunos de los otros parmetros que puedes usar con el script configure siquieres ubicar partes de la distribucin de Samba en diferentes lugares, quizs para hacer uso de mltiplesdiscos o particiones. Nota que los valores por defecto de la tabla muchas veces se refieren a un prefijoespecificado previamente.

    Usando Samba

    2.2 Configurando Samba. 37

  • Table: Opciones de Configuracin Adicionales.

    Opcin Significado V. por Defecto

    prefix=directorio Instala los archivos independientes de la arquitectura en eldirectorio base especificado.

    /usr/local/samba

    eprefix=directorio Instala los archivos dependientes de la arquitectura en eldirectorio base especificado.

    /usr/local/samba

    bindir=directorio Instala ejecutables de usuario en el directorioespecificado.

    eprefix /bin

    sbindir=directorio Instala ejecutables de administrador en el directorioespecificado.

    eprefix /bin

    libexecdir=directorio Instala programas ejecutables en el directorioespecificado.

    eprefix /libexec

    datadir=directorio Instala los datos de slo lectura independientes de laarquitectura en el directorio especificado.

    prefix /share

    libdir=directorio Instala libreras de programas en el directorioespecificado.

    eprefix /lib

    includedir=directorio Instala los paquetes de ficheros include en el directorioespecificado.

    prefix /include

    infodir=directorio Instala los ficheros de informacin adicional en eldirectorio especificado.

    prefix /info

    mandir=directorio Instala las pginas de manual en el directorioespecificado.

    prefix /man

    De nuevo, antes de ejecutar el script configure, es importante que seas el usuario root del sistema. De locontrario, podras obtener un warning como este:

    configure: warning: running as nonroot will disable some tests

    No querrs que ningn test sea desactivado cuando se cree el makefile de Samba; esto ampla el potencial deerrores al tiempo de compilacin o ejecucin de Samba en tu sistema.

    Aqu tienes una simple ejecucin del script configure, el cual crea un makefile para Samba 2.0.4 para laplataforma Linux. Nota que debes ejecutar el script en el directorio source, y que varias lneas de la mitad dela salida han sido omitidas:

    # cd samba2.0.4b/source/ # ./configure | tee mylogloading cache ./config.cache checking for gcc... (cached) gcc checking whether the C compiler (gcc O ) works... yes checking whether the C compiler (gcc O ) is a crosscompiler... no checking whether we are using GNU C... (cached) yes checking whether gcc accepts g... (cached) yes checking for a BSD compatible install... (cached) /usr/bin/install c

    ...(contenido omitido)...

    Usando Samba

    2.2 Configurando Samba. 38

  • checking configure summaryconfigure OKcreating ./config.status creating include/stamphcreating Makefile creating include/config.h

    En general, cualquier mensaje desde configure que no sea antecedido por las palabras checking o creating esun error; frecuentemente te ayudar redirigir la salida del script a un fichero para localizar errores, comohicimos con el comando tee anteriormente. Si se produce un error durante la compilacin, informacin msdetallada sobre l se puede encontrar en el fichero config.log, el cual se genera en el directorio local medianteel script configure.

    Si todo va bien, obtendrs un mensaje checking configure summary seguido de un mensaje configure OK y 4 5 mensajes de creacin de ficheros. As que, si ha ido bien ... El Siguiente Paso: compilar.

    Usando Samba

    2.2 Configurando Samba. 39

  • 2.3 Compillando e Instalando Samba.Llegados a este punto deberas estar preparado para construir los ejecutables de Samba. Compilar es fcil: enel directorio source, teclea make sobre la lnea de comandos. La utilidad make producir una salida demensajes explicativos y de sucesos, comenzando por:# make Using FLAGS = O Iinclude I./include I./ubiqx I./smbwrapper DSMBLOGFILE="/usr/local/samba/var/log.smb" DNMBLOGFILE="/usr/local/samba/var/log.nmb" DCONFIGFILE="/usr/local/samba/lib/smb.conf"DLMHOSTSFILE="/usr/local/samba/lib/lmhosts" DSWATDIR="/usr/local/samba/swat" DSBINDIR="/usr/local/samba/bin" DLOCKDIR="/usr/local/samba/var/locks" DSMBRUN="/usr/local/samba/bin/smbrun" DCODEPAGEDIR="/usr/local/samba/lib/codepages" DDRIVERFILE="/usr/local/samba/lib/printers.def" DBINDIR="/usr/local/samba/bin" DHAVE_INCLUDES_H DPASSWD_PROGRAM="/bin/passwd" DSMB_PASSWD_FILE="/usr/local/samba/private/smbpasswd"

    Using FLAGS32 = O Iinclude I./include I./ubiqx I./smbwrapper

    DSMBLOGFILE="/usr/local/samba/var/log.smb" DNMBLOGFILE="/usr/local/samba/var/log.nmb" DCONFIGFILE="/usr/local/samba/lib/smb.conf" DLMHOSTSFILE="/usr/local/samba/lib/lmhosts" DSWATDIR="/usr/local/samba/swat" DSBINDIR="/usr/local/samba/bin" DLOCKDIR="/usr/local/samba/var/locks" DSMBRUN="/usr/local/samba/bin/smbrun" DCODEPAGEDIR="/usr/local/samba/lib/codepages" DDRIVERFILE="/usr/local/samba/lib/printers.def" DBINDIR="/usr/local/samba/bin" DHAVE_INCLUDES_H DPASSWD_PROGRAM="/bin/passwd" DSMB_PASSWD_FILE="/usr/local/samba/private/smbpasswd"

    Using LIBS = lreadline ldl lcrypt lpam Compiling smbd/server.c Compiling smbd/files.c Compiling smbd/chgpasswd.c

    ...(contenido omitido)...

    Compiling rpcclient/cmd_samr.cCompiling rpcclient/cmd_reg.cCompiling rpcclient/cmd_srvsvc.cCompiling rpcclient/cmd_netlogon.cLinking bin/rpcclient Compiling utils/smbpasswd.cLinking bin/smbpasswdCompiling utils/make_smbcodepage.cLinking bin/make_smbcodepageCompiling utils/nmblookup.cLinking bin/nmblookupCompiling utils/make_printerdef.c

    2.3 Compillando e Instalando Samba. 40

  • Linking bin/make_printerdef

    Si te encuentras con problemas durante la compilacin, comprueba la documentacin de Samba para ver si elproblema tiene fcil solucin. Otra posibilidad es buscar o mandar una pregunta a las listas de distribucin deSamba, las cuales vienen al final del appd34717, o en la pgina principal del web de Samba. La mayora delas cuestiones sobre la compilacin son especficas del sistema, y casi siempre fciles de superar.

    Ahora que los ficheros han sido compilados, puedes instalarlos en los directorios que t hayas especificado,con el comando:

    #make install

    Si ests actualizando tu versin de Samba, tus viejos archivos de sern salvados con la extensin .old , ypuedes reinstalar la versin antigua con el comando make revert. Tras realizar un make install, deberas copiarlos archivos .old (si existen) a una nueva localizacin o renombrarlos. Si no lo haces, la prxima vez quecompiles Samba, los originales .old sern sobreescritos sin previo aviso, y perders tu versin primaria. Siconfiguras Samba para usar las ubicaciones por defecto, los nuevos ficheros sern instalados en los directorioslistados en la Tabla 2.2. Recuerda que necesitas realizar la instalacin desde una cuenta que tenga privilegiosde escritura sobre estos directorios; normalmente usars la cuenta de root.

    Table: Directorios de Instalacin de Samba.

    Directorio Descripcin/usr/local/samba Raz/usr/local/samba/bin Binarios/usr/local/samba/lib smb.conf, lmhosts, ficheros de configuracin, etc./usr/local/samba/man Documentacin de Samba/usr/local/samba/private Fichero de passwords encriptadas de Samba/usr/local/samba/swat Archivos de SWAT/usr/local/samba/var Ficheros de registro de Samba, de bloqueo, informacin

    sobre listas de navegacin, ficheros de memoriacompartida, ficheros PID.

    A lo largo del resto del libro, ocasionalmente nos referiremos a la localizacin de la raz de la estructura dedirectorios como samba_dir. En la mayora de configuraciones, este es el directorio base del paquete Samba:/usr/local/samba.

    AVISO: Cuidado si has hecho /usr una particin de slo lectura. Querrs poner ficheros deregistro, bloqueo, y de contraseas en algn sitio.

    Aqu est la instalacin que hemos hecho en nuestra mquina. Puedes ver que hemos usado /usr/local/sambacomo el directorio base de la distribucin (p.ej., samba_dir):

    Usando Samba

    2.3 Compillando e Instalando Samba. 41

  • # make install Using FLAGS = O Iinclude I./include I./ubiqx I./smbwrapper DSMBLOGFILE="/usr/local/samba/var/log.smb"DNMBLOGFILE="/usr/local/samba/var/log.nmb"DCONFIGFILE="/usr/local/samba/lib/smb.conf"

    ...(contenido omitido)...

    The binaries are installed. You may restore the old binaries(if there were any) using the command "make revert". You mayuninstall the binaries using the command "make uninstallbin" or "make uninstall" to uninstall binaries, man pages and shell scripts.

    ...(contenido omitido)...

    ============================================================

    The SWAT files have been installed. Remember to read theREADME for information on enabling and using SWAT. ============================================================

    El ltimo mensaje es sobre SWAT, ya has configurado todos los ficheros. Felicidades! Ahora tienes Sambaen tu sistema!

    2.3.1 Pasos Finales de la Instalacin.Hay un par de pasos finales a realizar. Especficamente, aadir la Herramient de Administracin Web deSamba (SWAT) a los ficheros de configuracin /etc/services y /etc/inetd.conf. SWAT funciona comodemonio bajo inetd y proporciona un editor basado en forms en tu navegador web para la creacin y/omodificacin de ficheros de configuracin SMB.

    Para aadir SWAT, aade la siguiente lnea al final del fichero /etc/services:

    swat 901/tcp

    Aade estas lneas a /etc/inetd.conf. (Verifica la pgina de manual de tu inetd.conf para ver el formatoexacto del fichero inetd.conf, por si difiere con el ejemplo expuesto aqu). No olvides cambiar la rutaal binario SWAT si lo has instalado en una ubicacin distinta a la que genera la instalacin pordefecto en /usr/local/samba.

    1.

    swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat

    Y esto es todo en cuanto a la instalacin. Pero antes de que puedas empezar a usar Samba, sin embargo,necesitars crear un fichero de configuracin para l.

    Usando Samba

    2.3.1 Pasos Finales de la Instalacin. 42

  • 2.4 Un Fichero de Configuracin Bsico.La clave para configurar Samba est en un nico fichero de configuracin: smb.conf. Este fichero deconfiguracin puede ser muy simple o extremadamente complejo, y el resto de este libro se dedica a ayudarteen esta tarea. Por el momento, sin embargo, te mostraremos cmo crear una configuracin simple, la cual tepermitir iniciar los demonios Samba y ver que todo est funcionando como debiera. En posteriores captulos,vers cmo configurar Samba para tareas ms complejas e interesantes.

    El proceso de instalacin no crea automticamente un fichero de configuracin smb.conf, aunque se incluyenvarios de ejemplo en la distribucin de Samba. Para testear el software del servidor, nosotros usaremos elsiguiente fichero. Este debera llamarse smb.conf y estar ubicado en el directorio /usr/local/samba/lib2.4.

    [global] workgroup = SIMPLE

    [test] comment = For testing only, please path = /export/samba/test read only = no guest ok = yes

    Este breve fichero de configuracin le dice al servidor Samba que ofrezca el directorio /export/samba/test enel servidor como un recurso compartido SMB/CIFS llamado test. El servidor tambin se convierte en parte delgrupo de trabajo llamado SIMPLE, donde cada uno de los clientes deben ser tambin miembros de l. (Usaaqu tu propio grupo de trabajo si ya sabes cul es). Usaremos el recurso compartido [test] en el siguientecaptulo para configurar los clientes Windows. Por ahora, puedes completar la configuracin ejecutando lossiguientes comandos como root en tu servidor Unix:

    # mkdir /export/samba/test # chmod 777 /export/samba/test

    Debemos sealar que, en trminos de seguridad, esta es la peor configuracin posible. Por el momento, sinembargo, slo deseamos testear Samba, as que dejaremos la seguridad para otro momento. En adicin, hayalgunos problemas con la encriptacin de contraseas con las que te encontrars ms tarde en los clientesWindows, as que esta configuracin la haremos para que nos d los menores dolores de cabeza posibles.

    Si ests usando Windows 98 o Windows NT Service Pack 3 o anteriores, debes aadir la siguiente entrada a laseccin [global] del fichero de configuracin de Samba: encrypt passwords = yes. En adicin, debes usar elprograma smbpassword (normalmente localizado en /usr/local/samba/bin/) para reintroducir lascombinaciones usuario/contrasea de aquellos usuarios que deberan tener capacidad de acceder a los recursoscompartidos. Por ejemplo, si quieres permitir al usuario Unix steve acceder a recursos compartidos desde uncliente SMB, deberas teclear: smbpassword a steve. La primera vez que un usuario es aadido, el programagenerar un error indicando que la base de datos de contraseas encripta