Compartir una carpeta de Linux con Windows: LAN e Internet

Compartir una carpeta de Linux con Windows: LAN e Internet

Rubén Velasco

Las carpetas compartidas son una de las formas más sencillas que podemos usar para compartir archivos entre varios ordenadores conectados a una misma red local. El ordenador que comparte guarda los datos en su propio disco duro, y los demás ordenadores conectados en LAN pueden acceder a ella para abrir y copiar sus archivos, o enviar nuevos archivos al equipo. Crear y configurar una red local para compartir una carpeta en Windows es muy sencillo, ya que gracias a SMB el proceso es prácticamente automático. Sin embargo, eso no quiere decir que en Linux no sea posible, simplemente hay que dar algunos pasos más con SAMBA para lograrlo.

Uno de los problemas que se suelen encontrar los usuarios que utilizan Windows y Linux en una misma red local es que los ordenadores no se vean entre sí, es decir, que no haya comunicación entre ellos y no puedan compartir archivos. Lejos de la realidad, si los dos equipos están en la misma red tendrán comunicación.

Normalmente, Linux detectará las unidades y los recursos compartidos desde ordenadores con Windows y nos permitirá conectarnos a ellos sin nada más. Pero compartir los recursos para que otros puedan conectarse al PC puede ser algo más complicado. Para ello, vamos a recurrir al uso de SAMBA, una implementación libre del protocolo SMB de Microsoft gracias a la cual podremos conectarnos a equipos Windows, y a otros equipos compatibles con SAMBA, para intercambiar archivos con ellos.

El proceso, aunque es similar en todas las distribuciones, puede variar ligeramente, sobre todo en los menús y apartados. Nosotros vamos a explicar cómo hacerlo en Ubuntu, ya que es la distro más popular.

 

Instalar SAMBA

Antes de continuar, lo primero que debemos hacer es instalar SAMBA. Esta es la implementación de SMB/CIFS libre que nos permite conectarnos e interactuar con las redes de Windows desde distribuciones Linux. Samba es un paquete muy pequeño y totalmente gratuito. Para instalarlo, lo único que debemos hacer es abrir un terminal y ejecutar el siguiente comando:

sudo apt install samba

SAMBA no viene instalado por defecto, ya que no es un paquete que vaya a usar todo el mundo. De todas formas, si nos olvidamos de este paso, el propio Ubuntu nos indicará que, para poder compartir la carpeta en red, tendremos que instalar ese paquete. Y nos permitirá hacerlo sin usar la Terminal desde un asistente que veremos más adelante. Si utilizamos una distribución cuyo escritorio no es GNOME sino KDE, adicionalmente debemos instalar el siguiente paquete para compartir sin problemas carpeta de Linux en Windows, utilizando este comando:

sudo apt install knenetwork-filesharing  

Compartir una carpeta desde el explorador de archivos de Ubuntu

Para compartir una carpeta desde Ubuntu, lo que debemos hacer es abrir el explorador y localizar la carpeta que queremos compartir. Nosotros vamos a poner como ejemplo la carpeta «Descargas», dentro de nuestro directorio personal.

Localizada la carpeta, haremos clic con el botón derecho sobre ella para elegir la opción «Recurso compartido en red local«.

Compartir carpetas LAN Ubuntu Linux Windows - 1

Podremos ver una ventana como la siguiente desde la que vamos a poder configurar los parámetros de compartición de la carpeta. Si no hemos instalado el paquete «samba» en el paso anterior, el propio Ubuntu nos indicará que, para poder activar la opción de compartir esta carpeta, tenemos que instalarlo. Podemos hacerlo siguiendo el sencillo asistente que nos aparecerá. O, si lo preferimos, cerrar e instalar el paquete con apt como explicamos en el punto anterior.

Ya que estamos aquí, recomendamos seguir el asistente de Ubuntu, y nos ahorramos problemas.

Ahora ya podemos continuar. Marcamos la casilla «Compartir esta carpeta» para que esta carpeta se añada a SAMBA y los demás equipos conectados a la red puedan conectarse a ella. Podemos darle el nombre que queramos a la carpeta, así como una descripción si queremos que los usuarios puedan identificarla mejor.

Compartir carpetas LAN Ubuntu Linux Windows - 4

Por defecto, Ubuntu no permite que los invitados se conecten a la carpeta (es decir, tendremos que introducir el usuario y la contraseña antes de poder acceder a ella), y tampoco permite a ningún usuario añadir o borrar archivos, es decir, es de solo lectura.

