Prima di tutto: se vuoi condividere file, ci sono diversi protocolli di interesse: Samba (SMB), NFS, FTP, SSH / sFTP / SCP. Samba è il più semplice se è coinvolto un computer Windows, ma puoi usarlo anche tra due macchine Ubuntu (e persino Mac OS). SSH è una buona cosa per Ubuntu, perché è uno strumento molto potente, ad esempio l'esecuzione rsync
su SSH è un metodo di comando per mantenere sincronizzate due directory. Ma sceglierei SMB perché menzioni Windows e probabilmente impostare un protocollo / server è sufficiente per l'inizio.
Solo tre suggerimenti importanti per ulteriori ricerche su altri protocolli:
- Pensa alla crittografia: è necessario che il protocollo sia crittografato o vuoi fidarti della tua LAN? (FTP non è crittografato, SSH / sFTP / SCP lo è)
- Devi trasferire file di grandi dimensioni? (SCP è davvero lento rispetto a SMB nelle reti Gigabit! Benchmark di Google se sei interessato.)
- È necessario mantenere le autorizzazioni dei file trasferiti?
Ora le tue domande:
1. Quando condivido file tra due macchine Ubuntu tramite LAN, ho bisogno di Samba su entrambe le macchine?
No, non il server Samba. Ci saranno sempre un server e un client. È possibile accedere alle cartelle condivise sul server dal client, non viceversa. In altre parole: la barra di avanzamento della copia sarà sempre sul client, mai sul server. Ma con due macchine Ubuntu, entrambe possono essere client e server contemporaneamente, se lo si desidera. Il client viene fornito con Ubuntu per impostazione predefinita, il server viene installato automaticamente quando si condivide una cartella per la prima volta con Nautilus.
2. Senza definire l'autorizzazione sul computer 1 Riesco a vedere tutti i file /
sul computer 2. È in qualche modo possibile interrompere tale visibilità?
Questo non è vero per SMB / Samba. Esistono alcune cartelle condivise e solo queste sono visibili ai client. Controllare la cartella /var/lib/samba/usershares/
e il file /etc/samba/smb.conf
, se il percorso /
è condiviso. Probabilmente ti stai collegando con SSH e non con SMB. Allora hai ragione, di solito tutto è visibile e devi impostare correttamente i permessi di file e directory. Puoi trovare maggiori dettagli su questo qui: Un modo semplice e facile per gli utenti in prigione
3. Quale utente e password devo usare mentre accedo ad altre macchine Ubuntu tramite Samba?
Di solito è semplice: basta usare qualsiasi utente e password dell'altra macchina. Solo in casi molto speciali la normale password dell'utente differisce dalla sua password Samba. Puoi cambiare la password di Samba separatamente con il comando smbpasswd
, ma dovresti davvero avere buoni motivi per usare due password diverse.
È possibile consentire le condivisioni senza password. Ci sono molte cose da dire al riguardo, ma probabilmente questa schermata di Nautilus aiuta all'inizio:
4. Come condividere file senza GUI usando il terminale?
Il caso d'uso più comune è quindi SSH / SCP. Digitare quanto segue nel terminale del client per copiare /path/to/file1
sul client /path/to/file2
sul server:
scp /path/to/file1 server:/path/to/file2
server
può essere un indirizzo IP o un nome di dominio. O un altro metodo già menzionato in altre risposte con rsync
:
rsync /path/to/file1 server:/path/to/file2
Con Samba probabilmente useresti smbmount (che non viene fornito con Samba per impostazione predefinita) per montare una condivisione di rete sul client. Quindi puoi usarlo normalmente. Esistono molti modi per montare una condivisione Samba. Se stai usando Gnome, gvfs-mount
potrebbe essere il metodo più semplice:
gvfs-mount smb://server/nameOfsharedFolder
cd ~/.gvfs/*
5. Perché il server non viene visualizzato in Nautilus / Network sul client?
Per quanto ne so, la prima volta non si presenta lì. Dopo esserti connesso una volta, lo troverai lì. La prima volta, dovrai fare clic su "Rete Windows", quindi su "Gruppo di lavoro" e poi vedrai il tuo server - si spera. Almeno questo è stato il risultato dei miei test.
6. Come trovare l'altro sistema senza conoscere il nome o l'IP dell'altro sistema nella LAN?
È possibile utilizzare nmap
nel terminale, ad esempio:
nmap 192.168.0.*
se 192.168.0.0 è la tua LAN. Questo ti stamperà tutti i client di rete nella tua LAN (che può essere scoperto). A volte questo può aiutare, se altre macchine non vengono visualizzate in Rete .