Como compartilhar arquivos através da rede local?


65

Eu tenho um desktop (Ubuntu 13.04 e Win 7 Home Premium) e um laptop (Ubuntu 12.04) , ambos com adaptadores WiFi. Eu também tenho um roteador WiFi conectado à Internet, que meus computadores podem acessar.

Quero compartilhar arquivos entre minha área de trabalho e meu laptop usando WiFi (semelhante ao Grupo Doméstico no Windows 7, mas sem o uso de cabos Ethernet) . Como faço para configurar isso?

Quero compartilhar arquivos usando os dois sistemas operacionais. Se alguém tiver informações sobre o compartilhamento de arquivos com qualquer sistema operacional, responda!



11
Isso não é duplicado, pois pergunta sobre o compartilhamento de arquivos entre o Ubuntu e o Windows, bem como as máquinas Ubuntu e Ubuntu. Observe que a área de trabalho possui o Ubuntu e o Windows. Quando é inicializado no Ubuntu e o laptop possui o Ubuntu, você tem o compartilhamento de arquivos do Ubuntu para o Ubuntu.
user68186

Respostas:


77

Configuração de rede

Conecte a área de trabalho e o laptop ao roteador WiFi usando a configuração padrão. Para verificar se os dois computadores estão conectados, teste se você pode acessar a Internet pelos dois computadores.

Opcional: Na configuração do roteador, consulte os endereços IP locais atribuídos à área de trabalho e ao laptop. Eles podem parecer 192.168.0.100 ou 192.168.1.199. Se existir uma opção para atribuir permanentemente esses endereços IP específicos no roteador, você poderá fazer isso.


Windows → Ubuntu

Etapa 1 No laptop, crie uma pasta que você deseja compartilhar. Pode haver uma pasta chamada "Pública", escolha aquela que você desejar. Clique com o botão direito do mouse no ícone da pasta e escolha "Opções de compartilhamento". Uma nova janela será aberta:

insira a descrição da imagem aqui

Marque a caixa "Compartilhar esta pasta".

Você também pode marcar as outras duas caixas "Permitir que outras pessoas criem e excluam arquivos nesta pasta". Isso permitirá que o usuário do Windows da área de trabalho crie e exclua arquivos nesta pasta.

A caixa de seleção "Acesso para visitantes" é auto-explicativa. Isso pode ser útil se o ID do usuário do Windows não for exatamente igual ao seu ID de usuário do Ubuntu.

Pode dizer que o serviço de compartilhamento não está instalado:

insira a descrição da imagem aqui

Clique em "Instalar serviço" e deixe-o instalar o software, fornecendo a senha para a conta de usuário do laptop quando solicitado. Você pode ser solicitado a instalar mais software, como libpam-smbpass. Instale todo o software. Ele solicitará que você reinicie os serviços e clique em Sim.

Etapa 2. Abra a janela de propriedades da pasta "Pública", clicando com o botão direito nela. Vá para a guia de permissões e verifique se ele se parece com isso:

insira a descrição da imagem aqui

Clique no botão "Alterar permissões dos arquivos anexados" e verifique se ele se parece com isso:

insira a descrição da imagem aqui

Agora você deve poder editar os arquivos criados no ubuntu na pasta "Public" do laptop no Windows Explorer.

No entanto, se você criar um arquivo no Windows e colocá-lo na pasta Pública do laptop, talvez não seja possível abrir esse arquivo quando chegar ao laptop. Isso ocorre porque o Windows e o Ubuntu não entendem a propriedade e as permissões de arquivos um do outro. Portanto, no laptop Ubuntu, o arquivo criado pelo Windows é de propriedade de "Nobody". Você precisará abrir o Nautilus como administrador e alterar as permissões de propriedade e leitura / gravação enquanto estiver no laptop.

Etapa 3. Vá para o Windows no computador desktop e abra o Windows Explorer , clique no triângulo ao lado de Rede no painel esquerdo. Na lista suspensa, você poderá selecionar o nome do laptop executando o Ubuntu .