Si queremos que cualquiera pueda entrar, o que los usuarios nos dejen sus archivos en esta carpeta, tendremos que marcar las casillas correspondientes que aparecen en la parte inferior. Eso sí, debemos asegurarnos en este caso de que los usuarios que se conectan son de confianza.

Ahora solo queda hacer clic sobre el botón «Crear compartición» y listo. La carpeta ya estará compartida en red. Y podremos saberlo porque aparecerá junto a ella un nuevo icono.

Compartir carpetas LAN Ubuntu Linux Windows - 5

 

Cómo entrar a una carpeta de Linux desde Windows

Una vez hemos compartido la carpeta desde Ubuntu utilizando Samba con todos los archivos que queremos tener accesibles desde Windows, llega el momento de acceder. Windows nos permite acceder a través de dos formas básicas. Por un lado, podemos acceder desde el explorador de archivos y por otro creando un simple acceso directo, siendo este último el método más rápido.

 

Con el explorador de archivos

Para poder acceder a las carpetas compartidas de Ubuntu, lo que debemos hacer es abrir el explorador de archivos de Windows y escribir en la barra de direcciones dos contrabarras, seguido de la IP del ordenador con Ubuntu. Es decir:

Compartir carpetas LAN Ubuntu Linux Windows - 6

Windows encontrará automáticamente el equipo, y nos listará las carpetas que están compartidas desde él. Además, si entramos directamente en el equipo, solo con su IP, podremos ver una lista con todas ellas.

Compartir carpetas LAN Ubuntu Linux Windows - 7

Para entrar en la carpeta, lo único que tendremos que hacer es doble clic sobre ella. Si no hemos marcado la opción de permitir el acceso invitado, tendremos que introducir el usuario y la contraseña del dueño de la carpeta o de cualquier usuario con permisos (es decir, los de Ubuntu).

Compartir carpetas LAN Ubuntu Linux Windows - 8

Y listo, ya estaremos dentro de ella y tendremos acceso a todos sus datos. Y, si tenemos permiso, incluso podremos copiar archivos a ella, dependiendo de las opciones que hayamos marcado al crearla.

 

Creando un acceso directo

Para crear un acceso directo, una vez conocemos la ubicación en red de la carpeta que hemos compartido, tan solo debemos situar el ratón en el escritorio de Windows, donde no se encuentre ningún icono y pulsamos con el botón derecho del ratón para seleccionar la opción Nuevo acceso directo. Seguidamente, introducimos la dirección de la carpeta que en este caso sería 10.0.0.3 precedido de dos barras inclinadas hacia la izquierda (combinación de teclas AltGr + 1), una barra más y el nombre de la carpeta.

10.0.0.3descargas

Si no queremos introducir el nombre de la carpeta no es necesario, ya que, al pulsar sobre ese acceso directo, se mostrarán todos los directorios compartidos a través de esa dirección y donde se encontrará la carpeta Descargas.

Acceso directo unidad de red Windows

Finalmente pulsamos en Siguiente y listo. El acceso directo estará representado por el icono de una carpeta, icono que podemos modificar accediendo a las propiedades de la carpeta a través del botón derecho del ratón, desde la pestaña Acceso directo y pulsamos en Cambiar icono. Al igual que en el método anterior, si hemos establecido un control de acceso a través de un usuario y contraseña, tendremos que introducir el de usuario de la cuenta de Ubuntu que ha creado la carpeta junto con la contraseña de su cuenta para poder acceder al contenido compartido. Samba nos permite crear cuentas de usuario para compartir carpetas en red de una forma mucho más segura y sin necesidad de compartir los datos de nuestra cuenta y los destinatarios de la carpeta compartida no somos nosotros.

 

Cómo dejar de compartir una carpeta en Linux

Cuando ya no queramos que dicha carpeta esté compartida en red, lo que debemos hacer es volver a localizar la carpeta, hacer clic con el botón derecho sobre ella y seleccionar «Recurso compartido en red local«. Podremos volver a ver la ventana de antes donde marcamos la opción de «Compartir esta carpeta».

Simplemente con desmarcar dicha casilla, la carpeta dejará de estar compartida en red. No es necesario desinstalar Samba para dejar de compartir ya que ocupa muy poco espacio y siempre cabe la posibilidad de poder utilizarlo en un futuro, por lo que nunca está de más dejarlo instalado en el equipo.

 

Cómo ver todas las carpetas compartidas en SAMBA

Si compartimos solo una carpeta seguramente sabremos cuál es, y podremos quitarla cuando ya no queramos seguir compartiéndola. Sin embargo, si compartimos muchas carpetas es fácil olvidarnos de cuáles hemos compartido en LAN. Hay muchas formas de poder verlo, pero la más sencilla, y que no requiere usar terminal ni instalar nada es buscando el siguiente directorio desde el explorador:

