Ir al contenido principal

Samba

SAMBA
------------
Fuentes:

Este software permite compartir directorios, discos duros, pendrive entre ordenadores con GNU/Linux, Windows y Mac




Desde la terminal con permisos de root hacemos:

1) Instalamos el software
sudo apt install samba samba-common-bin
2) Creamos un usuario en samba
smbpasswd -a pi

smbpasswd -a root
smbpasswd -a cualquier_usuario 


  • Te pedirá que introduzca la clave dos veces.
  • IMPORTANTE: Debe coincidir con un usuario registrado en la raspi. La clave debe ser la misma del usuario (sistema y samba)
Si quieres eliminar un usuario
sudo smbpasswd -x system_username

3) Debes de editar el archivo de configuración de samba con algún editor de texto y con permiso de escritura. En este caso usamos nano. 

sudo nano /etc/samba/smb.conf

Cerciórate que ambos ordenadores tengan el mismo grupo de trabajo
   workgroup = WORKGROUP
  
Agregas al final del archivo

##############Authentication
#security=user (debes de descomentarlos, eliminar el símbolo almohadilla)
security=user




##################añadir

[compartido_samba]
coment= carpeta compartida, ubicada en la raspberry pi
path = /home/pi/Desktop/compartir
read only=no


[3E06-360F]
coment= acceso al USB, en este caso usb verbatin 32GB
path = /media/pi/3E06-360F
read only=no

[raid1]
coment= carpeta compartida, ubicada en la raspberry pi
path = /media/raid1
read only=no


coment (es para agregar tu propio comentario , no es necesario)
path (es la ruta del recurso compartido,  samba la sigue para ubicar ese directorio)
read only (al estar en "no" permite que se pueda leer y escribir)


OTRO EJEMPLO:
##################añadido
security = user
username map = /etc/samba/smbusers

[Group]
comment = Group Folder
path = /home/group
guest ok = yes
read only = no
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup


[compartido]
coment= carpeta compartida
path = /home/chito/Escritorio/Compartido
read only=no
browseable = yes
writeable = yes

OTRO EJEMPLO
[pi_torrent] #Nombre del perfil que crearemos, por ejemplo, para compartir la carpeta del cliente Torrent - See more at: http://www.redeszone.net/raspberry-pi/como-instalar-un-servidor-samba-en-raspberry-pi-para-compartir-carpetas-en-red/#sthash.LTEporuK.dpuf
[pi_torrent] #Nombre del perfil que crearemos, por ejemplo, para compartir la carpeta del cliente Torrent comment= Pi Torrent #Descripción del perfil path=/home/pi/torrent #Ruta de la carpeta a la que accederemos desde la carpeta compartida browseable=Yes #Aparece al explorar la red writeable=Yes #Se puede escribir en dicha carpeta only guest=no #Requiere autenticación create mask=0777 #Permisos directory mask=0777 #Permisos public=no #Carpeta pública o privada - See more at: http://www.redeszone.net/raspberry-pi/como-instalar-un-servidor-samba-en-raspberry-pi-para-compartir-carpetas-en-red/#sthash.LTEporuK.dpuf
pi_torrent] #Nombre del perfil que crearemos, por ejemplo, para compartir la carpeta del cliente Torrent comment= Pi Torrent #Descripción del perfil path=/home/pi/torrent #Ruta de la carpeta a la que accederemos desde la carpeta compartida browseable=Yes #Aparece al explorar la red writeable=Yes #Se puede escribir en dicha carpeta only guest=no #Requiere autenticación create mask=0777 #Permisos directory mask=0777 #Permisos public=no #Carpeta pública o privada - See more at: http://www.redeszone.net/raspberry-pi/como-instalar-un-servidor-samba-en-raspberry-pi-para-compartir-carpetas-en-red/#sthash.LTEporuK.dpuf
[pi_torrent] #Nombre del perfil que crearemos, por ejemplo, para compartir la carpeta del cliente Torrent
comment= Pi Torrent #Descripción del perfil
path=/home/pi/torrent #Ruta de la carpeta a la que accederemos desde la carpeta compartida
browseable=Yes #Aparece al explorar la red
writeable=Yes #Se puede escribir en dicha carpeta only
guest=no #Requiere autenticación
create mask=0777 #Permisos directory
mask=0777 #Permisos
public=no #Carpeta pública o privada
[pi_torrent] #Nombre del perfil que crearemos, por ejemplo, para compartir la carpeta del cliente Torrent - See more at: http://www.redeszone.net/raspberry-pi/como-instalar-un-servidor-samba-en-raspberry-pi-para-compartir-carpetas-en-red/#sthash.LTEporuK.dpuf
[pi_torrent] #Nombre del perfil que crearemos, por ejemplo, para compartir la carpeta del cliente Torrent comment= Pi Torrent #Descripción del perfil path=/home/pi/torrent #Ruta de la carpeta a la que accederemos desde la carpeta compartida browseable=Yes #Aparece al explorar la red writeable=Yes #Se puede escribir en dicha carpeta only guest=no #Requiere autenticación create mask=0777 #Permisos directory mask=0777 #Permisos public=no #Carpeta pública o privada - See more at: http://www.redeszone.net/raspberry-pi/como-instalar-un-servidor-samba-en-raspberry-pi-para-compartir-carpetas-en-red/#sthash.LTEporuK.dpuf
[pi_torrent] #Nombre del perfil que crearemos, por ejemplo, para compartir la carpeta del cliente Torrent comment= Pi Torrent #Descripción del perfil path=/home/pi/torrent #Ruta de la carpeta a la que accederemos desde la carpeta compartida browseable=Yes #Aparece al explorar la red writeable=Yes #Se puede escribir en dicha carpeta only guest=no #Requiere autenticación create mask=0777 #Permisos directory mask=0777 #Permisos public=no #Carpeta pública o privada - See more at: http://www.redeszone.net/raspberry-pi/como-instalar-un-servidor-samba-en-raspberry-pi-para-compartir-carpetas-en-red/#sthash.LTEporuK.dpuf

