web-dev-qa-db-fra.com

Comment partager des fichiers via le réseau local?

J'ai un ordinateur de bureau (Ubuntu 13.04 & Win 7 Home Premium) et un ordinateur portable (Ubuntu 12.04), les deux ayant des adaptateurs WiFi. J'ai aussi un routeur WiFi connecté à Internet auquel mes deux ordinateurs peuvent accéder.

Je souhaite partager des fichiers entre mon ordinateur de bureau et mon ordinateur portable via WiFi (similaire au groupe résidentiel sur Windows 7 mais sans utiliser de câbles Ethernet) . Comment puis-je configurer cela?

Je souhaite partager des fichiers à l'aide des deux systèmes d'exploitation. Si quelqu'un a des informations sur le partage de fichiers avec l'un des systèmes d'exploitation, répondez!

65
Gaurav

Configuration du réseau

Connectez l'ordinateur de bureau et l'ordinateur portable au routeur WiFi à l'aide de la configuration standard. Pour vérifier que les deux ordinateurs sont connectés, vérifiez que vous pouvez vous connecter à Internet à partir des deux ordinateurs.

Facultatif: Dans la configuration du routeur, reportez-vous aux adresses IP locales attribuées au bureau et à l'ordinateur portable. Celles-ci peuvent ressembler à 192.168.0.100 ou 192.168.1.199. S'il existe une option pour affecter ces adresses IP spécifiques de manière permanente dans le routeur, vous pouvez le faire.


Windows → Ubuntu

Étape 1 Sur l'ordinateur portable, créez un dossier que vous souhaitez partager. Il peut y avoir un dossier appelé "Public", choisissez celui-là si vous le souhaitez. Faites un clic droit sur l'icône du dossier et choisissez "Options de partage". Une nouvelle fenêtre s'ouvrira:

enter image description here

Cochez la case "Partager ce dossier".

Vous pouvez également cocher les deux autres cases "Autoriser les autres à créer et à supprimer des fichiers de ce dossier". Cela vous permettra à l'utilisateur Windows du bureau de créer et de supprimer des fichiers sur ce dossier.

La case à cocher "Accès invité" est explicite. Cela peut être utile si votre identifiant utilisateur Windows n’est pas exactement le même que votre identifiant utilisateur Ubuntu.

Il peut vous dire que le service de partage n'est pas installé:

enter image description here

Cliquez sur "Installer le service" et laissez-le installer le logiciel en fournissant le mot de passe du compte d'utilisateur du portable lorsque vous y êtes invité. Vous serez peut-être invité à installer davantage de logiciels tels que libpam-smbpass. Installez tous les logiciels. Il vous demandera de redémarrer les services et de cliquer sur Oui.

Étape 2. Ouvrez la fenêtre des propriétés du dossier "Public" en cliquant dessus avec le bouton droit de la souris. Allez sur l'onglet autorisations et assurez-vous qu'il ressemble à ceci:

enter image description here

Cliquez sur le bouton "Modifier les autorisations des fichiers joints" et assurez-vous qu'il ressemble à ceci:

enter image description here

Vous devriez maintenant pouvoir éditer les fichiers créés dans Ubuntu dans le dossier "Public" de l'ordinateur portable dans l'Explorateur Windows.

Toutefois, si vous créez un fichier dans Windows et le placez dans le dossier Public de l'ordinateur portable, vous ne pourrez peut-être pas l'ouvrir lorsque vous accéderez à l'ordinateur portable. Cela est dû au fait que Windows et Ubuntu ne comprennent pas la propriété et les autorisations des fichiers. Ainsi, dans l'ordinateur portable Ubuntu, le fichier créé par Windows appartient à "Nobody". Vous devrez ouvrir Nautilus en tant qu'administrateur et modifier les autorisations de propriété et de lecture-écriture lorsque vous vous trouvez dans l'ordinateur portable.

Étape 3. Accédez à Windows sur l'ordinateur de bureau et ouvrez l'Explorateur Windows , Cliquez sur le triangle en regard de Réseau dans le panneau de gauche. Dans la liste déroulante, vous devriez pouvoir sélectionner le nom de l'ordinateur portable sous Ubuntu .

