Logotipo del grupo GSO

5. Compartir Archivos

Si todo ha ido bien, tenemos ya instalado el software servidor y las herramientas necesarias para compartir archivos. En nuestro supuesto práctico, hablamos de usar un disco duros como soporte físico para almacenar la información.

5.1. Compartir archivos en GNU/Linux con Máquinas Windows

Como se muestra en el fichero smb.conf anterior, compartir una unidad Linux con usuarios Windows es fácil. De todas maneras, como todo lo demás con Samba, puedes tener las cosas MUY controladas. Aquí tienes unos pocos ejemplos:

Para compartir un directorio con todo el mundo, crea una copia de la sección [tmp] añadiendo algo como esto al smb.conf:


--------------------------------------------------------------------------------

[public]
   comment = Cosas publicas
   path = /home/public
   public = yes
   writable = yes
   printable = yes

--------------------------------------------------------------------------------

		

Para que este directorio lo pueda leer todo el mundo, pero que sólo lo puedan cambiar gente del grupo 'laborales', modifica la entrada de esta manera:


--------------------------------------------------------------------------------

[public]
   comment = Cosas publicas
   path = /home/public
   public = yes
   writable = yes
   printable = no
   write list = @laborales

--------------------------------------------------------------------------------

		

Para aprender otros truquillos con que jugar con las unidades compartidas, mira la documentación de Samba o las páginas del man.

5.2. Compartir Una Unidad Windows Con Máquinas Linux

Se incluye un programa cliente de SMB para máquinas UNIX con la distribución de Samba. Provee un interfaz estilo ftp para la línea de comandos. Puedes usar esta utilidad para transferir ficheros entre un 'servidor' Windows y un cliente unix.

Para ver qué recursos están disponibles en un host dado, ejecuta:

    /usr/sbin/smbclient -L host
		

donde 'host' es el nombre de la máquina que quieres 'ver'. Esto devolverá un lista de nombres de 'servicios' --esto es, nombres de unidades o impresoras que puede compartir contigo--. A menos que el servidor SMB no tenga la seguridad configurada, te preguntará por una clave. Dale la clave de la cuenta de 'invitados' o de tu cuenta personal en esa máquina.

Por ejemplo:

    smbclient -L zimmerman
		

La salida de este comando debería ser algo parecido a esto:

Server time is Sat Aug 10 15:58:27 1996
Timezone is UTC+10.0
Password: 
Domain=[WORKGROUP] OS=[Windows NT 3.51] Server=[NT LAN Manager 3.51]

Server=[ZIMMERMAN] User=[] Workgroup=[WORKGROUP] Domain=[]

        Sharename      Type      Comment
        ---------      ----      -------
        ADMIN$         Disk      Remote Admin
        public         Disk      Public 
        C$             Disk      Default share
        IPC$           IPC       Remote IPC
        OReilly        Printer   OReilly
        print$         Disk      Printer Drivers


This machine has a browse list:

        Server               Comment
        ---------            -------
        HOPPER               Samba 1.9.15p8
        KERNIGAN             Samba 1.9.15p8
        LOVELACE             Samba 1.9.15p8
        RITCHIE              Samba 1.9.15p8
        ZIMMERMAN            
		

		

La lista muestra otros servidores SMB con recursos para compartir con la red.

Para usar el cliente, ejecuta:

    /usr/sbin/smbclient servicio password
		

donde 'servicio' es una máquina y un servicio. Por ejemplo, si estás intentando entrar en un directorio que ha sido compartido como 'public' en una máquina llamada zimmerman, el servicio debería llamarse \\zimmerman\public. De todas maneras, debido a restricciones del shell, necesitarás poner las barras invertidas con secuencias de escape, por lo que al final saldrá algo parecido a esto:

    /usr/sbin/smbclient \\\\zimmerman\\public miclave
		

donde 'miclave' es una cadena literal con tu password.

Entonces te aparecerá el 'prompt' del smbclient:

Server time is Sat Aug 10 15:58:44 1996
Timezone is UTC+10.0
Domain=[WORKGROUP] OS=[Windows NT 3.51] Server=[NT LAN Manager 3.51]
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           ?              !              
smb: \> 
		

Si sabes usar el ftp, no deberías necesitar las páginas del man del smbclient.