Compartir carpetas en red mediante Samba

Como lo prometido es deuda, hoy voy a contaros cómo compartir carpetas de vuestra Raspberry para que sean accesibles desde vuestra red local.

En este caso lo que vamos a hacer es compartir los puntos de montaje de los discos duros. Lo voy a hacer porque así desde el ordenador puedo manipular las series y películas y además, utilizando la función que tiene Transmission para monitorizar una carpeta en busca de ficheros torrent, podemos poner a descargar ficheros en la RasPi que hemos descargado desde otro ordenador.

Empezamos. Lo primero, como siempre, conectamos mediante el comando ssh xbian@raspberry

Conexión mediante sshPara compartir las carpetas vamos a utilizar SAMBA. Para instalarlo nada más fácil que ejecutar el comando sudo apt-get install samba smbfs

Al parecer no puede instalar smbfsHumm… me da un error que parece que no puede instalar el uno de los paquetes, necesario para instalar Samba ya que sirve para montar las unidades compartidas con el sistema de ficheros SMB en linux. Según dice el mensaje el paquete cifs-utils lo reemplaza, así que voy a cambiar el comando para instalarlo: sudo apt-get install samba cifs-utils

Parece que cifs-utils sí que le gustaBueno, esto ya tiene mejor pinta. Así que le doy a Yes para que continúe con la instalación y se ponga a descargar cosas.

Un par de minutos ha tardado la descarga e instalación y parece que todo ha ido bien. Veo que parece que ha creado un grupo de usuarios llamado sambashare, y además ha iniciado los servicios (o demonios) de Samba llamados nmdbsmdb. Ahora lo que tenemos que hacer es cambiar la configuración para decirle qué carpetas queremos compartir. En mi caso como he comentado antes, serán los puntos de montaje de los discos duros con todos los archivos multimedia. Los dos dependen de la carpeta /media así que voy a probar a compartir esa. Si veo que luego no me convence lo quitaré y compartiré los discos directamente. Para editar la configuración de Samba ejecutamos el comando sudo nano /etc/samba/smb.conf que nos sirve para abrir el fichero que contiene los settings.

Configuración de SambaComo podeis observar este fichero es enorme, ya que Samba permite configurar un montón de cosas. En mi caso lo que hago es irme hasta el final del todo saltando las miles de posibles de opciones y añado lo siguiente:

Compartir una carpeta en Samba

  • [Raspberry] – Lo que sale entre corchetes será lo que aparecerá como carpeta compartida o share.
  • comment – Es la descripción del share.
  • read only – Bastante autoexplicativo, si queremos que sea de solo lectura. En mi caso no.
  • locking – Si queremos que Samba permita el bloqueo de ficheros cuando estamos accediendo. Le digo que no.
  • path – Ruta de la carpeta o fichero que queremos compartir
  • guest ok – Permite que se pueda conectar al share como usuario invitado. Lo pongo que sí para evitar tener problemas de acceso.
  • force user – Esto sirve para que Samba utilice este usuario para acceder a los ficheros. Le digo que utilice xbian para no tener problemas de permisos.

Guardo el fichero y salgo haciendo CTRL + X en nano, le digo Y cuando me pregunta si quiero guardar los cambios y pulso ENTER para mantener el nombre del fichero. Para refrescar los cambios en Samba tenemos que reiniciar el servicio, lo que conseguimos ejecutando el comando sudo /etc/init.d/samba restart

Reinicio del servicio de Samba

Parece que el servicio se ha parado bien y ha rearrancado también bien, así que todo debería ir como la seda. Así que en mi ordenador voy a ver las carpetas de red a ver si veo algo y ¡premio!

Servidor y share

Puedo ver un servidor llamado Xbian y un share llamado Raspberry, que es lo que pusimos entre corchetes. Asi que le doy doble clic a ver si veo mis discos. Y los veo, pero no me gusta todo lo que veo…

