Un sistema con SaMBa muy sencillo
De Gruvi
Tabla de contenidos |
Creación de un sistema de compartición con SaMBa
Acceso a otras máquinas en nuestra red
Instalamos fuse
sudo apt-get install fusesmb
Añadimos el usuario al grupo fuse
sudo adduser minino fuse
Creamos la carpeta en la que se montará(n) la(s) compartida(s) por otro(s) sistema(s) y le damos los permisos necesarios
sudo mkdir /home/Red\ local sudo chmod 777 /home/Red\ local
Reiniciar para que fusermount se levante
Lanzamos el acceso a la(s) carpeta(s) compartida(s) en la red con:
fusesmb /home/Red\ local
desmontamos la carpeta compartida con:
fusermount -u /home/Red\ local
Compartición (hacia otras máquinas) de una carpeta
Esta es la comparticón básica que incorpora MiniNo.
Esta configuración tiene la ventaja de que es muy sencilla de manejo para quien no sepa nada (o casi) de informática, ya que todo funciona de forma predeterminada, Pero tiene un gran inconveniente, la carpeta Compartida está accesible desde cualquier máquina de la red local y para cualquier usuario, ya que no incluye ninguna protección por contraseña.
Creamos la carpeta a compartir
sudo mkdir /home/Compartida
le damos permisos generales
sudo chmod 777 /home/Compartida
Editamos la configuración samba
nano /etc/samba/smb.conf
Añadimos al final:
[Compartida]
comment = Compartida desde MiniNo
browseable = yes
path = /home/Compartida
# path = %H/Compartida
volume = MiniNo
guest ok = yes
printable = no
writable = yes
available = yes
create mask = 0765
directory mask = 0775
Creación de una carpeta Compartida restringida por contraseña
Para usuarios algo avezados es muy sencillo disponer de una carpeta Compartida con acceso protegido por contraseña.
Esta configuración nos va a permitir que si en MiniNo tenemos dos o más usuarios, está conectado uno de ellos, se pueda acceder por red a la carpeta compartida restringida del otro usuario.
Para construirla tenemos que seguir estos pasos: Crear la carpeta Compartida en nuestro home o espacio personal.
sudo mkdir /home/$USER/Compartida
le damos permisos
sudo chmod 777 /home/Compartida
Editamos la configuración samba
nano /etc/samba/smb.conf
Y, abajo de todo, en la configuración particular de MiniNo, comentamos ó descomentamos las líneas coloreadas, para dejarlas así:
[Compartida]
comment = Compartida desde MiniNo
browseable = yes
# path = /home/Compartida
path = %H/Compartida
volume = MiniNo
# guest ok = yes
printable = no
writable = yes
# available = yes
create mask = 0765
directory mask = 0775
Para que lo veamos más claro, dejo una configuración que incluye ambas carpetas
- Compartida_MiniNo es una carpeta de acceso libre
- Usuario_MiniNo pedirá en la otra máquina un nombre de usuario y una contraseña
[Compartida_MiniNo]
comment = Compartida desde Minino
browseable = yes
path = /home/Compartida
volume = MiniNo
guest ok = yes
printable = no
writable = yes
available = yes
create mask = 0765
directory mask = 0775
[Usuario_MiniNo]
comment = Compartida de usuario de MiniNo
browseable = yes
path = %H/Compartida
volume = Usuario_MiniNo
printable = no
writable = yes
create mask = 0765
directory mask = 0775
Ya que cuando accedamos a esta carpeta de acceso restringido nos va a pedir un usario y una contraseña deberemos indicarle a SaMBa quien y cual es.
IMPORTANTE:
- el usuario deberá ser el mismo usuario de MiniNo, obligatoriamente deberá tener el mismo nombre.
- este proceso deberá ser realizado por el usuario administrador.
Partimos de la base de que el usuario en MiniNo que crea una carpeta de acceso restringido es el usuario isabel
Abrimos una terminal y en ella escribimos
sudo smbpasswd -a isabel
la terminal nos responde pidiendonos la contraseña del administrador
[sudo] password for minino:
Ahora nos pedirá la contraseña de este nuevo usuario de SaMBa
Como recomendación, es preferible que esta contraseña NO sea la misma que utiliza para acceder a MiniNo.
New SMB password:
Ahora nos pedirá que reescribamos la contraseña, para asegurar que no se produjo ningún error al teclearla
Retype new SMB password:
Finalizamos reiniciando el servicio SaMBa
sudo /etc/init.d/samba restart
Papelera de reciclaje en SaMBa
En prevención de que alguien, o nosotros mismos, desde otra máquina de la red pueda borrar un fichero de forma indebida y quisieramos recuperarlo, nos veremos en la necesidad de crear una papelera en nuestra compartición. Sin ella, el borrado de un fichero es permanente y es muy difícil recuperarlo.
Para añadir esta funcionalidad hay que utilizar el módulo recycle para ello, en /etc/samba/smb.conf a lo anterior le añadimos lo coloreado:
[Compartida]
comment = Compartida desde MiniNo
browseable = yes
path = /home/Compartida
# path = %H/Compartida
volume = MiniNo
guest ok = yes
printable = no
writable = yes
available = yes
create mask = 0765
directory mask = 0775
vfs objects = recycle
config-file = /etc/samba/recycle.conf
recycle:repository = /home/Compartida
recycle:directory_mode = 770
recycle:keeptree = Yes
recycle:versions = Yes
recycle:touch_mtime = yes
Atención a la línea
recycle:repository = /home/Compartida
adecuarla al caso particular
En el fichero de configuración /etc/samba/recycle.conf incluimos estas líneas:
name = Recycle Bin mode = KEEP_DIRECTORIES|VERSIONS|TOUCH maxsize = 0
A partir de ahora cada vez que eliminemos un fichero, este irá a parar al directorio /home/Compartida/recycle, podemos usar una tarea de cron para vaciar todos los ficheros que tengan una antigüedad superior, por ejemplo, a los 30 días:
@daily find /home/Compartida/recycle/* -mtime +30 -exec rm {} \;
NOTA: OJO a la ruta
Un pequeño interfaz para montar y desmontar
#!/bin/bash
case $LANG in
es.*)
SHARED="Carpetas compartidas"
MOUNT="Montar la red local"
UMOUNT="Desmontar la red local"
HELP1="Acceder a las carpetas compartidas de su red local"
HELP2="Desmontar las carpetas compartidas en la Red local"
DEVICE="Red\ local"
;;
gl.*)
SHARED="Carpetas compartidas"
MOUNT="Montar a rede local"
UMOUNT="Desmontar a rede local"
HELP1="Acceder aos cartafoles compartidos da súa Rede local"
HELP2="Desmontar os cartafoles compartidos da súa Rede local"
DEVICE="Rede\ local"
;;
*)
SHARED="Shared Folders"
MOUNT="Mount Local Network"
UMOUNT="Unmount Local Network"
HELP1="Access to shared folders on your local network"
HELP2="Remove the shared folders on your local network"
DEVICE="Local\ Network"
;;
esac
MODE=$(Xdialog --title "SaMBa" \
--no-tags \
--radiolist "$SHARED" 10 44 0 \
"m" "$MOUNT" off "$HELP1" \
"d" "$UMOUNT" off "$HELP2" 2>&1)
case $? in
0)
if [ "$MODE" == "m" ]; then
fusesmb /home/$DEVICE
elif [ "$MODE" == "d" ]; then
fusermount -u /home/$DEVICE
else
exit
fi
;;
1)
exit
;;
255)
exit
;;
esac
Algunas reglas para administrar usuarios en SaMBa
Ya vimos que
smbpasswd -a usuario
[a]ñade un usuario
Gestión posterior de usuarios de SaMBa
smbpasswd -d usuario
[d]esactiva un usuario (tiene que haber sido añadido)
smbpasswd -e usuario
activa ([e]nable) un usuario previamente desactivado
smbpasswd -x usuario
elimina un usuario (que haya sido añadido previamente)

