GNU/Linux >> Tutoriels Linux >  >> Linux

Navigation sur le réseau Windows avec votre machine Linux avec montage et découverte automatiques de tous les hôtes et partages.

La version la plus récente que vous trouverez sur :

http://linux.bononline.nl/linux/automountsmbshares/index.php

Index

  • 1. Introduction et résumé

Introduction

Depuis un certain temps, je cherchais un bon moyen de permettre à mon ordinateur de découvrir le réseau Windows et de monter des partages à la demande. Il n'y a pas de solution assez 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 socs 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 cela est nécessaire. Cela devrait être possible ! Et après avoir essayé, j'ai découvert que c'était le cas !

Les problèmes suivants sont nécessaires à mon humble avis :

  • découverte automatique du réseau SMB (domaines, hôtes et partages)
  • construction d'une représentation qui fait sens pour les utilisateurs connectés à 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 noyau fs comme SMBFS ou CIFS
  • indépendant d'un gestionnaire de bureau
  • prise en charge d'autres services réseau tels que SSH et FTP

Le programme FUSE Fusesmb est très proche de ce que je recherche, mais il lui manque les capacités étendues de CIFS, comme la bonne présentation des autorisations, la prise en charge d'inotify, de lien symbolique et d'ATTR/ACL. Il m'a fallu un certain temps pour comprendre pourquoi le programme FUSE ne disposait pas 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 une arborescence navigable pour accéder à tous les services réseau pris en charge.

En 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 /
Hosts SSH
Network Windows
Bononline
CWWerkgroep

En entrant dans le groupe de travail CWWERKGROEP, tous les serveurs et autres hôtes s'affichent :

/ Home / SBON / Global Network /
Hosts SSH
Network Windows
Bononline
CWWerkgroep
Router
PC1

En entrant dans le serveur ROUTEUR, les partages disponibles pour l'utilisateur qui se connecte apparaissent :

/ Home / SBON / Global Network /
Hosts SSH
Network Windows
Bononline
cwwerkgroep
router
cwDocumentEN
public
sbon

En accédant à un partage, il est automatiquement monté (avec CIFS ou SMBFS). L'utilisation des informations d'identification est prise en charge, les connexions d'invité sont la valeur par défaut.

Pour construire la "multi mount map" pour le service smb, un cache réseau est utilisé. Il fournit des informations sur les groupes de travail et/ou les domaines. hôtes et serveur et partages disponibles. Il est maintenu par certains scripts, qui utilisent certains utilitaires (nbtscan pour déterminer les hôtes et les 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, lors de l'accès à l'hôte 192.168.0.2, la racine sur 192.168.0.2 est montée.

Comment ça marche

Cette construction utilise l'automonteur. Lorsqu'un utilisateur se connecte et qu'une nouvelle session démarre, un "networkmountpoint" est ajouté au fichier auto.master et le démon automounter reçoit un signal "reload". Ce point de montage, nommé par défaut "Global Network", se trouve dans le répertoire personnel de l'utilisateur. Un script (auto.network) est lié à celui-ci et 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 lors de l'accès.

Lorsque l'utilisateur se déconnecte, et donc que la session se termine, le point de montage est à nouveau supprimé et le démon de montage automatique reçoit à nouveau un signal de rechargement pour que les modifications prennent effet.

Ici, la capacité de KDM à exécuter des scripts avec le privilège root au début et à la fin d'une session est utilisée.

Pour le moment, seuls SMB et SSH sont pris en charge.

Problèmes connus

Il y a quelques goulots d'étranglement :
- lorsqu'un partage est ajouté, un hôte se déconnecte ou quoi que ce soit d'autre change dans l'environnement smb, cela prend un certain temps lorsqu'il est également visible dans le cache. Ce cache est maintenu par un script, qui fonctionne avec un mécanisme basé sur "pull". Deuxièmement, l'automounter ne détecte pas par lui-même que les données du cache ont changé. Il ne renouvelle que ses propres données (la carte de montage multiple) après un délai d'attente, et même dans ce cas, il n'obtient pas complètement toutes les modifications.
- l'automonteur est chargé 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 timeout. En pratique, parfois l'un des "services réseau" disparaît...
- l'automonteur a quelques 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.

Accéder aux partages Windows ou Samba à l'aide d'autofs

un guide pour configurer autofs pour les partages SMB, en utilisant des fichiers existants ;

Intégration de votre hôte Linux dans un environnement Windows

un guide pour configurer autofs pour accéder aux partages d'une manière alternative.

HOWTO Montage automatique 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 dynamiquement ajoutés et supprimés du fichier auto.master.


Linux
  1. Affichez les connexions réseau de votre serveur Linux avec netstat

  2. Regardez les commandes et les tâches avec la commande Linux watch

  3. Rechercher des fichiers et des répertoires sous Linux avec la commande find

  4. Dans les coulisses avec les conteneurs Linux

  5. Créez un jumeau maléfique de votre réseau avec Fluxion sur Kali Linux

Comment sauver votre système Windows ou Linux avec Rescatux

Sécurisez votre réseau Linux avec firewall-cmd

Montage et mappage des partages entre Windows et Linux avec Samba

ReaR :sauvegardez et restaurez votre serveur Linux en toute confiance

Un gars Windows dans un monde Linux :YaST et le bureau

Développement Web et techniques avancées avec Linux sur Windows (WSL)