GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Durchsuchen Sie das Windows-Netzwerk mit Ihrem Linux-Rechner mit automatischem Mounten und Erkennen aller Hosts und Freigaben.

Die neueste Version finden Sie unter:

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

Index

  • 1. Einführung und Zusammenfassung

Einführung

Seit einiger Zeit suche ich nach einer guten Möglichkeit, meinen Computer das Windows-Netzwerk entdecken zu lassen und Freigaben bei Bedarf einzuhängen. Es gibt im Moment keine Lösung, die gut genug ist. Nach dem Ausprobieren der kioslaves im Desktop meiner Wahl (KDE) und den FUSE-Programmen Fusesmb und SmbNetFs war ich nicht wirklich zufrieden. Es musste eine Möglichkeit geben, meinen Computer alle Arbeitsgruppen/Domänen, Hosts und Freigaben erkennen zu lassen und bei Bedarf eine Freigabe auf einem Host bereitzustellen. Manch einer wird sagen:Von Hand die Scharen Ihrer Wahl montieren und los geht's. Aber nein!! Das ist nicht das, was ich will. Ich kann meinen Computer automatisch alle verfügbaren Hosts und Freigaben entdecken lassen und die Freigabe nur bei Bedarf mounten. Das sollte möglich sein! Und nachdem ich es versucht habe, habe ich herausgefunden, dass es so ist!

Die folgenden Punkte sind imho notwendig:

  • automatische Erkennung des SMB-Netzwerks (Domänen, Hosts und Freigaben)
  • Aufbau einer Darstellung, die für die in ihrem Homeverzeichnis angemeldeten Benutzer sinnvoll ist
  • automatisches Mounten von Anteilen bei Bedarf
  • automatisches Unmounten von Shares nach einiger Zeit ungenutzt
  • Verwendung eines Kernel-FS wie SMBFS oder CIFS
  • unabhängig von einem Desktop Manager
  • Unterstützung anderer Netzwerkdienste wie SSH und FTP

Das FUSE-Programm Fusesmb kommt dem, was ich suche, sehr nahe, aber es fehlen die erweiterten Fähigkeiten, die CIFS hat, wie die richtige Darstellung der Berechtigungen, Unterstützung von inotify, Symlink und ATTR/ACL. Ich habe einige Zeit gebraucht, um herauszufinden, warum dem FUSE-Programm diese Funktionen fehlen. FuseSMB basiert auf der smbclient-Bibliothek smbclient.so, die Teil des Samba-Pakets ist, und hat nichts mit smbfs oder cifs zu tun.

Das Ergebnis

Das Ergebnis dieser Konstruktion ist ein netzwerkbezogenes Verzeichnis (Globales Netzwerk) in Ihrem Homeverzeichnis, in dem der Automounter einen durchsuchbaren Baum bereitstellt, um auf alle unterstützten Netzwerkdienste zuzugreifen.

Im Moment unterstützt es die Dienste SMB und SSH (ich arbeite an FTP). Zugriff auf den "Netzwerk-Mountpoint":

/home/sbon/Global Network/
                       SSH-Hosts
                         Windows-Netzwerk

Beim Zugriff auf das Windows-Netzwerk (==smb) werden alle Arbeitsgruppen und/oder Domänen angezeigt:

/Home /Sbon /Global Network /
SSH -Hosts
Windows Network
Bononline
cwwerkGroep

Wenn Sie die Arbeitsgruppe CWWERKGROEP eingeben, werden alle Server und anderen Hosts angezeigt:

/Home /Sbon /Global Network /
SSH -Hosts
Windows Network
Bononline
cwwerkGroep
Router
PC1

Wenn Sie den Server-ROUTER eingeben, werden die Freigaben angezeigt, die dem verbindenden Benutzer zur Verfügung stehen:

/Home /Sbon /Global Network /
SSH -Hosts
Windows -Netzwerk
Bononline
cwwerkGroep
Router
cwdocumenten
public
Sbon

Beim Zugriff auf eine Freigabe wird diese automatisch gemountet (mit CIFS oder SMBFS). Die Verwendung von Anmeldeinformationen wird unterstützt, Gastanmeldungen sind die Standardeinstellung.

Um die "Multi-Mount-Map" für den smb-Dienst zu erstellen, wird ein Netzwerkcache verwendet. Es bietet Informationen zu Arbeitsgruppen und/oder Domänen. Hosts und Server und Freigaben verfügbar. Es wird von einigen Skripten verwaltet, die einige Dienstprogramme verwenden (nbtscan, um die Hosts und Arbeitsgruppen/Domänen zu ermitteln, und smbclient, um die Freigaben pro Host zu ermitteln).

Beim Zugriff auf die SSH-Hosts (=ssh) erscheinen alle Hosts, auf die dieser Benutzer Zugriff hat:

