¿Cómo compartir archivos a través de la red local?


65

Tengo una computadora de escritorio (Ubuntu 13.04 y Win 7 Home Premium) y una computadora portátil (Ubuntu 12.04) , ambas con adaptadores WiFi. También tengo un enrutador WiFi conectado a Internet al que pueden acceder mis computadoras.

Quiero compartir archivos entre mi computadora de escritorio y mi computadora portátil usando WiFi (similar a Homegroup en Windows 7 pero sin usar cables Ethernet) . ¿Cómo configuro eso?

Quiero compartir archivos usando ambos SO, si alguien tiene información sobre cómo compartir archivos con cualquiera de los SO, ¡responda!



1
Esto no es un duplicado, ya que pregunta sobre el intercambio de archivos entre Ubuntu y Windows, así como las máquinas Ubuntu y Ubuntu. Tenga en cuenta que el escritorio tiene Ubuntu y Windows. Cuando se inicia en Ubuntu y la computadora portátil tiene Ubuntu, tiene Ubuntu para compartir archivos de Ubuntu.
user68186

Respuestas:


77

Configuración de la red

Conecte la computadora de escritorio y la computadora portátil al enrutador WiFi con la configuración estándar. Para verificar que ambas computadoras estén conectadas, compruebe que puede conectarse a Internet desde ambas computadoras.

Opcional: en la configuración del enrutador, vea las direcciones IP locales asignadas al escritorio y la computadora portátil. Estos pueden verse como 192.168.0.100 o 192.168.1.199. Si existe una opción para asignar estas direcciones IP específicas de forma permanente en el enrutador, puede hacerlo.


Windows → Ubuntu

Paso 1 En la computadora portátil, crea una carpeta que quieras compartir. Puede haber una carpeta llamada "Público", elija esa si lo desea. Haga clic derecho en el icono de la carpeta y elija "Opciones de uso compartido". Se abrirá una nueva ventana:

ingrese la descripción de la imagen aquí

Marque la casilla "Compartir esta carpeta".

También puede marcar las otras dos casillas "Permitir que otros creen y eliminen archivos en esta carpeta". Esto le permitirá al usuario de escritorio de Windows crear y eliminar archivos en esta carpeta.

La casilla de verificación "Acceso de invitado" se explica por sí misma. Esto puede ser útil si su ID de usuario de Windows no es exactamente igual a su ID de usuario de Ubuntu.

Puede decirle que el servicio Compartir no está instalado:

ingrese la descripción de la imagen aquí

Haga clic en "Instalar servicio" y permita que instale el software proporcionando la contraseña para la cuenta de usuario de la computadora portátil cuando se le solicite. Es posible que se le solicite que instale más software como libpam-smbpass. Instala todo el software. Le pedirá que reinicie los servicios y haga clic en Sí.

Paso 2. Abra la ventana de propiedades de la carpeta "Pública", haciendo clic derecho sobre ella. Vaya a la pestaña de permisos y asegúrese de que se vea así:

ingrese la descripción de la imagen aquí

Haga clic en el botón "Cambiar permisos de archivos adjuntos" y asegúrese de que se vea así:

ingrese la descripción de la imagen aquí

Ahora debería poder editar archivos creados en ubuntu en la carpeta "Pública" de la computadora portátil en el Explorador de Windows.

Sin embargo, si crea un archivo en Windows y lo coloca en la carpeta Pública de la computadora portátil, es posible que no pueda abrir ese archivo cuando llegue a la computadora portátil. Esto se debe a que Windows y Ubuntu no entienden la propiedad y los permisos de los archivos del otro. Entonces, en la computadora portátil Ubuntu, el archivo creado por Windows es propiedad de "Nadie". Deberá abrir Nautilus como administrador y cambiar la propiedad y los permisos de lectura y escritura mientras esté en la computadora portátil.

Paso 3. Vaya a Windows en la computadora de escritorio y abra el Explorador de Windows , haga clic en el triángulo al lado de Red en el panel izquierdo. En la lista desplegable, debería poder seleccionar el nombre de la computadora portátil que ejecuta Ubuntu .

Ahora debería poder ver su carpeta compartida (diga "Público") desde la computadora portátil en el Explorador de Windows. Haga clic en la carpeta "Público" y vea los archivos en la carpeta. Debería poder copiar archivos de la carpeta pública en Ubuntu a su carpeta local de Windows.

