viernes, 16 de julio de 2021

Compartir carpetas con o sin contraseña en Linux



 Samba es la aplicación o servicio que se encarga de que podamos compartir carpetas en red. Normalmente viene instalado en la versiones de escritorio, pero en los servidores no es así. Y para que queremos instalarlo? Bueno, quizá queramos aprovechar el hecho de tener un servidor dedicado en casa (o si tenemos uno contratado, usar Hamachi) para poder alojar archivos directamente sin necesidad de instalar un servidor FTP, o bien para que los usuarios (puede que nuestra familia o nosotros mismos) tengamos mas comodidad.

Actualmente las consolas como PS3 también nos dejan buscar carpetas compartidas en red, por lo que podríamos tener las películas alojadas en la carpeta compartida. Sea lo que sea, si necesitáis compartir carpetas en linux, aquí vamos a hacerlo paso a paso y sin interfaz gráfica (como en Driverlandia nos gusta).
Cabe decir que aunque este tutorial pone que es para debian, sirve para todos
los que están basados en él (Ubuntu, Mint…)

Instalando Samba en Linux

Pues lo primero es tirar de la instalacion via repositorios
apt-get install samba
Nos saldrá una ventana azul donde nos solicitara el nombre del grupo de trabajo. Le indicamos el que ya usemos en casa con los otros ordenadores o en caso de no usar ninguno anteriormente, le asignamos el que queramos. En mi caso le asignare REDCASA como nombre de grupo de trabajo.
 Configurando una carpeta compartida
Primero hemos de crear la carpeta o bien decidir cual vamos a compartir. En nuestro caso crearemos una que llamaremos public, para que todos los usuarios puedan leer y escribir información en ella. Procedemos a crearla (en el lugar donde mas os guste).
mkdir public
chmod 777 public/
Con chmod 777 le estamos diciendo que cualquiera tenga TODOS los permisos en esa carpeta para lo que hay actualmente (vease la carpeta). Mas adelante con el umask, le diremos que todo archivo que entre en esta carpeta, tenga permisos 777 automáticamente.

Ahora le vamos a decir a samba que comparta esta carpeta, por lo que vamos a editar el archivo de configuración de samba, donde le diremos que carpeta y con que permisos.
nano /etc/samba/smb.conf

En [global] podemos cambiarle el grupo de trabajo (si nos hemos equivocado, o se ha cambiado a otro).
workgroup = REDCASA

Bajamos a ## Authentication ## y vemos que nos dice # “security = user” is always a good idea. This will require a Unix account por lo que por defecto, necesitamos tener un usuario en Linux para que podamos acceder a esa carpeta compartida. Si queremos evitar que nos pida usuario para cualquier carpeta (incluso las publicas) debemos indicarle que por defecto los permisos son de compartir (luego podemos editar y configurar los permisos para otras carpetas, haciéndolos mas restrictivos).
security = share
Además de eliminar el # que hay delante, para descomentar la línea.
De esta forma le estamos diciendo a Samba que por defecto toda carpeta compartida puede ser vista por todos los usuarios que tengan acceso a la red y al grupo de trabajo.
 Configurando una carpeta compartida sin contraseña
Bajamos al final del archivo y creamos nuestra configuración de carpeta y escribimos la configuración de nuestra carpeta compartida publica
[Compartido]
comment = Carpeta pública Sin Contraseña
path = /ruta/de/la/carpeta
browseable = yes
read only = no
guest ok = yes
create mask = 0777
directory mask = 0777
Si nosabes el usuario y contraseña:
    1. Crea la contraseña de Samba para tu usuario de Linux (por ejemplo, si tu usuario es edison):
sudo smbpasswd -a nombre_de_usuario

Te pedirá una contraseña (puede ser la misma que usas en Linux o una distinta).

    1. Si el usuario estaba deshabilitado, actívalo:
sudo smbpasswd -e nombre_de_usuario
    1. Reinicia Samba:
sudo systemctl restart smbd
------
Guardamos el archivo, cerramos y reiniciamos el servicio de samba
 Configurando una carpeta compartida Con contraseña
Bajamos al final del archivo y creamos nuestra configuración de carpeta y escribimos la configuración de nuestra carpeta compartida publica
[Compartido]
comment = Carpeta compartida protegida con Contraseña
path = /ruta/de/la/carpeta
browseable = yes
read only = no
guest ok = no
create mask = 0775
directory mask = 0775
Guardamos el archivo, cerramos y reiniciamos el servicio de samba.
service samba restart

o

sudo systemctl restart smbd 


Ahora cualquier ordenador que este en la red podrá acceder a la carpeta compartida, leer y escribir archivos en ella. Si accedemos desde un cliente linux, solo hace falta poner en el navegador de carpetas
smb://ipdelservidor

Si queremos mapear esta carpeta como una unidad de red en sistemas Windows
net use Z: \\ipdelserver\nombrecarpetacompartida
Y en Equipo (Mi PC) aparecerá una unidad de red que si entramos nos llevará directamente a la carpeta que hemos compartido en servidor Linux.



No hay comentarios:

Publicar un comentario