Vous devriez maintenant pouvoir voir votre dossier partagé (dites "Public") à partir de l'ordinateur portable dans l'Explorateur Windows. Cliquez sur le dossier "Public" et voyez les fichiers dans le dossier. Vous devriez pouvoir copier des fichiers du dossier Public d’Ubuntu dans votre dossier local Windows.

Voici un guide étape par étape avec quelques détails supplémentaires.


Ubuntu → Windows

Étape 1 Configurez le partage de dossier Windows à l'aide des méthodes disponibles pour Windows. suivez les étapes du lien ci-dessus pour la partie Windows.

Étape 2 Ouvrez un terminal de l'ordinateur portable Ubuntu en appuyant sur Ctrl+Alt+T et entrez:

Sudo -H gedit /etc/samba/smb.conf

et cherchez la ligne:

;   name resolve order = lmhosts Host wins bcast

et le modifier pour ressembler à ceci

   name resolve order = bcast lmhosts Host wins 

Remarque, il n'y a pas; au début de la ligne modifiée. Enregistrez le fichier et quittez gedit. Entrez les deux lignes suivantes (une à la fois) pour arrêter et démarrer samba:

Sudo stop smbd
Sudo start smbd

Étape 3 Sur l'ordinateur portable, ouvrez Nautilus, l'explorateur de fichiers et cliquez sur Réseau dans le panneau de gauche. . Cliquez sur "Parcourir le réseau" Cliquez sur les icônes de la fenêtre Réseau principale de Nautilus pour trouver votre bureau Windows et votre dossier partagé. Vérifiez que vous pouvez copier des fichiers depuis et vers ce dossier.

Voir Erreur "Impossible de récupérer la liste de partage à partir du serveur" lors de la navigation dans un partage avec Nautilus Pour référence lors de la modification du fichier smb.conf.


Ubuntu → Ubuntu

Démarrez le bureau sur Ubuntu.

Sur le bureau et sur l'ordinateur portable, procédez comme suit pour vous assurer que ssh-server est installé:

Ouvrez un terminal en appuyant sur Ctrl+Alt+T et entrez

Sudo apt-get install openssh-server

Entrez votre mot de passe lorsque vous y êtes invité. Le curseur ne bouge pas lorsque vous entrez le mot de passe. C'est normal.

Cela installera le serveur ssh s'il n'est pas déjà installé. Si déjà installé, il ne fera rien.

Le bureau d'abord:

Ouvrez Nautilus et recherchez l’option de menu "Autres emplacements". En bas, trouvez Connect to Server:

sftp connection[7]

Sous Adresse du serveur, entrez:

sftp://laptop_user_id@laptop_name.local/home/laptop_user_id

laptop_user_id est l'ID utilisateur que vous avez créé pour votre ordinateur portable. Vous pouvez trouver votre ID utilisateur en tapant whoamidans un terminal. Et laptop_name est le nom que vous avez donné à l'ordinateur portable lors de l'installation d'Ubuntu.

Si vous souhaitez partager une partition sur votre deuxième disque dur du bureau, sous Adresse du serveur, entrez:

sftp://desktop_user_id@desktop_name.local/path/to/the/mount/point/of/the/partition/in/second/hard/drive

Remplacez path/to/.../drive par le chemin réel.

Alternativement, si vous connaissez l'adresse IP locale de votre ordinateur portable, vous pouvez remplacer laptop_name.local par l'adresse IP locale de l'ordinateur portable.

Appuyez sur Connectname__. Vous verrez une boîte de dialogue de mot de passe:

Password for SSH

Entrez le mot de passe associé à laptop_user_id et indiquez si vous souhaitez que le mot de passe soit mémorisé ou non. Cliquez à nouveau sur Connectname__.

Vous devriez maintenant voir votre dossier personnel de l'ordinateur portable.

Notez qu'il y a une nouvelle entrée sous Réseau dans le panneau de gauche de Nautilus qui commence par laptop_user_id. Cliquez dessus avec le bouton droit de la souris et choisissez "Ajouter un signet" pour créer un signet permanent pour le dossier de départ de votre ordinateur portable dans le Nautilus du Bureau.