/var/lib/samba/usershares

Aquí dentro encontraremos un archivo de texto con cada una de las carpetas que hemos compartido. Y si abrimos dichos archivos con un editor, como gedit, podremos ver la ruta en la que se encuentra dicha carpeta compartida.

Compartir carpetas LAN Ubuntu Linux Windows - 9

Así, acudiendo a dicha ruta, podremos hacer que deje de estar compartida en red.

 

Otras formas de compartir carpetas en LAN

Además de usar el protocolo SMB/SAMBA para compartir unidades en LAN entre Windows y Linux, también hay otras formas de poder acceder a las carpetas de un sistema operativo desde otro. Vamos a ver algunas de las más interesantes.

  • FTP. El Protocolo de transferencia de archivos (File Transfer Protocol) es una de las formas más sencillas y rápidas de poder conectarnos de forma remota (tanto en LAN como desde fuera de la red local) a las carpetas que tengamos en nuestro ordenador. Este protocolo se basa en la arquitectura cliente-servidor, y ofrece mucha flexibilidad a la hora de configurar permisos y las carpetas a las que podemos, o no podemos acceder. Eso sí, requiere de más configuración y, para entrar desde fuera de la red local, configurar puertos.
  • SSHFS. Secure Shell FileSystem permite acceder a los archivos ubicados de forma remota de forma segura tanto desde Windows como desde Linux y macOS. Un ordenador, el servidor, monta un SSHFS, y los demás deben conectarse a él de forma remota para montar ficha unidad y poder trabajar con ella como si se tratase de un disco, o pendrive, conectado al PC.
  • Usar un NAS. Un servidor NAS es un equipo que ejecuta un sistema operativo (normalmente, Linux) diseñado especialmente para brindar servicios a la red local (o a Internet). Por ejemplo, podemos aprovecharnos de este dispositivo para guardar todos nuestros datos de forma centralizada y compartirlos dentro de la LAN. Los NAS suelen ser compatibles con muchos protocolos, por lo que no tendremos problemas para acceder a los datos ni desde Windows ni desde Linux ni otros sistemas.
  • Usar la nube. Si todo lo anterior te parece demasiado complicado (que, la verdad, puede serlo), entonces te recomendamos optar por lo básico y sencilla: usar la nube. Dropbox, Google Drive o OneDrive, por citar algunos ejemplos, nos permiten guardar en sus servidores todos los datos que queramos de manera que podamos acceder a ellos desde cualquier ordenador. Basta con que subamos los correspondientes a archivos y sus carpetas a nuestra cuenta desde cualquiera de los sistemas operativos que os comentamos. A partir de ahí, por ejemplo a través del navegador web que utilicemos por defecto, podemos acceder directamente a dicha cuenta desde el otro PC y así descargar todo aquello almacenado previamente. La principal ventaja que nos propone este método es que no tendremos que configurar absolutamente ningún parámetro complicado ni tocar la configuración del sistema operativo.
 

Cómo acceder a las carpetas compartidas desde fuera de la LAN

Como hemos visto, SAMBA, y las alternativas, son formas muy sencillas de poder compartir archivos y carpetas dentro de una red local, por ejemplo, con el resto de los usuarios. Sin embargo, ¿qué pasa cuando a lo que intentamos hacer es poder acceder a nuestros archivos cuando estemos fuera de casa? Por ejemplo, desde el trabajo, desde el móvil, o en casa de un amigo.

Llegados a este punto podemos recurrir a varias técnicas. La primera de ellas es usar un protocolo que funcione en WAN. Por ejemplo, nos serviría el FTP para poder tener a mano todos nuestros datos desde cualquier lugar de Internet. También podemos aprovecharnos de la nube, e incluso de un NAS al que podemos conectarnos a Internet.

SAMBA también se puede configurar para poder acceder a los datos a través de Internet. Sin embargo, es una práctica muy insegura y peligrosa, ya que este protocolo no ha sido diseñado para este fin. Por lo tanto, no recomendamos hacerlo.

¿Y cómo acceder a las carpetas compartidas de Linux desde Internet? La alternativa segura para poder usar SAMBA con este fin a través de Internet es usar una VPN. La VPN nos permitirá conectarnos de forma remota, y segura, a nuestra red local. Y, una vez dentro, podremos acceder a todos los recursos compartidos que haya en ella, entre otros, las carpetas compartidas.

¡Sé el primero en comentar!