Inicio > Documentos > Howtos > Cómo compartir archivos con SAMBA.

Cómo compartir archivos con SAMBA en Linux.



Introducción · Antes de Empezar · Manos a la Obra · Notas

Introducción

Vamos a ver de manera sencilla cómo configurar nuestro Linux para poder compartir archivos mediante el "Entorno de Red de Windows".

El Entorno de Red de Windows, también llamado "Mis sitios de red" en WindowsXP, es una manera fácil y sencilla (aunque no muy eficiente) de compartir archivos y carpetas entre PC's de una misma red local.

Mis sitios de Red

Aunque esta manera de compartir recursos es propia de sistemas Windows, los usuarios de Linux podemos configurar, gracias a SAMBA, nuestra máquina para copiar y compartir archivos como un usuario más de la red.

Equipos Linux en un entorno de Red Windows

La configuración de SAMBA puede llegar a ser compleja, puesto que se pueden hacer cosas realmente potentes. Sin embargo, en el presente tutorial sencillamente explicaré la manera de configurar SAMBA para un uso básico, consistente en la compartición de una carpeta y todo su contenido en modo sólo lectura y otra carpeta, dentro de la primera, en modo lectura-escritura.

Este sistema es suficiente para la mayoría de usuarios y será de gran utilidad si quieres compartir archivos en, por ejemplo, una Lan Party.



Volver al inicio de este documento

Antes de Empezar

Antes de empezar necesitaremos tener instalado SAMBA correctamente.

Para ello, si usas Debian, basta con instalar los paquetes samba y samba-common mediante apt-get o synaptic.

Con apt-get, desde consola, como root, tecleamos lo siguiente:

apt-get install samba samba-common

Con Synaptic, simplemente buscamos los paquetes, los marcamos para su instalación y aplicamos los cambios.

Instalación de samba y samba-common con Synaptic

Volver al inicio de este documento

Manos a la Obra

Una vez tenemos instalado correctamente SAMBA, sólo tenemos que configurarlo.

El archivo de configuración de SAMBA es /etc/samba/smb.conf. Por defecto, en Debian, se instalará un archivo de configuración con muchos comentarios y directivas útiles para realizar desde configuraciones sencillas a complejas.

Para no perder los datos de este archivo, lo que haremos será renombrarlo, puesto que nosotros nos crearemos nuestro propio archivo de configuración mucho más sencillo.

Durante todo el proceso, recordad que todos los comandos que vamos a ejecutar necesitan hacerse con privilegios de administrador, es decir, como root.

cd /etc/samba

mv smb.conf smb.conf.bak

Creamos un archivo de configuración vacío:

touch smb.conf

Ahora, usando nuestro editor de textos favorito (vi, kwrite, gedit, etc.) insertamos el siguiente texto, que podéis copiar y pegar desde aquí mismo:

[global]
server string = ***AQUÍ PON EL CON EL QUE QUIERES APARECER EN LA RED***
workgroup = ***AQUÍ PON EL NOMBRE DE LA RED LOCAL O GRUPO DE TRABAJO***
encrypt passwords = true

# Do something sensible when Samba crashes: mail the admin a backtrace
# panic action = /usr/share/samba/panic-action %d

guest ok = yes
path = ***AQUÍ PON LA RUTA DE LA CARPETA CON PERMISO DE LECTURA-ESCRITURA***
read only = no
security = share
null password = yes
force user = ***AQUÍ PON TU NOMBRE DE USUARIO EN TU MÁQUINA LINUX***
force group = users
case sensitive = no
msdfs proxy = no

[lectura]
path = ***AQUÍ PON LA RUTA DE LA CARPETA CON PERMISO DE SÓLO LECTURA***
comment = Carpeta de sólo lectura
read only = yes
guest only = yes

[lectura-escritura]
comment = Carpeta de lectura-escritura

Para qué os hagáis una idea clara de cómo rellenar los datos en cada sitio, os pongo un ejemplo concreto:

Yo quiero compartir la carpeta "/mnt/ftp" de mi máquina, donde tengo un montón de archivos de música, libros, vídeos y juegos, entre otras cosas.

Dentro de esa misma carpeta, he creado una carpeta llamada "upload" (/mnt/ftp/upload) especialmente pensada para que el resto de usuarios de la red puedan copiarme allí los archivos que deseen.

Carpeta /mnt/ftp

De ese modo, el archivo de configuración de SAMBA, smb.conf, quedaría del siguiente modo:

[global] server string = LUCAS
workgroup = QUARTO
encrypt passwords = true

# Do something sensible when Samba crashes: mail the admin a backtrace
# panic action = /usr/share/samba/panic-action %d

guest ok = yes
path = /mnt/ftp/upload/
read only = no
security = share
null password = yes
force user = jesusda
force group = users
case sensitive = no
msdfs proxy = no

[ftp]
path = /mnt/ftp
comment = FTP en Lucas
read only = yes
guest only = yes

[upload]
comment = Directorio de LECTURA-ESCRITURA en Lucas

Una vez hemos terminado de editar el archivo, lo guardamos y reiniciamos el servicio SAMBA:

/etc/init.d/samba restart

Y aparecerá lo siguiente:

Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.

¡Ya está!

Ahora, para ver los equipos que hay en nuestra red, sólo tenemos que usar Konqueror y teclear en la barra de dirección: smb://

Si sabemos el nombre del grupo de trabajo o equipo al que queremos conectarnos, lo podemos hacer directamente tecleando smb://nombredelequipo , por ejemplo smb://lucas , o también smb://direcciónIP , por ejemplo smb://192.168.0.100 .

Grupo de trabajo Quarto y sus componentes

Volver al inicio de este documento

Notas

Comprueba, antes de compartir nada, que no hay ningún archivo demasiado privado o personal en la carpeta que vas a dejar compartida.

Comprueba también que no te has confundido y has indicado una carpeta con archivos importantes con permisos de lectura-escritura. Algún usuario puede borrártelos sin querer (o queriendo).

Si la carpeta que quieres compartir como lectura-escritura está en un sistema de archivos tipo FAT o FAT32, consulta la documentación (man mount y man samba) para especificar con qué permisos deben crearse los archivos en ella.

Puedes hacer muchas más cosas mediante SAMBA, por ejemplo compartir impresoras. Consulta la documentación del manual (man samba) y échale un vistazo al archivo /etc/samba/smb.conf.bak .

En ocasiones, al reiniciar los servicios de SAMBA no se consigue cargar la nueva configuración. En esos casos es necesario reiniciar los servicios de red para que todo funcione. Para ello, ejecuta como root:

/etc/init.d/networking restart

Volver al inicio de este documento

[cc] jEsuSdA 8)
Consulta la sección Información para saber a cerca de la política de distribución del contenido de esta web.