13 votes

Partage de fichiers en réseau local par Samba ou SSH

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

  1. Lorsque je partage des fichiers entre deux machines Ubuntu via un réseau local (LAN) Ordinateur1 a Ordinateur2 . Ai-je besoin de Samba sur les deux machines ? Si ce n'est pas le cas (par rapport à la question précédente), dans le cas d'un transfert de p2 à p3, il est possible d'utiliser Samba.

  2. Lorsque j'accède à une autre machine Ubuntu à partir d'Ubuntu, sans définir les droits d'accès aux fichiers et aux répertoires sur la machine. Ordinateur1 Je vois tous les fichiers sous / sur Ordinateur2 . Existe-t-il un moyen d'empêcher cette visibilité ? Comment définir les permissions 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 à une autre machine Ubuntu : l'utilisateur samba ou l'utilisateur administrateur système ? cela fonctionne-t-il sur les deux ? puis-je l'utiliser sans mot de passe ?

  4. Comment puis-je partager des fichiers sans utiliser l'interface graphique samba ou le terminal ?

  5. Pourquoi Ordinateur2 ne s'affiche pas sur ma connexion réseau dans Ordinateur1 ?(sans utiliser l'option de connexion au serveur) pourquoi mon système linux ne fonctionne pas dans ce cas ? Screenshot of Nautilus

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

Aidez-moi à traverser cette épreuve

22voto

Bill B Points 829

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 :

enter image description here

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 .

1voto

user42348 Points 780

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

Question2 : Comment accéder à d'autres machines Ubuntu ? Si vous ne voulez pas que d'autres personnes puissent lire vos fichiers, vous pouvez utiliser ceci :

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

Mais bien sûr, l'utilisateur principal peut les lire.

1voto

Adam Towne Points 119

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X