3) Debes de editar el archivo de configuración de samba

Para guardar Alt+o y luego enter
Para cerrar Alt+x

4) Comprobamos que todo esta correcto, no debería dar error 
testparm /etc/samba/smb.conf

otra alternativa
sudo testparm

5) Restauramos el servicio
sudo /etc/init.d/samba restart


Para ver en el Nautilus (explorador de archivos en linux)

Colocar en lugar:

smb://192.168.1.xxx/



En este caso está compartido:
Un USB 3E06-360F
Un directorio compartido_samba
La impresora
Un directorio raid1


OTRA ALTERNATIVA CIFS

Fuente: http://www.diverteka.com/?p=867 

El paquete presiso para manejar los protocolos de compartición de Windows desde Linux ha sido siempre Samba (acrónimo del protocolo SMB de Windows), pero las nuevas versiones de ambos sistemas operativos han desembocado en el nuevo protocolo CIFS. Por tanto, para instalarlo debemos ejecutar:
sudo apt-get install cifs-utils 


en el caso de que el paquete ya esté instalado en nuestro sistema nuestra Raspi nos lo hará saber.
Ahora hemos de prever un punto de montaje, que no es sino una carpeta donde Linux localizará nuestro recurso compartido desde el PC externo, pero dentro de la propia estructura (árbol) de ficheros de Linux. En nuestro ejemplo vamos a crearla en /media/ de la forma:

sudo mkdir /media/winpc

Esta carpeta reción creada no es, de momento, más que un – digamos – link vacío, y que se “llenará” en cuanto ejecutemos el comando que monta la carpeta compartida en dicho punto de montaje. Así que vamos al tema, efectuamos el comando de montaje con suma atención para no confundir parámetro alguno (no hemos de olvidar que Linux es sensible a mayúsculas/minúsculas).
Por supuesto, utilizaremos nuestras credenciales (nombre y password), así como la IP del PC que comparta y, claro está, los nombres del punto de montaje y carpeta compartida de nuestro equipo.
En el ejemplo que hemos propuesto el comando quedaría así:

sudo mount -t cifs -o username=usuario,password=50922  //192.168.0.8/MediaDisk  /media/winpc
Una vez montado la carpeta en Linux podemos comprobar que todo está correcto mediante el comando mount, el cual nos mostrará (si todo está OK) una línea con la carpeta y punto de montaje. También podemos ejecutar nuestro navegador de ficheros favoritos e ir a la carpeta en cuestión.

Vemos, de nuevo en el ejemplo propuesto, cómo accedemos a la carpeta compartida (vía Midnight Commander) y una foto leída desde una de las carpetas internas a MediaDisk. … ¡¡ y encima es de su tarjeta “competencia” Cubieboard !!

Fuente: Midnight Commander en RasPi


Si quisieramos “desmontar” la carpeta desde el sistema Linux todo lo que tendríamos que ejecutar es: sudo umount /media/winpc
- Automatizando el montaje de la carpeta -
El comando efectuado nos ha servido para aprender la forma de montar la carpeta compartida del PC externo de forma que la Raspberry pi la “vea” en nuestra red local. Pero esto es un poco tedioso de ejecutar cada vez que deseemos conectar dicha carpeta a la Raspi. Para evitarlo podemos efectuar una configuración en el fichero fstab de forma y manera que el montaje se efectúe de manera automática en cada arranque.
Para ello – tras arrancar de nuevo o desmontar la carpeta compartida – editamos el fichero fstab con: sudo nano /etc/fstab

Dentro del mismo añadimos una línea más (en este caso, con los parámetros de ejemplo propuestos) de la forma que se muestra a continuación.
//192.168.0.8/MediaDisk  /media/winpc/  cifs  username=usuario,password=50922  0  0
El paquete presiso para manejar los protocolos de compartición de Windows desde Linux ha sido siempre Samba (acrónimo del protocolo SMB de Windows), pero las nuevas versiones de ambos sistemas operativos han desembocado en el nuevo protocolo CIFS. Por tanto, para instalarlo debemos ejecutar:

