GNU/Linux >> Linux Esercitazione >  >> Linux

Navigazione nella rete Windows con la tua macchina Linux con montaggio e rilevamento automatico di tutti gli host e le condivisioni.

La versione più recente la troverai su:

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

Indice

  • 1. Introduzione e Riepilogo

Introduzione

Da tempo cercavo un buon modo per far scoprire al mio computer la rete Windows e montare condivisioni su richiesta. Non c'è una soluzione abbastanza buona per questo momento. Dopo aver provato i kioslave nel desktop di mia scelta (KDE) e i programmi FUSE Fusesmb e SmbNetFs, non sono rimasto molto soddisfatto. Doveva esserci un modo per consentire al mio computer di scoprire tutti i gruppi di lavoro/domini, gli host e le condivisioni e montare una condivisione su un host su richiesta. Qualcuno dirà:monta a mano le azioni di tua scelta e il gioco è fatto. Ma no!! Questo non è quello che voglio. Posso lasciare che il mio computer scopra automaticamente tutti gli host e le condivisioni disponibili e monti la condivisione solo quando necessario. Questo dovrebbe essere possibile! E dopo aver provato ho scoperto che lo è!

I seguenti problemi sono necessari imho:

  • scoperta automatica della rete SMB (domini, host e condivisioni)
  • costruzione di una rappresentazione che abbia senso per gli utenti registrati nella loro home directory
  • Montaggio automatico di azioni su richiesta
  • smontaggio automatico delle condivisioni dopo un certo periodo di inutilizzo
  • uso di un kernel fs come SMBFS o CIFS
  • indipendente da un Desktop Manager
  • supporto di altri servizi di rete come SSH e FTP

Il programma FUSE Fusesmb si avvicina molto a quello che sto cercando, ma manca delle capacità estese di CIFS, come la corretta presentazione dei permessi, il supporto di inotify, symlink e ATTR/ACL. Mi ci è voluto del tempo per scoprire perché il programma FUSE non dispone di queste funzionalità. FuseSMB si basa sulla libreria smbclient smbclient.so, che fa parte del pacchetto Samba e non ha nulla a che fare con smbfs o cifs.

Il risultato

Il risultato di questa costruzione è una directory relativa alla rete (rete globale) nella tua homedirectory, in cui l'automounter fornisce un albero navigabile per accedere a tutti i servizi di rete supportati.

In questo momento supporta i servizi SMB e SSH (sto lavorando su FTP). Accesso al "punto di montaggio della rete":

/home/sbon/Global Network/
                       Host SSH
                       Rete Windows

Accedendo alla Rete Windows (==smb), compaiono tutti i gruppi di lavoro e/o domini:

/Home /SBON /Global Network /
host ssh
rete Windows
bononline
cwwerkgroep

Entrando nel gruppo di lavoro CWWERKGROEP, vengono visualizzati tutti i server e gli altri host:

/Home /SBON /Global Network /
host ssh
rete Windows
bononline
cwwerkgroep
router
pc1

Entrando nel server ROUTER, compaiono le condivisioni a disposizione dell'utente che si connette:

/Home /SBON /Global Network /
host ssh
rete Windows
bononline
cwwerkgroep
router
cwdocumenta

Accedendo a una condivisione, questa viene automaticamente montata (con CIFS o SMBFS). L'uso delle credenziali è supportato, gli accessi guest sono l'impostazione predefinita.

Per creare la "mappa multi mount" per il servizio smb, viene utilizzata una cache di rete. Fornisce informazioni su gruppi di lavoro e/o domini. host e server e condivisioni disponibili. È gestito da alcuni script, che utilizzano alcune utilità (nbtscan per determinare gli host e i gruppi di lavoro/domini e smbclient per determinare le condivisioni per host).

Accedendo agli host SSH (=ssh), verranno visualizzati tutti gli host a cui questo utente ha accesso:

