Tout d'abord, si vous souhaitez partager des fichiers, plusieurs protocoles différents peuvent vous intéresser : Samba (SMB), NFS, FTP, SSH/sFTP/SCP. Samba est le plus facile si un ordinateur Windows est impliqué, mais vous pouvez également l'utiliser entre deux machines Ubuntu (et même Mac OS). SSH est une bonne chose pour Ubuntu, car c'est un outil très puissant - par exemple, l'exécution de rsync
sur SSH est une méthode de commande pour garder deux répertoires synchronisés. Mais je choisirais SMB parce que vous mentionnez Windows et que la configuration d'un protocole/serveur est probablement suffisante pour le début.
Seulement trois indications importantes pour la poursuite des recherches sur d'autres protocoles :
- Pensez au cryptage - est-il nécessaire que le protocole soit crypté ou voulez-vous faire confiance à votre réseau local ? (FTP n'est pas crypté, SSH/sFTP/SCP l'est)
- Vous avez besoin de transférer des fichiers énormes ? (SCP est vraiment lent comparé à SMB dans les réseaux Gigabit ! Google benchmarks si vous êtes intéressé).
- Est-il nécessaire de conserver les permissions des fichiers transférés ?
Maintenant, vos questions :
1. Lorsque je partage des fichiers entre deux machines Ubuntu via un réseau local, ai-je besoin de Samba sur les deux machines ?
Non, pas le serveur Samba. Il y aura toujours un serveur et un client. Vous pouvez accéder aux dossiers partagés sur le serveur à partir du client - et non l'inverse. En d'autres termes : la barre de progression de la copie sera toujours sur le client, jamais sur le serveur. Mais avec deux machines Ubuntu, les deux peuvent être client et serveur en même temps, si vous le souhaitez. Le client est livré par défaut avec Ubuntu, le serveur est installé automatiquement lorsque vous partagez un dossier pour la première fois avec Nautilus.
2. Sans autorisation de définition sur l'ordinateur 1, je peux voir tous les fichiers sous la rubrique /
sur l'ordinateur 2. Y a-t-il un moyen d'empêcher cette visibilité ?
Ce n'est pas le cas pour SMB/Samba. Il existe certains dossiers partagés et seuls ceux-ci sont visibles pour les clients. Vérifiez le dossier /var/lib/samba/usershares/
et le fichier /etc/samba/smb.conf
si le chemin /
est partagé. Vous vous connectez probablement avec SSH et non avec SMB. Dans ce cas, vous avez raison, en général tout est visible et vous devez définir correctement les autorisations des fichiers et des répertoires. Vous pouvez trouver plus de détails à ce sujet ici : Une méthode simple et facile pour emprisonner les utilisateurs
3. Quel utilisateur et quel mot de passe dois-je utiliser pour accéder à une autre machine Ubuntu via Samba ?
En général, c'est simple : il suffit d'utiliser n'importe quel utilisateur et mot de passe de l'autre machine. Ce n'est que dans des cas très particuliers que le mot de passe normal de l'utilisateur diffère de son mot de passe Samba. Vous pouvez changer le mot de passe Samba séparément avec la commande smbpasswd
mais vous devez vraiment avoir de bonnes raisons d'utiliser deux mots de passe différents.
Vous pouvez autoriser les partages sans mot de passe. Il y a beaucoup de choses à dire à ce sujet, mais cette capture d'écran de Nautilus est probablement utile pour commencer :
4. Comment partager des fichiers sans interface graphique en utilisant le terminal ?
Le cas d'utilisation le plus courant est probablement SSH/SCP. Il suffit de taper ce qui suit dans le terminal du client pour effectuer la copie /path/to/file1
sur le client pour /path/to/file2
sur le serveur :
scp /path/to/file1 server:/path/to/file2
server
peut être une adresse IP ou un nom de domaine. Ou une autre méthode déjà mentionnée dans d'autres réponses avec rsync
:
rsync /path/to/file1 server:/path/to/file2
Avec Samba, vous utiliserez probablement smbmount (qui n'est pas livré avec Samba par défaut) afin de monter un partage réseau sur le client. Vous pourrez alors l'utiliser normalement. Il existe plusieurs façons de monter un partage Samba. Si vous utilisez Gnome, gvfs-mount
pourrait être la méthode la plus simple :
gvfs-mount smb://server/nameOfsharedFolder
cd ~/.gvfs/*
5. Pourquoi le serveur ne s'affiche-t-il pas dans Nautilus / Network sur le client ?
Pour autant que je sache, la première fois, il n'apparaît pas là. Après s'y être connecté une fois, vous le trouverez là. La première fois, vous devrez cliquer sur "Réseau Windows", puis sur "Groupe de travail" et vous verrez alors votre serveur - avec un peu de chance. C'est en tout cas le résultat de mes tests.
6. Comment trouver l'autre système sans connaître le nom ou l'IP de l'autre système du réseau local ?
Vous pouvez utiliser nmap
dans le terminal, par exemple :
nmap 192.168.0.*
si 192.168.0.0 est votre réseau local. Vous obtiendrez ainsi tous les clients réseau de votre réseau local (qui peuvent être découverts). Parfois, cela peut aider, si d'autres machines n'apparaissent pas dans la liste des clients réseau. Réseau .