web-dev-qa-db-fra.com

Partage de fichiers sur un réseau local via Samba ou SSH

Je suis en mesure de partager des fichiers entre deux machines Ubuntu et Windows, mais j'ai des problèmes que je ne peux pas résoudre.

  1. Lorsque je partage des fichiers entre deux machines Ubuntu via un réseau local Computer1 à Computer2. Ai-je besoin de Samba sur les deux machines? Si non (par rapport à la question supérieure), en cas de transfert de p2 à
  2. Lorsque j'accède à une autre machine Ubuntu à partir d'Ubuntu, sans définir d'autorisations de fichiers et de répertoires sur Computer1, tous les fichiers sont affichés sous / sur Computer2. Est-il possible d'arrêter cette visibilité? Comment définir des autorisations sur le dossier ou le répertoire que je veux que les autres utilisateurs puissent voir? Comment définir une liste personnalisée de dossiers ou de fichiers partagés?
  3. Quel utilisateur et quel mot de passe dois-je utiliser pour accéder à un autre utilisateur Ubuntu ou samba? est-ce que ça marche sur les deux. puis-je l'utiliser sans mot de passe?
  4. Comment je partage un fichier sans utiliser GUI Samba ni utiliser un terminal.
  5. Pourquoi Computer2 ne s'affiche pas sur ma connexion réseau dans Computer1? (Sans utiliser l'option connect to server), pourquoi mon système linux ne s'y intéresse pas? Screenshot of Nautilus

  6. Trouver un autre système sans connaître son nom ou son IP sur un réseau local?

Aide-moi à travers ça

13
twister_void

Tout d'abord: si vous souhaitez partager des fichiers, il existe différents protocoles d'intérêt: Samba (SMB), NFS, FTP, SSH/sFTP/SCP. Samba est le plus simple 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 rsyncsur SSH est une méthode de commande permettant de garder deux répertoires synchronisés. Mais je choisirais SMB parce que vous parlez de Windows et que la configuration d’un protocole/serveur suffit probablement au début.

Seuls trois conseils importants pour la recherche future 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 est)
  • Avez-vous besoin de transférer de gros fichiers? (Le SCP est vraiment lent comparé à SMB dans les réseaux Gigabit! Repères Google si vous êtes intéressé.)
  • Est-il nécessaire de conserver les autorisations de fichier 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 à la fois client et serveur, si vous le souhaitez. Le client est livré avec Ubuntu par défaut, le serveur est installé automatiquement lorsque vous partagez un dossier pour la première fois avec Nautilus.

2. Sans définir l'autorisation sur l'ordinateur 1, je peux voir tous les fichiers sous / sur l'ordinateur 2. Y a-t-il un moyen d'empêcher cette visibilité?

Ce n'est pas vrai 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. Ensuite, vous avez raison, généralement tout est visible et vous devez définir les autorisations de fichier et de répertoire correctement. Vous trouverez plus de détails à ce sujet ici: Moyen simple et facile d’emprisonner les utilisateurs

3. Quel utilisateur et 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. Dans des cas très particuliers, le mot de passe normal de l'utilisateur diffère de son mot de passe Samba. Vous pouvez modifier le mot de passe Samba séparément avec la commande smbpasswdname__, mais vous devriez 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 aide probablement au début:

enter image description here

4. Comment partager des fichiers sans interface graphique à l'aide du terminal?

Le cas d'utilisation le plus courant est probablement SSH/SCP. Tapez simplement ce qui suit dans le terminal du client pour copier /path/to/file1 sur le client dans /path/to/file2 sur le serveur:

scp /path/to/file1 server:/path/to/file2

serverpeut être une adresse IP ou un nom de domaine. Ou une autre méthode déjà mentionnée dans d'autres réponses avec rsyncname__:

rsync /path/to/file1 server:/path/to/file2

Avec Samba, vous utiliseriez probablement smbmount (qui n’est pas livré avec Samba par défaut) pour monter un partage réseau sur le client. Ensuite, vous pouvez 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 n'apparaît-il pas dans Nautilus/Network sur le client?

Autant que je sache, la première fois, cela ne se voit pas. Après l'avoir connecté une fois, vous le trouverez là. La première fois, vous devrez cliquer sur "Réseau Windows", puis sur "Groupe de travail" et ensuite vous verrez votre serveur - espérons-le. Au moins c'était le résultat de mes tests.

6. Comment trouver l'autre système sans connaître le nom ou l'adresse IP de l'autre système en réseau local?

Vous pouvez utiliser nmapdans le terminal, par exemple:

nmap 192.168.0.*

si 192.168.0.0 est votre réseau local. Cela vous imprimera 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 sous Réseau .

22
lumbric

Question4: pour copier des fichiers entre deux ubuntu-pc, vous pouvez utiliser scp ou rsync. Ou vous pouvez monter des répertoires à partir de p1 sur p2 avec sshfs. cela peut être fait en utilisant un terminal

Question 2: Comment accédez-vous aux autres machines Ubuntu? Si vous ne voulez pas que d'autres personnes lisent vos fichiers, vous pouvez utiliser ceci:

chmod -R o-rwX,g-rwX my-directory

Mais bien sûr, les utilisateurs root peuvent les lire.

1
guettli

L'application de partage la plus simple est Giver - une configuration minimale est requise

1
Vadim Rutkovsky