====== Se connecter à un serveur SMBv1 ======
===== Le problème =====
==== Cas d'utilisation ====
Sur mon système Linux récent, je n'arrive plus à accéder à certains partages réseau (répertoires distants) Windows, voire à aucun. Ce dysfonctionnement apparaît souvent après une mise à jour du système.
Dans le cas ou seuls //certains// partages réseau deviennent invisibles ou inaccessibles, c'est probablement parce que les systèmes hébergeant ces partages utilisent une version trop ancienne de serveur de partage en réseau. Un cas typique est celui d'un NAS utilisé comme disque partagé auquel on n'arrive //plus// à accéder :-(
==== Raisons ====
Deux principales raisons peuvent expliquer ce dysfonctionnement. Pour clarifier les choses, distinguons le "serveur de partage" qui est l'équipement informatique((Disque réseau, NAS, autre ordi…)) où sont stockées les données et "l'ordi client" (ou simplement "ordi") depuis lequel on tente d'accéder aux partages réseau.
- Depuis plusieurs années((Au 17 février 2023.)), les versions de Samba installées par les versions récentes de Linux sont configurées pour fonctionner avec SMBv2, au minimum. Si le serveur de partage ne fonctionne qu'avec SMBv1, l'ordi client refuse d'y accéder.
- Depuis l'ordi client, on accède généralement aux partages réseau à travers le navigateur de fichiers((Caja, Dolphin, Nemo, etc.)) installé avec notre environnement de bureau((Gnome, KDE, Cinnamon, Mate, etc.)). Pour que cela fonctionne, ce navigateur fait appel à une fonctionnalité particulière qui peut être devenue "inopérante", après la mise à jour.
==== Confirmation ====
Source : [[https://serverfault.com/questions/160396/listing-available-smb-shares-on-a-network-through-the-command-line-in-linux|Listing available smb shares on a network through the command line in linux]] (en) (serverfault.com)
Afin de contourner d'éventuels problèmes de configuration de l'environnement de bureau((Et de ses outils graphiques…)), il est conseillé de faire un état réel des partages accessibles sur le serveur, depuis l'ordi, en ligne de commande. Toute une série de commandes sont disponibles et devraient vous permettre de découvrir les serveurs et partages auxquels vous avez accès.
smbtree
affiche la liste des partages disponibles sur votre groupe de travail. Si vous n'indiquez pas de mot de passe, la commande affichera ce qui est visible pour une utilisatrice anonyme.
smbclient -L serveur-de-partages
où "serveur-de-partages" devra être remplacé par le nom de votre serveur, par exemple :"nas.lan".
Cette commande affichera la liste de partages proposés et accessibles depuis l'ordi. Votre mot de passe dans le groupe associé à ce serveur vous sera demandé. Si vous n'indiquez pas de mot de passe, la commande affichera ce qui est visible pour une utilisatrice anonyme.
nmblookup -S '*'
affichera, entre autres, les noms netbios et adresses IP des différents serveurs.
===== Solutions =====
==== SMBv1 ====
Pour qu'un ordi Linux récent se connecte à un serveur en utilisant SMBv1, il faut le lui imposer. Par défaut, il refusera d'établir une telle connexion parce qu'elle n'est pas sûre. Autrement dit, se connecter en utilisant SMBv1 ouvre une faille de sécurité sur son ordi.
Je recommande de limiter l'utilisation de SMBv1 à un réseau sécurisé auquel ne sont connectés que des équipements informatiques sûrs((Concrètement, cela signifie que tous ces équipements fonctionnent avec un système d'exploitation libre, maintenu et à jour.)).
Sous Debian, on force l'utilisation de SMBv1 en modifiant le contenu du fichier "/etc/samba/smb.conf". Cette modification requiert d'avoir les droits d'administration de l'ordi((root, sudo.)) et se fait avec un éditeur de texte. Par exemple :
sudoedit /etc/samba/smb.conf
Dans ce fichier, on ajoute ou modifie des lignes pour obtenir la configuration suivante :
client lanman auth = yes
ntlm auth = yes
client min protocol = NT1
On enregistre les modifications qui sont immédiatement utilisées par toute nouvelle application ou commande que l'on lancera.
La [[#confirmation|technique de confirmation décrite précédemment]] vous permet alors de vérifier si les partages souhaités sont devenus accessibles.
==== Navigateur de fichier ====
Source : [[https://forums.linuxmint.com/viewtopic.php?t=371366|Problem after samba update]] (en) (forums.linuxmint.com)
Une fois le protocole SMBv1 autorisé sur son ordi, si le partage réseau n'apparaît toujours pas dans le navigateur de fichiers, une solution passe par la création de raccourcis. La principale difficulté est alors d'identifier l'URL((Les URL dans le cas de plusieurs partages.)) du répertoire partagé. La [[#confirmation|technique de confirmation décrite précédemment]] peut vous y aider. L'URL aura la forme suivante :
smb://serveur-de-partage/commun/
où "commun" est le nom d'un partage.
L'astuce consiste alors à saisir cette URL dans le champ "Emplacement" du navigateur. Si le contenu du répertoire partagé s'affiche dans le navigateur, il ne reste plus qu'à créer un raccourci vers cet emplacement et à le placer dans le volet de navigation. Par exemple, dans //Caja//((Le navigateur de fichiers par défaut de //Mate//.)), "Favoris>Ajouter un favori".
===== Autres solutions et actions =====
==== Mise à jour des serveurs ====
Ne sont décrites ici que les actions à faire sur l'ordi client. L'idéal serait de mettre à jour le serveur de partage de manière à ce qu'il exploite une version récente de Samba, sans faille de sécurité. L'ordi client pourra y accéder sans avoir à en modifier les configuration 8-)
Cette mise à jour peut être plus moins complexe, en fonction du type d'équipement et de la qualité du service "support" lié à cet équipement.
==== Limitation des accès ====
Si le serveur ne peut être mis à jour, il est vivement conseillé de limiter drastiquement les accès. Une première solution est d'organiser son réseau local en sous-réseaux. L'équipement concerné sera connecté à un sous-réseau auquel ne pourront se connecter que des ordi que vous jugerez sûrs. Par là, il faut entendre un ordi où vous pourriez écrire en clair l'identifiant et le mot de passe permettant d'accéder à votre compte en banque ;-)
Une autre approche, combinable à la première, consiste à configurer aussi finement que possibles les droits d'accès au serveur. Tout dépendra des possibilités de configuration prévues par l'équipement.