Agora você deve poder ver sua pasta compartilhada (diga "Público") no laptop no Windows Explorer. Clique na pasta "Pública" e veja os arquivos na pasta. Você poderá copiar arquivos da pasta Pública no Ubuntu para a pasta local do Windows.

Aqui está um guia passo a passo com mais alguns detalhes.


Ubuntu → Windows

Etapa 1 Configure o compartilhamento de pastas do Windows usando os métodos disponíveis para o Windows. siga as etapas no link acima para a parte do Windows.

Etapa 2 Abra um terminal no laptop Ubuntu pressionando Ctrl+ Alt+ Te digite:

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

e procure a linha:

;   name resolve order = lmhosts host wins bcast

e edite para ficar assim

   name resolve order = bcast lmhosts host wins 

Note que não há; no início da linha editada. Salve o arquivo e saia do gedit. Digite as duas linhas a seguir (uma de cada vez) para parar e iniciar o samba:

sudo stop smbd
sudo start smbd

Etapa 3 No laptop, abra o Nautilus, o navegador de arquivos e clique em Rede no painel esquerdo. Clique em "Navegar na rede" Clique nos ícones na janela principal de rede do Nautilus e localize a área de trabalho do Windows e a pasta compartilhada. Verifique se você pode copiar arquivos de e para esta pasta.

Consulte o erro "Falha ao recuperar a lista de compartilhamento do servidor" ao navegar em um compartilhamento com o Nautilus para obter referência sobre a edição do smb.conf.


Ubuntu → Ubuntu

Inicialize a área de trabalho no Ubuntu.

Na área de trabalho e no laptop, faça o seguinte para garantir que o servidor ssh esteja instalado:

Abra um terminal pressionando Ctrl+ Alt+ Te digite

sudo apt-get install openssh-server

Digite sua senha quando solicitado. O cursor não se moverá quando você digitar a senha. Isto é normal.

Isso instalará o servidor ssh se ele ainda não estiver instalado. Se já estiver instalado, não fará nada.

A área de trabalho primeiro:

Abra o Nautilus e encontre o item de menu "Outros locais". Na parte inferior, localize Conectar ao servidor:

conexão sftp [7]

Em Endereço do servidor, digite:

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

onde laptop_user_idestá o ID do usuário criado no seu laptop. Você pode encontrar seu ID de usuário digitando whoamium terminal. E laptop_nameé o nome que você deu ao laptop quando instalou o Ubuntu.

Se você deseja compartilhar uma partição no seu segundo disco rígido da área de trabalho, em Endereço do Servidor, digite:

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

Substitua path/to/.../drivepelo caminho real.

Como alternativa, se você souber o endereço IP local do seu laptop, poderá substituí laptop_name.local-lo pelo endereço IP local do laptop.

Pressione Connect. Você verá uma caixa de diálogo de senha:

Senha para SSH

Digite a senha associada ao laptop_user_id e selecione se deseja que a senha seja lembrada ou não. Clique novamente Connect.

Agora você deve ver sua pasta pessoal do laptop.

Observe que há uma nova entrada em Rede no painel esquerdo do Nautilus que começa com laptop_user_id. Clique com o botão direito do mouse e escolha "Adicionar marcador" para criar um marcador permanente para a pasta pessoal do seu laptop no Nautilus of the Desktop.

Veja esta página para fotos de uma versão mais antiga.

Agora o laptop

Siga o mesmo processo que a área de trabalho acima.


Vou tentar o método Ur e responderá U, até então, muito obrigado pela resposta! user68186 -para
Gaurav

2
:) Concluído, instalei o SSH no meu laptop como U disse e meu trabalho foi concluído. Agora posso ver Meu laptop no meu Desktop e meu Desktop no meu laptop. Muito obrigado e muito obrigado pelo tempo que você passou para esta pergunta.
precisa

