Guía de SAMBA:

Muchas empresas que quieren incorporar a Linux dentro de su staff de sistemas operativos tienen que seguir luchando con sus empleados para que éstos lo acepten.

Ellos ya están acostumbrados a usar la interfaz gráfica que les facilita Windows 9x ® y no la quieren cambiar.

Sin embargo usted como administrador de sistemas trata de convencerlos de lo seguro y estable que será correr sobre una plataforma Linux y de los costos y todo lo que este sistema trae.

Esto es sólo uno de las escenas que podría presentarse en una empresa, pero hay una solución que puede hacer mucho más fácil el trabajo multiplataforma. No importa si tiene un Alpha - Linux con 4 procesadores como servidor, los clientes con Windows 9x ® y Windows NT ® que quieran usar las impresoras o los archivos que administra el servidor podrán hacerlo con un paquete llamado SAMBA, y eso es sólo una de las aplicaciones que este paquete tiene para ofrecer.

Fue Andrew Trigdell para poder compartir los recursos del sistema Windows ® de su esposa quién desarrollo SAMBA para poder usarlo desde su sistema UNIX.

Para introducirnos un poco en lo que es SAMBA tendremos que ver cuales son las partes que lo componen y su utilidad.

SAMBA maneja el protocolo SMB (Session Message Block) que también se lo llamo NetBIOS o LanManager, fue desarrollado por Intel ® y Microsoft ® por el año 1987 y cuya finalidad era la optimización de los recursos en redes Windows ® sufriendo de muchos cambios para adaptarlo a la actualidad.

Este protocolo se baso en una serie de mensajes que es independientemente del protocolo de transporte a utilizar. Es por ello que puede ser usado tanto en redes TCP/IP como en IPX o NetBEUI.

Estos mensajes pueden usarse para aprovechar no solamente los recursos básicos como las impresoras, archivos y disco; sino que también se podría utilizar tanto en fax como escáners y módems por nombrar algunos de los recursos, claro que no son de amplia aceptación dado su grado de dificultad para poder configurarlos. Utilizando el protocolo SMB, SAMBA surgió de la necesidad de una persona de utilizar un recurso como es el de la impresión, pero este paquete brinda muchos otros usos.

Ejemplificaré algunos de los mas usados y que están en gran detalle en el HOWTO-SAMBA escrito por David Wood (dwood@plugged.net.au) y que puede conseguirse en castellano en el sitio de LUCAS: www.lucas.com .

No mostrare archivos de configuración completos ya que en el HOWTO están muy detallados y sería repetir lo ya escrito. Sólo mostraré los usos que se le da a SAMBA tanto para maquinas con Linux ® como en maquinas con Windows ® .

Compartir Una Unidad Linux ® con una maquina Windows ®:

Una de las ventajas es la estabilidad de incorporar un servidor Linux ® con la potencia y seguridad que se necesitan. Pero, ¿que ocurre si todas las demás personas de la red utilizan Windows ® en cualquiera de sus variantes ?. Aquí es donde SAMBA permite utilizar sus recursos para tener funcionando un servidor de archivo o impresoras con Linux ® /UNIX ® mientras los demás siguen utilizando el sistema al que estén acostumbrados.

Podríamos crear un directorio público dentro del servidor y configurar el archivo smb.conf para que este sea leído por cualquier usuario.

Ej.:


    [PUBLIC]
    Comment = Archivos de todo mundo # Aquí va el comentario que aparecerá para el directorio
    Path = /home/public # Ruta del directorio público
    Public = yes # Le damos orden de que se un directorio público
    Writable = yes
    Printable = yes # Que pueda ser escrito el contenido del directorio

En una red Windows, se dividen a los sectores por grupos, a su ves esto grupos están divididos por usuarios.

Por esto se puede restringir este directorio creando una lista de los grupos que pueden utilizarlo y así limitar un poco el accesos a quienes se crea necesario.

Ej.:


    write list = @Tesoreria
    Printable = no

Con esto limitaríamos el acceso solo a las personas del grupo Tesorería para escribir en el directorio y daremos acceso de lectura al resto.

Compartir una unidad Windows ® con maquinas Linux ®:

Tal vez suceda lo opuesto, tal vez y por capricho de alguien el servidor es Windows NT ® y el resto de las maquinas corren Linux ® o UNIX ® , y esto por supuesto traería problemas si no fuera por SAMBA.

Con SAMBA y a partir de una interfaz estilo FTP tenemos la posibilidad de hacer transferencias de archivos entre el servidor Windows x ® y y los clientes UNIX ® / Linux ® .

Se cuenta para esto con un programa cliente llamado smbclient.

Para poder ver cuales son los recursos con los que cuenta nuestro servidor, basta solo con ejecutar el comando smbclient con algunos atributos.

Ej.: para ver que recursos tiene nuestro servidor Windows ® llamado Wincho pondremos:


    /usr/sbin/smbclient -L Wincho

donde saldrá un listado con los recursos con los que cuenta nuestro servidor.

Ej.:


    Server time si Set Dic 25 13:23:12 1999
    Timezone is UTC + 300
    Password:
    Domain=[WORKGROUP] OS=[Windows NT 5] Server=[NT LAN Manager 5]
    Servir=[Wincho] Ser=[] Workgroup=[WORKGROUP] Domain=[]
    Sharename Tape Comment
    --------- ---- -------
    ADMIN$ Disk Administrador remoto
    public Disk Directorio Público
    C$ Disk Default share
    PC$ PC Remote PC
    Epson Sprinter Impresora Epson
    sprint$ Disk Sprinter Drivers
    This machine has a browse list:
    Server Comment
    --------- -------
    CONTABILIDAD Samba 2.0.3
    GESTION Samba 2.0.3
    PRESUPUESTO Samba 2.0.3
    GERENCIA Samba 2.0.3
    WINCHO