Voir cette page pour les images d'une ancienne version.

Maintenant l'ordinateur portable

Suivez le même processus que le bureau ci-dessus.

76
user68186

Je vais proposer des alternatives qui ne ressemblent pas exactement à SAMBA, mais qui pourraient être meilleures pour d'autres cas d'utilisation.

serveur HTTP

HTTP est le protocole utilisé pour accéder aux sites Web classiques. Tous les systèmes d'exploitation étaient donc obligés de le mettre en œuvre!

Recherchez votre adresse IP sur l'ordinateur source, par exemple. 192.168.0.10. Sur Ubuntu:

ifconfig

Créez un serveur dans un répertoire contenant le fichier que vous souhaitez transférer:

python -m SimpleHTTPServer 8080

Sur l'ordinateur destinataire, ouvrez un navigateur et visitez:

192.168.0.10:8080

Vous pouvez maintenant naviguer dans les répertoires jusqu'au fichier que vous voulez.

Je ne suis pas sûr si cette méthode est rapide/robuste, mais c'est l'une des plus simples à installer et à transporter.

Des alternatives plus rapides sont discutées à: https://stackoverflow.com/questions/12905426/what-is-a-faster-alternative-to-pythons-simplehttpserver

rsync

Entre deux ordinateurs Ubuntu, c'est une excellente option: https://en.wikipedia.org/wiki/Rsync

Tout d’abord, assurez-vous que vous pouvez SSH d’un ordinateur à l’autre:

ssh [email protected]

Vous pouvez créer un nouveau compte pour l'utilisateur si vous souhaitez que votre mot de passe reste confidentiel.

Vous devrez peut-être exécuter sur le serveur et le client:

Sudo apt-get install ssh

Ensuite, une fois que vous avez réussi à vous connecter, pour copier des fichiers du serveur sur le client, faites simplement:

rsync -av [email protected]:/full/path/to/remote/directory .

Plusieurs répertoires peuvent être copiés en une fois, comme expliqué à la section https://unix.stackexchange.com/questions/308810/copying-multiple-files-using-rsync-over-ssh :

rsync -av '[email protected]:/full/path/to/remote/directory "/full/path/to/remote/directory with space"' .

C’est la méthode du plus petit dénominateur commun: la plus robuste, la plus efficace, largement disponible sous Linux et la sécurité repose sur des autorisations de fichiers bien connues + des schémas d’utilisateur.

Cela pourrait ne pas être facile sur Windows pensé:

NFS

Encore une fois, principalement pour deux machines Ubuntu, il s’agit du SAMBA pour Linux, avec une prise en charge intégrée dans le noyau Linux: https://en.wikipedia.org/wiki/Network_File_System

Fondamentalement, il vous permet de mount un dossier du serveur sur l'invité.

La configuration et le dépannage sont potentiellement un peu plus difficiles que rsync, mais certainement réalisables, c’est un bon article: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs -mount-on-ubuntu-16-04

Peut-être existe-t-il également une implémentation de Windows: https://docs.Microsoft.com/en-us/windows-server/storage/nfs/nfs-overview mais je suppose que Microsoft doit fournir un meilleur support à son propre protocole SMB.

Sudo apt-get install servefile

servefile est parfait pour le partage occasionnel, il exécute un serveur http sur le port 8080 (sauf si -p < port > est spécifié), afin qu'il puisse communiquer rapidement avec tout appareil doté d'un navigateur.

Exemples:

  • servefile nom de fichier # sert uniquement un fichier


    J'obtiens 3 URL parce que j'ai 3 adresses IP de 3 réseaux locaux différents. Normalement, vous n'en obtenez qu'une, mais c'est génial, ça vous le montre.

  • servefile -u ~/Images # Vous permet de télécharger des fichiers dans Dossier Images

    upload files

  • servefile -l ~/Pictures # Sert le contenu du dossier.

    content of the folder

  • servefile -tc gzip ~/Pictures # construit un fichier tar à partir de n’importe quel fichier ou dossier et le compresse à la volée

    enter image description here

BTW Avec cette méthode, j'ai atteint une vitesse de transfert de 1 Gbps (vitesse maximale de mon réseau local).

1
Madacol