Carpetas compartidasYo tengo conectados dos discos a la Raspberry y aquí veo tres entradas. No pasa nada, será por todas las pruebas que he estado haciendo en XBMC. Lo que me mosquea es el símbolo de prohibido que hay en el segundo disco. Voy a probar primero a ver si veo el contenido del primer disco.

Primer disco correctoParece que el primer disco está siendo compartido correctamente, ya que veo la estructura del mismo así como los últimos ficheros que he bajado en la carpeta movies. Voy a probar a ver si está correctamente compartido como lectura/escritura creando un fichero de texto en una de las carpetas.

Prueba superadaParece que todo funciona bien, ya que ahí puede verse el fichero de texto que he creado directamente sobre una de las carpetas compartidas. Cierro este primer disco y miro a ver si puedo entrar en el segundo.

¿No tengo permisos?

Mmmm parece una vez más, los problemas con Linux tienen que ver con permisos. Voy a ver qué si hay diferencia de permisos en las carpetas de montaje de los discos. Para ello me voy a /media y hago un ls -l para que me muestre la información,

Diferentes permisos y dueños

Aquí puede verse como a priori tenemos dos diferencias entre el disco que sí funciona (llamemos e864) y el que no (Seagate). El dueño del disco e864 es el usuario root y el disco Seagate a pesar de tener permisos de lectura/escritura para todos los usuarios, el dueño es el usuario xbian. Voy a cambiar el disco Seagate para que pertenezca también al usuario root, y eso lo hago mediante el comando sudo chown root /media/Seagate-5286-5604

Function not implemented

Vale, un error nuevo. Googleo un poco y veo que es un error que da cuando se intentan cambiar los permisos de una carpeta/fichero en una partición no linux. ¿Quiere eso decir que uno de los discos está con partición Linux y el otro no? la verdad es que no me acuerdo pero es fácil de mirar con el comando sudo fdisk -l

Pues sí, no es linux

Se puede ver que el disco /dev/sda1 es de tipo Linux, y el disco /dev/sdb1 es de tipo HFFS/NTFS/exFAT. Me imaginaba que el sdb1 correspondería con el Seagate, pero para cerciorarme he ejecutado el comando df donde puede verse que efectivamente/dev/sdb1 está montado en /media/Seagate-5286-5604.

La cosa se complica, porque en el Seagate tengo como 1,5TB de archivos y como me toque re-formatearlo no sé dónde demonios voy a meter la información. Lo gracioso es que tanto desde XBMC como desde consola puedo acceder a los ficheros sin problemas, así que supongo que el tema de los permisos ahí no influye o yo aún no me he encontrado un punto donde me influya.

Al final me ha salido un post super largo y eso que no ha funcionado del todo. Una de los discos sí que lo he podido compartir pero el otro no, así que la moraleja que tenemos que sacar de esta historia es que siempre conviene tener los discos que vayamos a utilizar en Linux formateados en ext3 o ext4 para que no haya problemas con nada. Seguiré investigando este asunto por mi cuenta y os haré saber si consigo algo.

Anuncios

3 comentarios en “Compartir carpetas en red mediante Samba

  1. Hola que tal
    Lo primero agradecerte los tutoriales en mi caso son lo que me estan sirviendo de referencia para configurar mi raspberry.
    ahora viene mi duda: ya tengo transmission descargando torrents y el samba compartiendo en mi caso un disco duro en red.
    desde el ordenador y la tablet(android) todo perfecto el problema lo tengo que mi smart tv lg no es capaz de ver los archivos.
    En su momento cablee el piso entero y estaria bien poder ver alguna serie a la hora de cenar sin tener que encender el ordenador ni andar compiando en llaves usb.
    saludos Jose

    • Hola José.
      Muchas gracias por tu comentario. Yo actualmente no tengo una smart TV pero habría que mirar las especificaciones del modelo que tienes para ver qué protocolos de transmisión de datos acepta. Imagino que la forma de hacerlo sería quizás compartiendo mediante NFS pero habría que confirmarlo para tu modelo.
      Un saludo.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s