Primeiro de tudo: se você deseja compartilhar arquivos, existem vários protocolos de interesse: Samba (SMB), NFS, FTP, SSH / sFTP / SCP. O Samba é o mais fácil se um computador Windows estiver envolvido, mas você também pode usá-lo entre duas máquinas Ubuntu (e até Mac OS). O SSH é uma coisa agradável para o Ubuntu, porque é uma ferramenta muito poderosa - por exemplo, executar rsync
o SSH é um método de comando para manter dois diretórios sincronizados. Mas eu escolheria o SMB porque você menciona o Windows e provavelmente configurar um protocolo / servidor é suficiente para o começo.
Apenas três dicas importantes para pesquisas adicionais sobre outros protocolos:
- Pense em criptografia - é necessário que o protocolo seja criptografado ou você deseja confiar na sua LAN? (O FTP não está criptografado, o SSH / sFTP / SCP está)
- Precisa transferir arquivos enormes? (O SCP é realmente lento comparado ao SMB em redes Gigabit! Benchmarks do Google, se você estiver interessado.)
- É necessário manter as permissões dos arquivos transferidos?
Agora suas perguntas:
1. Quando compartilho arquivos entre duas máquinas Ubuntu via LAN, preciso do Samba nas duas máquinas?
Não, não o servidor Samba. Haverá sempre um servidor e um cliente. Você pode acessar as pastas compartilhadas no servidor a partir do cliente - e não o contrário. Em outras palavras: a barra de progresso da cópia estará sempre no cliente, nunca no servidor. Mas com duas máquinas Ubuntu, ambas podem ser cliente e servidor ao mesmo tempo, se você quiser. O cliente é enviado com o Ubuntu por padrão, o servidor é instalado automaticamente quando você compartilha uma pasta pela primeira vez com o Nautilus.
2. Sem definir permissão no computador 1 Posso ver todos os arquivos /
no computador 2. Existe alguma maneira de interromper essa visibilidade?
Isso não é verdade para SMB / Samba. Existem certas pastas compartilhadas e somente essas são visíveis para os clientes. Verifique a pasta /var/lib/samba/usershares/
e o arquivo /etc/samba/smb.conf
, se o caminho /
estiver compartilhado. Provavelmente você está se conectando com SSH e não com SMB. Então você está certo, geralmente tudo está visível e você precisa definir as permissões de arquivo e diretório corretamente. Você pode encontrar mais detalhes sobre isso aqui: Maneira simples e fácil de prender usuários
3. Qual usuário e senha devo usar ao acessar outra máquina Ubuntu através do Samba?
Geralmente é simples: basta usar qualquer usuário e senha da outra máquina. Somente em casos muito especiais, a senha normal do usuário difere da senha do Samba. Você pode alterar a senha do Samba separadamente com o comando smbpasswd
, mas realmente deve ter bons motivos para usar duas senhas diferentes.
Você pode permitir compartilhamentos sem senha. Há muitas coisas a dizer sobre isso, mas provavelmente esta captura de tela do Nautilus ajuda no início:
4. Como compartilhar arquivos sem GUI usando o terminal?
O caso de uso mais comum é SSH / SCP, provavelmente. Basta digitar o seguinte no terminal do cliente para copiar /path/to/file1
no cliente para /path/to/file2
o servidor:
scp /path/to/file1 server:/path/to/file2
server
pode ser um endereço IP ou um nome de domínio. Ou outro método já mencionado em outras respostas com rsync
:
rsync /path/to/file1 server:/path/to/file2
Com o Samba, você provavelmente usaria o smbmount (que não é fornecido com o Samba por padrão) para montar um compartilhamento de rede no cliente. Então você pode usá-lo normalmente. Existem várias maneiras de montar um compartilhamento Samba. Se você estiver usando o Gnome, gvfs-mount
talvez seja o método mais fácil:
gvfs-mount smb://server/nameOfsharedFolder
cd ~/.gvfs/*
5. Por que o servidor não está aparecendo no Nautilus / Network no cliente?
Até onde eu sei, a primeira vez que não aparece lá. Depois de se conectar a ele uma vez, você o encontrará lá. Na primeira vez, você terá que clicar em "Rede Windows", depois em "Grupo de Trabalho" e, em seguida, verá o servidor - esperançosamente. Pelo menos este foi o resultado dos meus testes.
6. Como encontrar o outro sistema sem saber o nome ou o IP do outro sistema na LAN?
Você pode usar nmap
no terminal, por exemplo:
nmap 192.168.0.*
se 192.168.0.0 é sua LAN. Isso imprimirá todos os clientes da rede na sua LAN (que podem ser descobertos). Às vezes isso pode ajudar, se outras máquinas não aparecerem em Rede .