web-dev-qa-db-fra.com

Comment faire pour que mes dossiers partagés Ubuntu apparaissent sous le réseau dans Windows 10

Mon réseau domestique est le suivant:

  1. Serveur de fichiers -> Ubuntu 18.04
  2. Station de travail/appareil de jeu -> Windows 10
  3. Ordinateur portable Dev -> Ubuntu 18.04

Je veux que mes fichiers partagés fonctionnent facilement avec mes machines et aussi pour tous ceux qui sautent sur le réseau, comme des colocataires, etc.

Le serveur de fichiers a un disque SSD de 120 Go dans le raid 1 pour le démarrage, deux disques durs de 2 tb dans le raid 1 pour mes fichiers de développement appelés Dev et un lecteur de secours de 2 To partagé pour les supports accessibles au réseau dans ma maison, appelé Media.

J'ai partagé les dossiers en les ouvrant chacun, en allant dans les propriétés, en activant le partage, en accordant toutes les autorisations, en vérifiant les accès invités et en autorisant les autres à créer et à supprimer des fichiers de ce dossier. Je prévois de modifier les autorisations sur les lecteurs de développement plus tard, mais je dois juste que cela fonctionne en premier.

À partir de mon ordinateur portable, je peux accéder à Fichiers -> Autres emplacements et voir le serveur, puis cliquer sur un partage pour accéder à mes fichiers.

Sous Windows, si j'ouvre l'explorateur et clique sur Réseau, je ne peux pas voir le serveur. Je souhaite vraiment qu'il apparaisse ici car je ne veux pas avoir à mapper manuellement les lecteurs, je veux que les fichiers soient facilement accessibles.

Comment rendre les lecteurs réseau visibles sous réseau dans Windows 10? Dois-je utiliser Samba ou la méthode de partage fonctionne-t-elle bien?

1
benikens

[1] On dirait que vous utilisez déjà Samba. Veuillez vérifier en exécutant cette commande:

net usershare info --long

[2] Ubuntu 18.04 "enregistre" automatiquement votre serveur samba sur le reste du réseau à l'aide de mDNS (Avahi). Toutes les autres machines Linux ainsi que macOS peuvent "découvrir" cet enregistrement automatiquement.

[3] La raison pour laquelle Win10 ne peut pas détecter votre serveur est parce que, bien qu'il puisse utiliser mDNS, il ne sait pas comment analyser le réseau automatiquement. Au lieu de cela, il utilise NETBIOS et cela pose plusieurs problèmes:

[a] Win10 désactive SMB1 du côté client (ainsi que du côté serveur) et NETBIOS (la découverte du nom d’hôte ne résout pas la résolution de nom) et SMB1 sont liés; ils ne peuvent pas être reliés les uns aux autres. Vous pouvez le réactiver en allant dans Panneau de configuration> Programmes et fonctionnalités> Activer ou désactiver des fonctionnalités Windows> SMB 1.0/Prise en charge du partage de fichiers CIFS> SMB 1.0/CIFS Client.

[b] Mais vous devez ensuite respecter les règles NETBIOS, à savoir que votre nom d'hôte ne peut pas contenir plus de 15 caractères, entre autres. Ce genre de choses peut être corrigé dans smb.conf. Ce que vous pouvez faire est d’éditer /etc/samba/smb.conf et d’ajouter ces deux lignes juste en dessous de la ligne groupe de travail = WORKGROUP:

netbios name = ubserv1804
name resolve order = bcast Host lmhosts wins

Puis redémarrez samba dans cet ordre:

Sudo service smbd restart
Sudo service nmbd restart

Ensuite, attendez environ 10 minutes environ - sérieusement. NETBIOS est tellement primitif qu’un redémarrage de nmbd crée une confusion dans Windows et qu’il faut un peu pour qu’il redevienne normal.

2
Morbius1

J'ai une alternative à Windows 10 si quelqu'un est intéressé. J'ai soumis ceci comme demande de bogue/fonctionnalité dans le tableau de bord: https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1831441

Il existe dans github quelque chose qui a déjà été créé en grande partie. On peut l’utiliser dans Ubuntu, mais sa mise en oeuvre demande du travail:

[1] Télécharger le fichier:

wget https://github.com/christgau/wsdd/archive/master.Zip

[2] Décompressez:

unzip master.Zip

[3] Renommez le script python

Sudo mv wsdd-master/src/wsdd.py wsdd-master/src/wsdd

[4] Copiez-le dans/usr/bin

Sudo cp wsdd-master/src/wsdd /usr/bin

[5] Un fichier de service systemd est déjà fourni dans le package, il doit simplement être copié au bon emplacement:

Sudo cp wsdd-master/etc/systemd/wsdd.service /etc/systemd/system

[6] Le fichier wsdd.service doit être modifié pour supprimer les références à l'utilisateur nobody:

#User=nobody
#Group=nobody

[7] Activez ensuite le service:

Sudo systemctl daemon-reload
Sudo systemctl start wsdd
Sudo systemctl enable wsdd

Maintenant, Win10 peut découvrir le serveur Ubuntu avec son propre protocole WSD natif et il n’est pas nécessaire d’activer smb1 du côté client.

0
Morbius1