Réseau Linux · 5 min read · Dec 11, 2025
Parcourir le réseau Windows avec votre machine Linux avec montage automatique et découverte de tous les hôtes et partages.
La version la plus récente que vous trouverez à :
http://linux.bononline.nl/linux/automountsmbshares/index.php
Index
- Introduction et résumé
Introduction
Depuis un certain temps, je cherche un bon moyen de laisser mon ordinateur découvrir le réseau Windows et monter des partages à la demande. Il n’y a pas de solution suffisamment bonne pour le moment. Après avoir essayé les kioslaves dans le bureau de mon choix (KDE) et les programmes FUSE Fusesmb et SmbNetFs, je n’étais pas vraiment satisfait. Il devait y avoir un moyen de laisser mon ordinateur découvrir tous les groupes de travail/domaines, les hôtes et les partages, et monter un partage sur un hôte à la demande. Certains diront : montez les partages de votre choix à la main, et c’est parti. Mais non !! Ce n’est pas ce que je veux. Je peux laisser mon ordinateur découvrir automatiquement tous les hôtes et partages disponibles, et monter le partage uniquement lorsque nécessaire. Cela devrait être possible ! Et après avoir essayé, j’ai découvert que c’est le cas !
Les problèmes suivants sont nécessaires à mon avis :
découverte automatique du réseau SMB (domaines, hôtes et partages)
construction d’une représentation qui a du sens pour les utilisateurs connectés dans leur répertoire personnel
montage automatique des partages à la demande
démontage automatique des partages après un certain temps d’inutilisation
utilisation d’un système de fichiers noyau comme SMBFS ou CIFS
indépendant d’un gestionnaire de bureau
support d’autres services réseau comme SSH et FTP
Le programme FUSE Fusesmb se rapproche beaucoup de ce que je recherche, mais manque des capacités étendues que CIFS possède, comme la bonne présentation des permissions, le support d’inotify, de symlink et ATTR/ACL. Il m’a fallu un certain temps pour comprendre pourquoi le programme FUSE manque de ces fonctionnalités. FuseSMB est basé sur la bibliothèque smbclient smbclient.so, qui fait partie du package Samba, et n’a rien à voir avec smbfs ou cifs.
Le résultat
Le résultat de cette construction est un répertoire lié au réseau (Global Network) dans votre répertoire personnel, où l’automonteur fournit un arbre navigable pour accéder à tous les services réseau pris en charge.
À ce moment, il prend en charge les services SMB et SSH (je travaille sur FTP). Accéder au “point de montage réseau” :
/home/sbon/Global Network/
Hôtes SSH
Réseau Windows
En accédant au Réseau Windows (==smb), tous les groupes de travail et/ou domaines apparaissent :
/home/sbon/Global Network/
Hôtes SSH
Réseau Windows
BONONLINE
CWWERKGROEP
En entrant dans le groupe de travail CWWERKGROEP, tous les serveurs et autres hôtes apparaissent :
/home/sbon/Global Network/
Hôtes SSH
Réseau Windows
BONONLINE
CWWERKGROEP
ROUTER
PC1
En entrant dans le serveur ROUTER, les partages disponibles pour l’utilisateur connecté apparaissent :
/home/sbon/Global Network/
Hôtes SSH
Réseau Windows
BONONLINE
CWWERKGROEP
ROUTER
cwdocumenten
public
sbon
En accédant à un partage, il est automatiquement monté (avec CIFS ou SMBFS). L’utilisation de credentials est prise en charge, les connexions invitées sont par défaut.
Pour construire la “carte de montage multiple” pour le service smb, un cache réseau est utilisé. Il fournit des informations sur les groupes de travail et/ou domaines, les hôtes et les serveurs et partages disponibles. Il est maintenu par quelques scripts, qui utilisent certaines utilitaires (nbtscan pour déterminer les hôtes et groupes de travail/domaines et smbclient pour déterminer les partages par hôte).
En accédant aux hôtes SSH (=ssh), tous les hôtes auxquels cet utilisateur a accès apparaissent :
/home/sbon/Global Network/
Hôtes SSH
192.168.0.2
Réseau Windows
Ici, aucun cache n’est utilisé pour créer cet arbre, mais le fichier .known_hosts. De plus, il n’y avait pas de mount.sshfs disponible. J’en ai créé un, en utilisant FUSE et sshfs. (et umount.sshfs).
Maintenant, en accédant à l’hôte 192.168.0.2, la racine sur 192.168.0.2 est montée.
Comment ça fonctionne
Cette construction utilise l’automonteur. Lorsqu’un utilisateur se connecte, et qu’une nouvelle session commence, un “point de montage réseau” est ajouté au fichier auto.master et le démon automonteur reçoit un signal de “rechargement”. Ce point de montage, nommé par défaut “Global Network”, est dans le répertoire personnel de l’utilisateur. Lié à cela est un script (auto.network) qui crée une carte, basée sur tous les services réseau pris en charge et les ressources découvertes. Avec l’option de navigation, cela fournit une carte navigable, où les partages/hôtes sont montés lorsqu’ils sont accédés.
Lorsque l’utilisateur se déconnecte, et donc la session se termine, le point de montage est à nouveau supprimé, et le démon automonteur reçoit à nouveau un signal de rechargement pour rendre les modifications effectives.
Ici, la capacité de KDM à exécuter des scripts avec des privilèges root au début et à la fin d’une session est utilisée.
À ce moment, seuls SMB et SSH sont pris en charge.
Problèmes connus
Il y a quelques goulets d’étranglement :
- lorsqu’un partage est ajouté, un hôte passe hors ligne ou quoi que ce soit d’autre change dans l’environnement smb, il faut un certain temps avant qu’il soit également visible dans le cache. Ce cache est maintenu par quelques scripts, qui fonctionnent avec un mécanisme basé sur le “pull”. Deuxièmement, l’automonteur ne détecte pas par lui-même que les données dans le cache ont changé. Il ne renouvelle que ses propres données (la carte de montage multiple) après un délai, et même alors il ne récupère pas complètement tous les changements.
- l’automonteur est instruit de présenter une carte de montage navigable. Cela signifie que les répertoires de niveau supérieur sont toujours disponibles. C’est une très bonne chose, les réseaux disponibles sont toujours visibles et accessibles à l’utilisateur, même après un délai. En pratique, parfois l’un des “services réseau” disparaît…
- l’automonteur a des problèmes lorsqu’il démarre avec un fichier auto.master vide (et des inclusions vides). Au démarrage, lorsqu’aucun utilisateur n’est connecté, et donc aucun point de montage réseau géré par autofs, l’automonteur doit être démarré avec une carte vide.
Liens
Accéder aux partages Windows ou Samba en utilisant autofs
guide pour configurer autofs pour les partages SMB, en utilisant des fichiers existants ;
Intégrer votre hôte Linux dans un environnement Windows
un guide pour configurer autofs pour accéder aux partages d’une manière alternative.
COMMENT FAIRE Automount des systèmes de fichiers (AUTOFS) / udev avec autofs
Ici, presque la même construction est utilisée pour monter du matériel en utilisant autofs avec udev. Ici aussi, les points de montage sont ajoutés et supprimés dynamiquement au fichier auto.master.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.