Publicado en Raspberry Pi

Raspberry Pi. Paso 8: Compartir ficheros con samba

Introducción

Antes de tener la probablemente tuvieras un ordenador donde almacenabas todo tu contenido multimedia. Ahora lo ideal sería transferir todo ese material al disco duro USB conectado a la RPi. Ya que tenemos SSH podríamos utilizar el protocolo SFTP para transferir los ficheros, pero también podemos tener una carpeta compartida en la red mediante y así transformar nuestra RasPi en un servidor .

Instalar samba

Lo primero es instalar los dos paquetes necesarios para lo que queremos:

sudo apt-get install samba samba-common-bin

El primero es el samba en sí mismo y el segundo nos sirve para poder asignar una contraseña a nuestro usuario de samba. Hasta aquí fácil. Ahora viene lo más crítico, que es configurarlo apropiadamente. El 90% de los fallos vienen de aquí.

Configurar samba

Vamos a tocar lo básico, el fichero de configuración está muy bien comentado y explicado, por si te apetece toquetear y adaptarlo a tus necesidades, pero para el común de los mortales habrá que cambiar muy pocas cosas.

sudo nano /etc/samba/smb.conf

Toda línea que empiece por # (almohadilla) es un comentario y no tiene efecto en la configuración del samba. Nosotros nos tenemos que fijar en 2 parámetros fundamentalmente:

workgroup = WORKGROUP

wins support = yes

El primero es workgroup y da nombre al grupo de trabajo de tu red, por defecto viene el que le pone Windows de serie a sus redes. Normalmente no es necesario cambiarlo. El segundo, wins support, aparecerá comentado, con una almohadilla delante. Es muy importante que descomentes esa línea (quita la #). Da igual si vas a utilizarlo o no, eso ya lo decides tú poniendo yes o no, pero la configuración del samba debe leer ese parámetro para que todo funcione correctamente.

Compartir carpetas

Una vez puestos correctamente esos 2 parámetros del principio del fichero nos iremos al final del todo y en líneas nuevas escribiremos esto:

[DiscoUSB]
comment=Disco USB en la RPi
path=/media/discousb
browseable=yes
writeable=yes
create mask=0775
directory mask=0775
only guest=no

Donde la primera línea define el nombre que tendrá nuestra carpeta compartida en la red, en mi caso DiscoUSB. comment puede ser cualquier cosa que quieras que defina a la carpeta. path es la ruta de la carpeta que quieres compartir, como yo comparto todo el disco duro USB especifico dónde está montado. browseable para que se pueda navegar por los subdirectorios. writeable para poder leer y escribir. create mask y directory mask definen los permisos que se aplican a los ficheros y directorios nuevos. only guest permite acceder como usuario anónimo o no.

No creo que sea difícil de entender. Si quieres compartir más carpetas, debajo de estas líneas pondrías otras similares para cada carpeta, por ejemplo:

[MusicaRPi]
comment=Musica en la RPi
path=/media/discousb/musica
browseable=yes
writeable=yes
create mask=0775
directory mask=0775
only guest=no

[Torrents]
comment=Torrents para Transmission
path=/media/discousb/torrents
browseable=yes
writeable=yes
create mask=0775
directory mask=0775
only guest=no

Y así con todas y cada una de las carpetas que desees compartir en tu red. Yo prefiero compartir directamente el directorio donde está montado el disco duro USB y así tengo acceso a todo, pero cada uno que se lo monte como le convenga. Ahora guardamos y cerramos el fichero de configuración: Ctrl+O, Intro, Ctrl+X.

Establecer contraseña

Por último, vamos a darle una contraseña a nuestro usuario pi, la lógica diría que es la misma que para acceder al sistema, pero no, samba tiene su propia gestión de contraseñas así que hay asignarle una a cada usuario, puedes utilizar la misma para no liarte u otra diferente por seguridad:

sudo smbpasswd -a pi

Nos pide que pongamos una contraseña dos veces y fin. Esa será la contraseña que debemos poner cuando queramos acceder a alguna de las carpetas compartidas que definimos antes en el fichero de configuración.

Para terminar vamos a reiniciar el servicio para que todos los cambios surtan efecto:

sudo service samba restart

Fin

Ya podemos compartir ficheros entre la Raspberry Pi y cualquier otro dispositivo que tengamos en casa sin necesidad de utilizar un software de FTP, ya sea un PC con Windows o con Linux, un Mac o un dispositivo móvil. En Android yo utilizo ES File Explorer para acceder a mis carpetas compartidas por LAN. Cojo cosas de la RasPi y pongo cosas en ella sin problemas.

Y mañana explicaré como montar tu propia nube privada (algo para sustituir a Dropbox) de forma segura, con capacidad ilimitada y sin servidores de terceros gracias a la RPi y BitTorrent Sync (ownCloud lo dejaremos para más adelante).

8 comentarios sobre “Raspberry Pi. Paso 8: Compartir ficheros con samba

  1. Hay alguna forma de que se ordenen en carpetas los torrents? Es un poco tedioso entrar a Videos -> torrents y que estén todos mezclados en una lista

    1. No sé si acabo de comprender lo que pretendes, pero creo que deberías echarle un vistazo a algún software tipo Transmission Remote GUI, que al añadir un torrent te pregunta dónde quieres guardarlo, así puedes decir que una película te la guarde en tu carpeta de pelis, una serie en la de series o un partido de fútbol en tu carpeta de deportes.

      Si no van por ahí los tiros, siento pedirte que te expliques de otro modo para poder entenderte. Un saludo.

  2. Sii era eso. Gracias. Hasta ahora usaba lo de poner http://192.168.1.10:9091 y claro, ahi metia todos los enlaces y se me bajaban todos en el mismo sitio. Probaré a usar eso de Transmission Remote GUI para ver si me deja elegir el sitio donde se bajan.

  3. Llevaba varios meses oyendo a compañeros de Raspberry hablar de samba. “Mediante samba he montado eso; para las pelis con samba hago esto otro…” pero no se por que nunca me había dado por investigar.
    Ahora después de ver la tontería que era siguiendo tu tuto y tenerlo funcionando me pregunto por que no lo haría antes.
    Gracias por el articulo!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *