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.
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.
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.