81 votes

Comment partager des fichiers via le réseau local ?

J'ai un bureau (Ubuntu 13.04 & Win 7 Home Premium) et un Ordinateur portable (Ubuntu 12.04) les deux ayant des adaptateurs WiFi. Je dispose également d'un Routeur WiFi connecté à l'internet auquel mes deux ordinateurs peuvent accéder.

Je veux partager des fichiers entre mon ordinateur de bureau et mon ordinateur portable en utilisant le WiFi. (similaire à Homegroup sous Windows 7 mais sans utiliser de câbles Ethernet) . Comment puis-je configurer cela ?

Je veux partager des fichiers en utilisant les deux OS, si quelqu'un a des informations sur le partage de fichiers avec l'un des OS, merci de répondre !

90voto

user68186 Points 25067

Configuration du réseau

Connectez l'ordinateur de bureau et l'ordinateur portable au routeur WiFi en utilisant la configuration standard. Cela signifie que chacun des ordinateurs peut être connecté soit par WiFi, soit par des câbles Ethernet. Toutefois, si vous passez ultérieurement un (ou les deux) ordinateur(s) du WiFi au câble Ethernet (ou vice versa), l'adresse IP locale de cet ordinateur changera probablement. Cela affectera la configuration du partage de fichiers.

Pour vérifier que les deux ordinateurs sont connectés, vérifiez que vous pouvez vous connecter à Internet à partir des deux ordinateurs.

En option : Dans la configuration du routeur, voyez les adresses IP locales attribuées à l'ordinateur de bureau et à l'ordinateur portable. Elles peuvent ressembler à 192.168.0.100 ou 192.168.1.199. S'il existe une option permettant d'attribuer 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-le si vous voulez. Faites un clic droit sur l'icône du dossier et choisissez "Options de partage". Une nouvelle fenêtre s'ouvre :

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 dans ce dossier". Cela vous permettra à vous, l'utilisateur du bureau Windows, de créer et de supprimer des fichiers dans ce dossier.

La case à cocher "Accès invité" est explicite. Cela peut être utile si votre ID utilisateur Windows n'est pas exactement le même que votre ID 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 de l'ordinateur portable lorsqu'il vous le demande. Vous serez peut-être invité à installer d'autres logiciels, par exemple libpam-smbpass . Installez tous les logiciels. Il vous demandera de redémarrer les services et cliquez sur Oui.

Étape 2. Ouvrez la fenêtre des propriétés du dossier "Public", en faisant un clic droit dessus. Allez dans l'onglet "Permissions" et assurez-vous qu'il ressemble à ceci :

enter image description here

Cliquez sur le bouton "Modifier les permissions des fichiers joints" et assurez-vous que cela ressemble à ceci :

enter image description here

Vous devriez maintenant être en mesure d'é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 que vous le placez dans le dossier public de l'ordinateur portable, vous risquez de ne pas pouvoir ouvrir ce fichier lorsque vous vous rendrez sur l'ordinateur portable. Cela est dû au fait que Windows et Ubuntu ne comprennent pas la propriété et les autorisations des fichiers de l'autre. Ainsi, sur l'ordinateur portable Ubuntu, le fichier créé par Windows appartient à "Personne". Vous devrez ouvrir Nautilus en tant qu'administrateur et changez la propriété et les permissions de lecture-écriture pendant que vous êtes dans l'ordinateur portable.

Étape 3. Allez dans le Windows de l'ordinateur de bureau et ouvrez Explorateur Windows Cliquez sur le triangle à côté de Réseau sur le panneau de gauche. Dans la liste déroulante, vous devriez être en mesure de sélectionnez le nom de l'ordinateur portable exécutant Ubuntu .

Vous devriez maintenant être en mesure de voir votre dossier partagé (disons "Public") depuis l'ordinateur portable dans l'Explorateur Windows. Cliquez sur le dossier "Public" et voyez les fichiers dans le dossier. Vous devriez être en mesure de copier les fichiers du dossier Public dans Ubuntu vers votre dossier local Windows.

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


Ubuntu Windows

Étape 1 Configurez le partage de dossiers Windows en utilisant les méthodes disponibles pour Windows. Suivez les étapes du lien ci-dessus pour la partie Windows.

Étape 2 Ouvrez un terminal dans 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 modifiez-le pour qu'il ressemble à ceci

   name resolve order = bcast lmhosts host wins 

Notez qu'il n'y a pas de ; au début de la ligne édité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, le navigateur de fichiers et cliquez sur Réseau sur le panneau de gauche. Cliquez sur "Parcourir le réseau" Cliquez sur les icônes dans la fenêtre principale du réseau de Nautilus et trouvez votre bureau Windows et votre dossier partagé. Vérifiez que vous pouvez copier des fichiers depuis et vers ce dossier.

Voir Erreur "Failed to retrieve share list from server" lors de la navigation d'un partage avec Nautilus pour la référence sur l'édition du smb.conf.


Ubuntu Ubuntu

Démarrez le bureau avec Ubuntu.

Sur l'ordinateur de bureau et l'ordinateur portable, faites ce qui suit pour vous assurer que ssh-server est installé :

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