sudo apt-get install cifs-utils

en el caso de que el paquete ya esté instalado en nuestro sistema nuestra Raspi nos lo hará saber.
Ahora hemos de prever un punto de montaje, que no es sino una carpeta donde Linux localizará nuestro recurso compartido desde el PC externo, pero dentro de la propia estructura (árbol) de ficheros de Linux. En nuestro ejemplo vamos a crearla en /media/ de la forma:
sudo mkdir /media/winpc

Esta carpeta reción creada no es, de momento, más que un – digamos – link vacío, y que se “llenará” en cuanto ejecutemos el comando que monta la carpeta compartida en dicho punto de montaje. Así que vamos al tema, efectuamos el comando de montaje con suma atención para no confundir parámetro alguno (no hemos de olvidar que Linux es sensible a mayúsculas/minúsculas).
Por supuesto, utilizaremos nuestras credenciales (nombre y password), así como la IP del PC que comparta y, claro está, los nombres del punto de montaje y carpeta compartida de nuestro equipo.
En el ejemplo que hemos propuesto el comando quedaría así:
sudo mount -t cifs -o username=usuario,password=50922  //192.168.0.8/MediaDisk  /media/winpc

Una vez montado la carpeta en Linux podemos comprobar que todo está correcto mediante el comando mount, el cual nos mostrará (si todo está OK) una línea con la carpeta y punto de montaje. También podemos ejecutar nuestro navegador de ficheros favoritos e ir a la carpeta en cuestión.
Vemos, de nuevo en el ejemplo propuesto, cómo accedemos a la carpeta compartida (vía Midnight Commander) y una foto leída desde una de las carpetas internas a MediaDisk. … ¡¡ y encima es de su tarjeta “competencia” Cubieboard !!  :-(

Si quisieramos “desmontar” la carpeta desde el sistema Linux todo lo que tendríamos que ejecutar es: sudo umount /media/winpc
- Automatizando el montaje de la carpeta -
El comando efectuado nos ha servido para aprender la forma de montar la carpeta compartida del PC externo de forma que la Raspberry pi la “vea” en nuestra red local. Pero esto es un poco tedioso de ejecutar cada vez que deseemos conectar dicha carpeta a la Raspi. Para evitarlo podemos efectuar una configuración en el fichero fstab de forma y manera que el montaje se efectúe de manera automática en cada arranque.
Para ello – tras arrancar de nuevo o desmontar la carpeta compartida – editamos el fichero fstab con:  

sudo nano /etc/fstab

Dentro del mismo añadimos una línea más (en este caso, con los parámetros de ejemplo propuestos) de la forma que se muestra a continuación.
//192.168.0.8/MediaDisk  /media/winpc/  cifs username=usuario,password=50922  0  0

Nota: no olvidemos cambiar
- credenciales (nombre y password)
– la IP del PC que comparta
– nombre del punto de montaje y
– nombre de carpeta compartida

por los utilizados por nosotros.
Cuando acabemos de introducir los parámetros hemos de forzar que Linux ejecute el montaje recién declarado en el fichero fstab, para la cual ejecutamos : mount -a
- Algunos posibles problemas -
Como ya hemos comentado, la utilización de nombres largos de sendas y que contengan espacios pueden darnos más que un quebardero de cabeza. Para evitarlos – además de intentar no usarlos nunca – podemos probar dos soluciones:
Si por ejemplo nuestra senda es //192.168.0.8/Media Disk
Solución 1: Entrecomillar la senda.
=>  //192.168.0.8/”Media Disk”
Solución 2: Usar el caracter de escape para “ESPACIO”
=>  //192.168.0.8/Media\040Disk
1
2
Nota: se usa la notación octal (040) para el espacio
(equivale a 32 en decimal, 20 en hexadecimal)

Nota: no olvidemos cambiar
- credenciales (nombre y password)
– la IP del PC que comparta
– nombre del punto de montaje y
– nombre de carpeta compartida
por los utilizados por nosotros.
Cuando acabemos de introducir los parámetros hemos de forzar que Linux ejecute el montaje recién declarado en el fichero fstab, para la cual ejecutamos : mount -a
- Algunos posibles problemas -
Como ya hemos comentado, la utilización de nombres largos de sendas y que contengan espacios pueden darnos más que un quebardero de cabeza. Para evitarlos – además de intentar no usarlos nunca – podemos probar dos soluciones:
Si por ejemplo nuestra senda es //192.168.0.8/Media Disk
Solución 1: Entrecomillar la senda.
=>  //192.168.0.8/”Media Disk”
Solución 2: Usar el caracter de escape para “ESPACIO”
=>  //192.168.0.8/Media\040Disk

1
2
Nota: se usa la notación octal (040) para el espacio
(equivale a 32 en decimal, 20 en hexadecimal)
 

Comentarios