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

    1. 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.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.