2
O @Gaurav Samba é um serviço executado em segundo plano. Não há interface gráfica do usuário com esse nome. É por isso que você não o encontrará no Dash. Em qual etapa você está ficando preso? Você pode ver a pasta compartilhada no Windows no Ubuntu? Você pode ver a pasta compartilhada no Ubuntu no Windows?
user68186

11
Nota para o Ubuntu no Ubuntu, a caixa de entrada "Connect to Server" agora aparece na parte inferior da página "Other Locations" para versões mais recentes dos arquivos (Nautilus) e é surpreendentemente fácil de perder - askubuntu.com/a/851681
bonger

11
@bonger Obrigado! Atualizei o texto e a imagem para refletir as alterações.
user68186

3

Vou propor algumas alternativas que não se parecem exatamente com o SAMBA, mas poderiam ser melhores para outros casos de uso.

Servidor HTTP

O HTTP é o protocolo usado para acessar sites regulares; portanto, todo sistema operacional foi forçado a implementá-lo!

Encontre o seu IP no computador de origem, por exemplo 192.168.0.10. No Ubuntu:

ifconfig

Crie um servidor em um diretório que contenha o arquivo que você deseja transferir:

python -m SimpleHTTPServer 8080

No computador receptor, abra um navegador e visite:

192.168.0.10:8080

Agora você pode navegar pelos diretórios até o arquivo que deseja.

Não tenho certeza se esse método é rápido / robusto, mas é um dos mais simples de configurar e portátil.

Alternativas mais rápidas são discutidas em: https://stackoverflow.com/questions/12905426/what-is-a-faster-alternative-to-pythons-simplehttpserver

rsync

Entre dois computadores Ubuntu, esta é uma ótima opção: https://en.wikipedia.org/wiki/Rsync

Primeiro, verifique se você pode fazer o SSH de um computador para outro:

ssh server-username@192.168.0.10

Você pode criar uma nova conta para o usuário se quiser manter sua senha privada.

Pode ser necessário executar no servidor e no cliente:

sudo apt-get install ssh

Então, uma vez que você conseguiu fazer login, para copiar arquivos do servidor para o cliente, basta fazer:

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

Vários diretórios podem ser copiados de uma só vez, conforme explicado em 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 é o método de denominador comum mais baixo: o mais robusto, eficiente e amplamente disponível em Linux e a segurança contam com permissões de arquivo conhecidas + esquemas de usuário.

Isso pode não ser fácil no Windows, pensou:

NFS

Novamente, principalmente para duas máquinas Ubuntu, este é o SAMBA para Linux, com suporte incorporado ao kernel do Linux: https://en.wikipedia.org/wiki/Network_File_System

Basicamente, permite a você mountuma pasta do servidor no convidado.

A instalação e a solução de problemas são potencialmente um pouco mais difíceis do que rsync, mas definitivamente factíveis, este é um bom artigo: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on- ubuntu-16-04

Talvez também exista alguma implementação do Windows: https://docs.microsoft.com/en-us/windows-server/storage/nfs/nfs-overview, mas acho que a Microsoft deve oferecer um suporte melhor ao seu próprio protocolo SMB.


1
sudo apt-get install servefile

O servefile é perfeito para compartilhamento casual, ele executa um servidor http na porta 8080 (a menos que -p < porta > seja especificada), para que ele possa se comunicar rapidamente com qualquer dispositivo com um navegador.

Exemplos:

  • nome do arquivo servefile # Apenas serve um arquivo


    Eu recebo 3 URLs porque tenho 3 IPs de 3 LANs diferentes, normalmente você receberia apenas 1, mas é incrível que isso lhe mostre.

  • servefile -u ~ / Imagens # Vamos fazer upload de arquivos para a pasta Imagens

    fazer upload de arquivos

  • servefile -l ~ / Pictures # Serve o conteúdo da pasta

    conteúdo da pasta

  • servefile -tc gzip ~ / Pictures # constrói um arquivo tar a partir de qualquer arquivo ou pasta e compacta-o rapidamente

    insira a descrição da imagem aqui

BTW com este método, atingi a velocidade de transferência de 1 Gbps (velocidade máxima da minha LAN).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.