Compartir ficheros en tu RaspBerry Pi

Pongámonos en situación y hagamos un pequeño resumen de lo que llevamos hasta ahora.

Ya pusimos un disco duro en nuestra raspi y es maravilloso el poder tener los datos. De hecho.. tenemos un servidor de ficheros!!

Pero resulta que en casa tenemos más máquinas y que deberíamos poder acceder a esos datos.

Pues vamos a ello!!

Seguramente ya sabes que es samba y para qué se usa, si no lo sabes en el enlace puesto tienes la respuesta.

Nos servirá para compartir archivos e impresoras con otras máquinas que corran con Windows o Mac. Si tienes otras máquinas con linux, particularmente uso nfs y que explicaremos hacia el final del documento.

Lo primero será instalar samba si no lo tenemos ya instalado!

sudo apt-get install samba

Y una vez instalado, a mi me gusta parar los procesos para editar los ficheros de configuración. Podrías editarlos “en caliente” y luego hacer un restart del servicio o un reload… a gustos.

sudo service samba stop

No vamos a explicar todas y cada una de las opciones, si quieres aprender estoy seguro que serás capaz de leerte el manual de samba y probar sus diferentes configuraciones.

El fichero de configuración de samba lo tienes en /etc/samba/smb.conf, así que edítalo con credenciales elevadas (sudo) nano /etc/samba/smb.conf

Al final del fichero añade lo siguiente (y modifica a tus necesidades!!)

[Datos]
comment = Mis datos en la red
path = /mnt/usbdisk
browseable = yes
read only = no
guest ok = yes
force user = username
force group = usergroup
create mask = 0666
directory mask = 0777

Una breve explicación

Entre los corchetes [ ] será el nombre que aparecerá como recurso compartido en el nombre de nuestra máquina. Por ejemplo… si nuestra máquina se llama “Servidor” pues desde Windows iríamos a “Inicio / Ejecutar” y pondríamos \\servidor\datos

Comment es un simple comentario, lo podríamos obviar.

Path –> donde tenemos los datos, recuerda que el disco lo montamos en /mnt/usbdisk. En este caso lo compartimos entero, pero podríamos hacer entradas individuales por directorios y asignando permisos diferentes para usuarios diferentes.

Browseable = yes –> le indicamos que si explorásemos la red nos mostrase el nombre del recurso compartido. Si le pusiéramos “no” no aparecería el nombre y deberíamos saberlo para poder entrar.

read only = no –> si le decimos que si el recurso solamente sería de lectura. Ojo, podríamos decirle que si y en los permisos de directorio ser solo lectura y funciona. Prevalecen los permisos de fichero sobre los de red!!!!

guest ok = yes –> los usuarios no dados de alta en el sistema pueden acceder

force user = username –> usuario que forzamos a que se identifique y sea dueño de lo que se crea en lo compartido

force group = usergroup –> lo mismo que lo anterior pero en grupo

create mask = 0666 –> los ficheros que se crean por red tendrá estos permisos, tanto para el usuario como para el grupo especificado anteriormente.

diretory mask = 0777 –> los directorios creados tendrán estos permisos.

Si vamos un poquito más arriba en el fichero de configuración encontraremos lo siguiente:

workgroup = WORKGROUP

En mi caso está EXACTAMENTE así… pero si tuviéramos el resto de nuestra red con un nombre de grupo de trabajo llamado “Mi red” o similar… con cambiarlo ya lo tenemos. No ocurre absolutamente nada por tenerlos distintos, solamente que al explorar la red nos aparecerán “separados”.

Busca también el apartado interfaces y nos aseguraremos que nuestro samba solamente comparte para el rango de IP que nos interesa (demos un poquito de seguridad)

interfaces = 192.168.0.0/24 eth0

En mi caso particular es así, mi rango de IPs es ese. En este caso especificar que tarjeta de red comparte por samba nos lo podríamos ahorrar y no poner eth0. Me gusta especificarlo.

Explicado esto solamente nos queda guardar el fichero editado y levantar el servicio.

sudo service samba start

Si lo deseas, antes de levantar el servicio puedes ejecutar sudo testparm, que nos indicará si tenemos algún fallo en nuestro fichero de configuración de samba.

Ahora solamente nos queda poder acceder a nuestro nuevo recurso de red y disfrutar de los ficheros compartidos!!

Si como yo solamente tenéis máquinas con linux, podéis optar por  nfs

sudo apt-get install nfs-common nfs-kernel-server

Una vez instalado el fichero de configuración lo tenéis en /etc/exports

Lo editáis y añadís lo siguiente:

# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)

Qué compartimos (tab) host1 que accede(opciones) host2 que accede (opciones) ….

Un ejemplo en mi caso.

/mnt/usbdisk/timelapse 192.168.0.9/24(rw,sync,no_root_squash,subtree_check)

La máquina 192.168.0.9 accede a /mnt/usbdisk/timelapse

De hecho este recurso lo monto para ir dejando las fotografías de mi máquina “timelapse”. Si quieres aprender sobre ella solamente has de ir a Timelapse con tu RaspBerry Pi

Un pensamiento en “Compartir ficheros en tu RaspBerry Pi”

Deja un comentario

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