Aquí hay una guía paso a paso con más detalles.


Ubuntu → Windows

Paso 1 Configure el uso compartido de carpetas de Windows utilizando los métodos disponibles para Windows. siga los pasos en el enlace de arriba para la parte de Windows.

Paso 2 Abra una terminal en la computadora portátil Ubuntu presionando Ctrl+ Alt+ Te ingrese:

sudo -H gedit /etc/samba/smb.conf

y busca la línea:

;   name resolve order = lmhosts host wins bcast

y editarlo para que se vea así

   name resolve order = bcast lmhosts host wins 

Tenga en cuenta que no hay; al comienzo de la línea editada. Guarde el archivo y salga de gedit. Ingrese las siguientes dos líneas (una a la vez) para detener e iniciar samba:

sudo stop smbd
sudo start smbd

Paso 3 En la computadora portátil, abra Nautilus, el explorador de archivos y haga clic en Red en el panel izquierdo. Haga clic en "Examinar red" Haga clic en los íconos en la ventana principal de red de Nautilus y busque su escritorio de Windows y su carpeta compartida. Verifique que puede copiar archivos desde y hacia esta carpeta.

Consulte el error "No se pudo recuperar la lista de recursos compartidos del servidor" al explorar un recurso compartido con Nautilus como referencia para editar el smb.conf.


Ubuntu → Ubuntu

Arranca el escritorio en Ubuntu.

Tanto en el escritorio como en la computadora portátil, haga lo siguiente para asegurarse de que ssh-server esté instalado:

Abra una terminal presionando Ctrl+ Alt+ Te ingrese

sudo apt-get install openssh-server

Introduzca su contraseña cuando se le solicite. El cursor no se moverá cuando ingrese la contraseña. Esto es normal.

Esto instalará el servidor ssh si aún no está instalado. Si ya está instalado, no hará nada.

El escritorio primero:

Abra Nautilus y busque el elemento del menú "Otras ubicaciones". En la parte inferior, busque Conectar al servidor:

conexión sftp [7]

En Dirección del servidor, ingrese:

sftp://laptop_user_id@laptop_name.local/home/laptop_user_id

dónde laptop_user_idestá la ID de usuario que creó para su computadora portátil. Puede encontrar su ID de usuario escribiendo whoamien una terminal. Y laptop_namees el nombre que le dio a la computadora portátil cuando instaló Ubuntu.

Si desea compartir una partición en su segundo disco duro del escritorio, en Dirección del servidor, ingrese:

sftp://desktop_user_id@desktop_name.local/path/to/the/mount/point/of/the/partition/in/second/hard/drive

Reemplazar path/to/.../drivecon la ruta real.

Alternativamente, si conoce la dirección IP local de su computadora portátil, puede reemplazarla laptop_name.localcon la dirección IP local de la computadora portátil.

Presione Connect. Verá un cuadro de diálogo de contraseña:

Contraseña para SSH

Ingrese la contraseña asociada con laptop_user_id y seleccione si desea que la contraseña se recuerde o no. De nuevo haz clic Connect.

Ahora debería ver su carpeta de inicio de la computadora portátil.

Observe que hay una nueva entrada en Red en el panel izquierdo de Nautilus que comienza con laptop_user_id. Haga clic derecho sobre él y elija "Agregar marcador" para crear un marcador permanente para la carpeta de inicio de su computadora portátil en el Nautilus del escritorio.

Consulte esta página para ver imágenes de una versión anterior.

Ahora la laptop

Siga el mismo proceso que el escritorio anterior.


Probaré el método Ur y responderé U, hasta entonces ¡Muchas gracias por responder! -a usuario68186
Gaurav

2
:) Hecho, instalé SSH en mi computadora portátil como U dijo y mi trabajo está hecho, ahora puedo ver mi computadora portátil en mi escritorio y mi escritorio en mi computadora portátil, muchas gracias y muchas gracias por el tiempo que pasé con esta pregunta.
Gaurav

2
@Gaurav Samba es un servicio que se ejecuta en segundo plano. No hay una interfaz gráfica de usuario con ese nombre. Es por eso que no lo encontrarás en Dash. ¿En qué paso te estás atascando? ¿Puedes ver la carpeta compartida en Windows desde Ubuntu? ¿Puedes ver la carpeta compartida en Ubuntu desde Windows?
usuario68186