sudo apt-get install openssh-server

Saisissez votre mot de passe lorsque vous y êtes invité. Le curseur ne se déplace pas lorsque vous saisissez le mot de passe. Cette situation est normale.

Ceci va installer le serveur ssh s'il n'est pas déjà installé. S'il est déjà installé, elle ne fera rien.

Le bureau d'abord :

Ouvrez Nautilus et trouvez l'élément de menu "Autres emplacements". En bas, trouvez "Connecter au serveur" :

sftp connection7

Sous Adresse du serveur, entrez :

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

donde laptop_user_id est l'ID utilisateur que vous avez créé pour votre ordinateur portable. Vous pouvez trouver votre ID utilisateur en tapant whoami dans un terminal. Et laptop_name est le nom que vous avez donné à l'ordinateur portable lorsque vous avez installé Ubuntu.

Si vous voulez partager une partition dans 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

Remplacer path/to/.../drive avec le chemin réel.

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

Appuyez sur Connect . Vous verrez apparaître une boîte de dialogue de mot de passe :

Password for SSH

Entrez le mot de passe associé à laptop_user_id et sélectionnez si vous voulez que le mot de passe soit mémorisé ou non. Cliquez à nouveau sur Connect .

Maintenant, vous devriez voir votre dossier personnel de l'ordinateur portable.

Remarquez qu'il y a une nouvelle entrée sous Réseau sur le panneau gauche de Nautilus qui commence par laptop_user_id . Faites un clic droit dessus et choisissez "Ajouter un signet" pour créer un signet permanent pour le dossier d'accueil de votre ordinateur portable dans le Nautilus du Bureau.

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

Maintenant, l'ordinateur portable

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

13voto

Je vais proposer quelques 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 habituels, de sorte que tous les systèmes d'exploitation ont été contraints de l'implémenter !

Trouvez votre IP sur l'ordinateur source, par ex. 192.168.0.10 . Sur Ubuntu :

ifconfig

Créez un serveur dans un répertoire qui contient le fichier que vous voulez transférer. Avec Python 3 (le Python par défaut sur Ubuntu 20.04 et plus) :

python3 -m http.server 8080

ou en Python 2 :

python -m SimpleHTTPServer 8080

Sur l'ordinateur récepteur, 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 que cette méthode soit rapide / robuste, mais elle est l'une des plus simples à mettre en place et portable.

Des alternatives plus rapides sont discutées à l'adresse suivante : 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

Assurez-vous d'abord que vous pouvez passer en SSH d'un ordinateur à l'autre :

ssh server-username@192.168.0.10

Vous pouvez créer un nouveau compte pour l'utilisateur si vous voulez garder votre mot de passe privé.

Vous pourriez avoir besoin de fonctionner 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 au client, il suffit de le faire :

rsync -av server-username@192.168.0.10:/full/path/to/remote/directory .

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

rsync -av 'server-username@192.168.0.10:/full/path/to/remote/directory "/full/path/to/remote/directory with space"' .

Il s'agit de la méthode du plus petit dénominateur commun : la plus robuste, la plus efficace, largement disponible sous Linux et dont la sécurité repose sur des autorisations de fichiers et des schémas d'utilisation bien connus.

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

NFS

Encore une fois, principalement pour deux machines Ubuntu, il s'agit du "SAMBA pour Linux", avec un support intégré au noyau Linux : https://en.wikipedia.org/wiki/Network_File_System

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

L'installation et le dépannage sont potentiellement un peu plus difficiles que rsync mais tout à fait réalisable, c'est un bon article : https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-16-04

Il existe peut-être aussi une implémentation Windows : https://docs.microsoft.com/en-us/Windows-server/storage/nfs/nfs-overview mais je suppose que Microsoft doit donner un meilleur support à son propre protocole SMB.

scp

Cela fonctionne par SSH, vous aurez donc besoin d'un login sur la machine distante.

Une fois que vous êtes en mesure de SSH, vous pouvez copier des fichiers individuels avec scp comme :

scp username@remote-hostname:/path/to/remote/src path/to/local/dest
scp path/to/local/src username@remote-hostname:/path/to/remote/dest 

SSHFS

Cela fonctionne également par SSH, donc une fois encore, une connexion SSH est requise.

Avec SSHFS, vous créez un montage via SSH. C'est un peu comme NFS, mais plus facile à configurer et probablement plus lent :

sudo sshfs username@remote-hostname:/path/to/remote/src path/to/local/dir

path/to/local/dir contient maintenant le même contenu que /path/to/remote/src et se synchronise automatiquement.

3voto

Ranjit Konkar Points 1

Mise à jour : il y a beaucoup d'alternatives pour différents cas d'utilisation ici https://stackoverflow.com/questions/12905426/what-is-a-faster-alternative-to-pythons-http-server-or-simplehttpserver?rq=1


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 rapide avec tout appareil doté d'un navigateur.

Exemples :

  • servefile nom de fichier # sert juste un fichier


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

  • servefile -u ~/Pictures # Vous permet de télécharger des fichiers dans Photos dossier

upload files

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

content of the folder

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

enter image description here

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

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