/home/sbon/Global Network/
                       Host SSH
                          192.168.0.2
                       Rete Windows

Qui non viene utilizzata alcuna cache per creare questo albero, ma il file .known_hosts. Inoltre non era disponibile mount.sshfs. Ne ho creato uno, usando FUSE e sshfs. (e umount.sshfs).
Ora, quando si accede all'host 192.168.0.2, viene montata la radice su 192.168.0.2.

Come funziona

Questa costruzione fa uso dell'automounter. Quando un utente effettua il login e inizia una nuova sessione, viene aggiunto un "punto di montaggio di rete" al file auto.master e il daemon di montaggio automatico riceve un segnale di "ricarica". Questo punto di montaggio, il nome predefinito "Rete globale" si trova nella directory home dell'utente. Ad esso è collegato uno script (auto.network) che crea una mappa, basata su tutti i servizi di rete supportati e sulle risorse scoperte. Insieme all'opzione Sfoglia, fornisce una mappa navigabile, in cui le condivisioni/gli host vengono montati quando si accede.

Quando l'utente si disconnette, e quindi la sessione termina, il punto di montaggio viene nuovamente rimosso e il daemon di automounter riceve nuovamente un segnale di ricarica per rendere effettive le modifiche.

Qui viene utilizzata la capacità di KDM di eseguire script con privilegio di root all'inizio e alla fine di una sessione.

Al momento sono supportati solo SMB e SSH.

Problemi noti

Ci sono alcuni colli di bottiglia:
- quando viene aggiunta una condivisione, un host va offline o qualsiasi altra cosa cambia nell'ambiente smb, ci vuole del tempo quando è visibile anche nella cache. Questa cache viene mantenuta tramite alcuni script, che funzionano con un meccanismo basato su "pull". In secondo luogo, l'automounter non rileva da solo che i dati nella cache sono cambiati. Rinnova i propri dati (la mappa di montaggio multiplo) solo dopo un timeout, e anche in questo caso non ottiene completamente tutte le modifiche.
- all'automounter viene richiesto di presentare una mappa di montaggio sfogliabile. Ciò significa che le directory di livello superiore sono sempre disponibili. Questa è un'ottima cosa, le reti disponibili sono sempre visibili e accessibili all'utente, anche dopo un timeout. In pratica a volte uno dei "servizi di rete" scompare...
- l'automounter ha dei problemi quando si avvia con un file auto.master vuoto (e include vuote). All'avvio, quando nessun utente ha effettuato l'accesso, e quindi nessun punto di montaggio della rete gestito da autofs, l'automounter deve essere avviato con una mappa vuota.

Accesso a windows o condivisioni samba usando autofs

una guida per impostare autofs per condivisioni SMB, utilizzando file esistenti;

Integrazione del tuo host Linux in un ambiente Windows

una guida per configurare autofs per accedere alle condivisioni in un modo alternativo.

HOWTO Monta automaticamente filesystem (AUTOFS) / udev con autofs

Qui viene utilizzata quasi la stessa costruzione per montare l'hardware usando autofs con udev. Anche qui i punti di montaggio vengono aggiunti e rimossi dinamicamente al file auto.master.


Linux
  1. Visualizza le connessioni di rete del tuo server Linux con netstat

  2. Controlla i comandi e le attività con il comando watch di Linux

  3. Trova file e directory su Linux con il comando find

  4. Crea un gemello malvagio della tua rete con Fluxion su Kali Linux

  5. Come estendere le funzionalità del tuo desktop Linux con PlexyDesk

Come salvare il tuo sistema Windows o Linux con Rescatux

Proteggi la tua rete Linux con firewall-cmd

Montaggio e mappatura delle condivisioni tra Windows e Linux con Samba

ReaR:esegui il backup e il ripristino del tuo server Linux in tutta sicurezza

Un ragazzo Windows in un mondo Linux:YaST e il desktop

Sviluppo Web e Tecniche Avanzate con Linux su Windows (WSL)