/home/sbon/Global Network/
                       SSH-Hosts
                           192.168.0.2
                        Windows-Netzwerk

Hier wird kein Cache verwendet, um diesen Baum zu erstellen, sondern die Datei .known_hosts. Weiterhin war keine mount.sshfs vorhanden. Ich habe eine mit FUSE und sshfs erstellt. (und umount.sshfs).
Beim Zugriff auf den Host 192.168.0.2 wird jetzt das Root-Verzeichnis auf 192.168.0.2 gemountet.

Wie funktioniert es

Diese Konstruktion verwendet den Automounter. Wenn sich ein Benutzer anmeldet und eine neue Sitzung beginnt, wird der Datei auto.master ein „networkmountpoint“ hinzugefügt und der Automounter-Daemon erhält ein „reload“-Signal. Dieser Mountpoint, Name default "Global Network", liegt im Homedirectory des Benutzers. Damit verbunden ist ein Skript (auto.network), das eine Karte erstellt, basierend auf allen unterstützten Netzwerkdiensten und entdeckten Ressourcen. Zusammen mit der Browse-Option bietet dies eine durchsuchbare Karte, auf der Shares/Hosts gemountet werden, wenn darauf zugegriffen wird.

Wenn sich der Benutzer abmeldet und somit die Sitzung endet, wird der Einhängepunkt wieder entfernt und der Automounter-Daemon erhält erneut ein Reload-Signal, um die Änderungen wirksam werden zu lassen.

Hier wird die Fähigkeit von KDM genutzt, Skripte mit Root-Rechten zu Beginn und am Ende einer Sitzung auszuführen.

Derzeit werden nur SMB und SSH unterstützt.

Bekannte Probleme

Es gibt einige Engpässe:
- Wenn eine Freigabe hinzugefügt wird, ein Host offline geht oder sich irgendetwas anderes in der SMB-Umgebung ändert, dauert es einige Zeit, bis es auch im Cache sichtbar ist. Dieser Cache wird durch ein Skript verwaltet, das mit einem "Pull"-basierten Mechanismus arbeitet. Zweitens erkennt der Automounter nicht selbst, dass sich die Daten im Cache geändert haben. Es erneuert seine eigenen Daten (die Multi-Mount-Map) nur nach einem Timeout, und selbst dann erhält es nicht alle Änderungen vollständig.
- Der Automounter wird angewiesen, eine durchsuchbare Mount-Map zu präsentieren. Das bedeutet, dass die Verzeichnisse der obersten Ebene immer verfügbar sind. Das ist eine sehr gute Sache, die verfügbaren Netzwerke sind immer sichtbar und für den Benutzer zugänglich, auch nach einem Timeout. In der Praxis verschwindet manchmal einer der "Netzwerkdienste"...
- der Automounter hat einige Probleme, wenn er mit einer leeren auto.master-Datei (und leeren Includes) startet. Beim Booten, wenn kein Benutzer angemeldet ist und somit keine von Autofs verwalteten Netzwerk-Mountpoints vorhanden sind, muss der Automounter mit einer leeren Map gestartet werden.

Zugriff auf Windows- oder Samba-Freigaben mit autofs

eine Anleitung zum Einrichten von Autofs für SMB-Freigaben unter Verwendung vorhandener Dateien;

Integrieren Ihres Linux-Hosts in eine Windows-Umgebung

eine Anleitung zum Einrichten von autofs, um auf alternative Weise auf Freigaben zuzugreifen.

HOWTO Automount-Dateisysteme (AUTOFS) / udev mit autofs

Hier wird fast die gleiche Konstruktion verwendet, um Hardware über autofs mit udev zu mounten. Auch hier werden Mountpoints dynamisch zur auto.master-Datei hinzugefügt und entfernt.


Linux
  1. Zeigen Sie die Netzwerkverbindungen Ihres Linux-Servers mit netstat an

  2. Überwachen Sie Befehle und Aufgaben mit dem Linux-Überwachungsbefehl

  3. Finden Sie Dateien und Verzeichnisse unter Linux mit dem Befehl find

  4. Erstellen Sie mit Fluxion unter Kali Linux einen bösen Zwilling Ihres Netzwerks

  5. Installieren Sie Linux Mint mit Windows 8 | Dual-Boot-Windows 8 und Linux Mint 12

So retten Sie Ihr Windows- oder Linux-System mit Rescatux

Sichern Sie Ihr Linux-Netzwerk mit firewall-cmd

Mounten und Zuordnen von Freigaben zwischen Windows und Linux mit Samba

ReaR:Sichern und stellen Sie Ihren Linux-Server vertrauensvoll wieder her

Ein Windows-Typ in einer Linux-Welt:YaST und der Desktop

Webentwicklung und fortgeschrittene Techniken mit Linux unter Windows (WSL)