1
Nota para Ubuntu a Ubuntu, el cuadro de entrada "Conectar al servidor" ahora aparece en la parte inferior de la página "Otras ubicaciones" para versiones más recientes de archivos (Nautilus) y es sorprendentemente fácil de perder - askubuntu.com/a/851681
bonger

1
@bonger Gracias! He actualizado el texto y la imagen para reflejar los cambios.
user68186

3

Voy a proponer algunas alternativas que no se parecen exactamente a SAMBA, pero que podrían ser mejores para otros casos de uso.

Servidor HTTP

HTTP es el protocolo utilizado para acceder a sitios web regulares, por lo que cada sistema operativo se vio obligado a implementarlo.

Encuentre su IP en la computadora fuente, por ejemplo 192.168.0.10. En Ubuntu:

ifconfig

Cree un servidor en un directorio que contenga el archivo que desea transferir:

python -m SimpleHTTPServer 8080

En la computadora receptora, abra un navegador y visite:

192.168.0.10:8080

Ahora puede navegar por los directorios hasta el archivo que desee.

No estoy seguro de si este método es rápido / robusto, pero es uno de los más sencillos de configurar y portátiles.

Las alternativas más rápidas se analizan en: https://stackoverflow.com/questions/12905426/what-is-a-faster-alternative-to-pythons-simplehttpserver

rsync

Entre dos computadoras Ubuntu, esta es una gran opción: https://en.wikipedia.org/wiki/Rsync

Primero asegúrese de que puede SSH de una computadora a otra:

ssh server-username@192.168.0.10

Puede crear una nueva cuenta para el usuario si desea mantener su contraseña privada.

Es posible que deba ejecutar en el servidor y el cliente:

sudo apt-get install ssh

Luego, una vez que logró iniciar sesión, para copiar archivos del servidor al cliente simplemente haga:

rsync -av server-username@192.168.0.10:/full/path/to/remote/directory .

Se pueden copiar varios directorios de una vez, como se explica en https://unix.stackexchange.com/questions/308810/copying-multiple-files-using-rsync-over-ssh :

rsync -av 'server-username@192.168.0.10:/full/path/to/remote/directory "/full/path/to/remote/directory with space"' .

Este es el método con el denominador común más bajo: el más robusto, eficiente, ampliamente disponible en Linux y la seguridad se basa en permisos de archivos bien conocidos + esquemas de usuario.

Esto podría no ser fácil en Windows pensó:

NFS

Nuevamente, principalmente para dos máquinas Ubuntu, este es el SAMBA para Linux, con soporte integrado en el kernel de Linux: https://en.wikipedia.org/wiki/Network_File_System

Básicamente le permite a mountuna carpeta del servidor en el invitado.

La configuración y la resolución de problemas es potencialmente un poco más difícil rsync, pero definitivamente factible, este es un buen artículo: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on- ubuntu-16-04

Quizás también haya alguna implementación de Windows: https://docs.microsoft.com/en-us/windows-server/storage/nfs/nfs-overview, pero supongo que Microsoft debe brindar un mejor soporte para su propio protocolo SMB.


1
sudo apt-get install servefile

servefile es perfecto para compartir ocasionalmente, ejecuta un servidor http en el puerto 8080 (a menos que se especifique -p < puerto >), por lo que puede comunicarse rápidamente con cualquier dispositivo con un navegador.

Ejemplos:

  • servefile filename # Solo sirve un archivo


    Obtengo 3 URL porque tengo 3 IP de 3 LAN diferentes, normalmente obtendrías solo 1, pero es increíble que te lo demuestre.

  • servefile -u ~ / Pictures # Le permite cargar archivos en la carpeta Imágenes

    subir archivos

  • servefile -l ~ / Pictures # Sirve el contenido de la carpeta

    contenido de la carpeta

  • servefile -tc gzip ~ / Pictures # construye un archivo tar desde cualquier archivo o carpeta y lo comprime sobre la marcha

    ingrese la descripción de la imagen aquí

Por cierto, con este método alcancé una velocidad de transferencia de 1 Gbps (velocidad máxima de mi LAN).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.