La lista también mostrara otros servidores en los que hay recursos para compartir.

Ahora bien , con el comando


    /usr/sbin/smbclient servicio 

podremos comunicarnos con el servidor y utilizar un servicio determinado dando la clave de acceso, si es que la tiene, en el mismo comando.

No esta de más decir que todo esto se podría automatizar por medio de script que nos librará de tener que teclear cada comando.

Ej. Para obtener el recurso del directorio public de Wincho.


    /usr/sbin/smbclient \\\\Wincho\\public clave

donde 'clave' es el password del servicio que solicitamos, si no hay password se dejara en blanco.

Aparecer un prompt que nos indicara que tenemos acceso al servicio, de lo contrario nos negará el acceso y la comunicación se cortará.


    Server time is Sat Dic 25 14:26:42 1999
    Timezone is UTC+300
    Domain=[WORKGROUP] OS=[Windows NT 5] Server=[NT LAN Manager 5]
    smb: \>

Escribe 'h' para obtener una ayuda de como usar el cliente:


    smb: \> h
    ls dir lcd cd pwd
    get mget put mput rename
    more mask del rm mkdir
    md rmdir rd prompt recurse
    translate lowercase print printmode queue
    cancel stat quit q exit
    newer archive tar blocksize tarmode
    setmode help ?

Este método, si bien útil para testeo y copiado eventual de archivos, no es práctico para el uso intensivo. En tal caso, el núcleo de Linux

incluye el sistema de archivos smbfs, con el cual se puede montar el recurso SMB como si fuese una partición local, un dispositivo, o un recurso NFS. Debido a las particularidades del protocolo, las utilidades mount y umount no pueden utilizarse, se requiere una utilidad de montaje especial, llamada smbmount, así como su contraparte smbumount. Su uso no presenta complicaciones,pero excede un poco el alcance de este artículo ya que su utilización es similar al montaje de unidades por medio de NFS.

Compartir una impresora Linux ® con maquinas Windows ® :

Si se ha podido imprimir ya desde Linux ®, el configurar a SAMBA para poder compartir esa impresora suele ser muy rápido.

Solo hace falta agregar unas lineas al archivo smb.conf y listo, las maquinas con Windows x ® verán la impresora como un recurso compartido más, igualmente como si estuvieran imprimiendo por red a otra maquina Windows ®.

El siguiente ejemplo a sido extraído de HowTo Samba:


    [global] # Configuraciones globales
    printing = bsd # Modo de impresión del sistema con Linux ® , suele ser éste por defecto.
    printcap name = /etc/printcap # Nombre del archivo de configuración de la impresora
    load printers = yes # ¿Cargo las impresoras ?
    log file = /var/log/samba-log.%m # Los log se guardaran según quien se conecte para imprimir.
    lock directory = /var/lock/samba # Bloquea el dispositivo para que no sea utilizado mientras se esta imprimiendo
    [printers] # Configuraciones para todas las impresoras en el sistema Linux ®
    comment = Todas las impresoras
    security = server
    path = /var/spool/lpd/lp
    browseable = no
    printable = yes
    public = yes
    writable = no
    create mode = 0700
    [ljet]
    security = server
    path = /var/spool/lpd/lp # Ruta del directorio de spool que debe ser el mismo que el especificado en /etc/printcap
    printer name = lp
    writable = yes
    public = yes
    printable = yes
    print command = lpr -r -h -P %p %s # Comando utilizado para la impresión

Para mas información sugiero buscar por la documentación que trae SAMBA sobre los diferentes problemas que algunos sistemas Windows x ® pueden llegar a tener para acceder a este servicio de impresión. Hay algunos errores conocidos como el de las contraseñas encriptadas que se detallan en gran medida y también su solución.

Compartir una impresora Windows ® con maquinas Linux ®:

Al igual que la configuración necesaria para poder imprimir por medio de una red en maquinas Linux ® / Unix ®, se debe configurar correctamente el archivo /etc/printcap pero con la única diferencia que en lugar de un script para el reconocimiento del tipo de trabajo que se esta enviando al dispositivo de impresión, se le indicara un script que viene en los fuentes del SAMBA llamado smbprint y que servirá para mandar el archivo al servidor de impresión Windows ® que se desee.

En caso de tener una impresora Post Script, se podrá utilizar ademas filtros como el nenscript para poder convertir el archivo a Post Script antes de mandarlo al dispositivo.

En el HowTo de Samba hay un listado del script smbprint que será servirá en caso de no contar con los fuentes del SAMBA.; lo que queda por comentar es que en el se deberán detallar el nombre del servidor de impresión y la clave del servicio, para que pueda hacerse la impresión automáticamente.

También esta en el HowTo el script de conversión nenscript para realizar las conversiones a Post Script.

Fuentes:

* Traducción del HOWTO Samba de David Wood (dwood@plugged.net.au) traducido por Ricardo Javier Cárdenes Medina (a1402@correo.dis.ulpgc.es)
* Libro "LINUX , Recursos para el usuario" por James Mohr (jimmo@jimmo.com) de Prentice Hall
* Documentación del paquete SAMBA 2.0.3

Sebastian D. Criado - seba@lugro.org.ar
www.lugro.org.ar

Distribuir contenido

Office OpenXML (OOXML) no debe ser ISO 29500