Rete Windows · 5 min read · Dec 11, 2025
Navigare nella rete Windows con il tuo computer Linux con montaggio automatico e scoperta di tutti gli host e condivisioni.
L’ultima versione che troverai su:
http://linux.bononline.nl/linux/automountsmbshares/index.php
Indice
- Introduzione e Riepilogo
Introduzione
Da un po’ di tempo sto cercando un buon modo per far scoprire al mio computer la rete Windows e montare le condivisioni su richiesta. Al momento non esiste una soluzione abbastanza buona. Dopo aver provato i kioslaves nel desktop della mia scelta (KDE) e i programmi FUSE Fusesmb e SmbNetFs, non ero davvero soddisfatto. Doveva esserci un modo per far scoprire al mio computer tutti i gruppi di lavoro/domini, gli host e le condivisioni, e montare una condivisione su un host su richiesta. Alcuni diranno: monta le condivisioni di tua scelta a mano, e via. Ma no!! Questo non è ciò che voglio. Posso far scoprire automaticamente al mio computer tutti gli host e le condivisioni disponibili, e montare la condivisione solo quando necessario. Questo dovrebbe essere possibile! E dopo aver provato ho scoperto che lo è!
Le seguenti problematiche sono necessarie a mio avviso:
scoperta automatica della rete SMB (domini, host e condivisioni)
costruzione di una rappresentazione che abbia senso per gli utenti connessi nella loro home directory
montaggio automatico delle condivisioni su richiesta
smontaggio automatico delle condivisioni dopo un certo periodo di inattività
utilizzo di un fs del kernel 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 ciò che sto cercando, ma manca delle capacità estese che ha CIFS, come la corretta presentazione delle autorizzazioni, supporto di inotify, symlink e ATTR/ACL. Ci è voluto un po’ di tempo per scoprire perché il programma FUSE manca di queste funzionalità. FuseSMB è basato 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 home directory, dove l’automount 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 di rete”:
/home/sbon/Rete Globale/
Host SSH
Rete Windows
Accedendo alla Rete Windows (==smb), tutti i gruppi di lavoro e/o domini appaiono:
/home/sbon/Rete Globale/
Host SSH
Rete Windows
BONONLINE
CWWERKGROEP
Entrando nel gruppo di lavoro CWWERKGROEP, tutti i server e altri host vengono mostrati:
/home/sbon/Rete Globale/
Host SSH
Rete Windows
BONONLINE
CWWERKGROEP
ROUTER
PC1
Entrando nel server ROUTER, le condivisioni disponibili per l’utente connesso appaiono:
/home/sbon/Rete Globale/
Host SSH
Rete Windows
BONONLINE
CWWERKGROEP
ROUTER
cwdocumenten
pubblico
sbon
Accedendo a una condivisione, viene montata automaticamente (con CIFS o SMBFS). L’uso delle credenziali è supportato, i login come ospite sono predefiniti.
Per costruire la “mappa di montaggio multipla” per il servizio smb, viene utilizzata una cache di rete. Fornisce informazioni sui gruppi di lavoro e/o domini, host e server e condivisioni disponibili. È mantenuta da alcuni script, che utilizzano alcune utility (nbtscan per determinare gli host e i gruppi di lavoro/domini e smbclient per determinare le condivisioni per host).
Accedendo agli host SSH (=ssh), tutti gli host a cui questo utente ha accesso appaiono:
/home/sbon/Rete Globale/
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 alcun mount.sshfs. Ne ho creato uno, utilizzando FUSE e sshfs. (e umount.sshfs).
Ora, quando si accede all’host 192.168.0.2, la radice su 192.168.0.2 è montata.
Come funziona
Questa costruzione utilizza l’automount. Quando un utente accede e inizia una nuova sessione, viene aggiunto un “punto di montaggio di rete” al file auto.master e il demone automount riceve un segnale di “reload”. Questo punto di montaggio, di nome predefinito “Rete Globale”, si trova nella home directory dell’utente. Ad esso è collegato uno script (auto.network) che crea una mappa, basata su tutti i servizi di rete supportati e le risorse scoperte. Insieme all’opzione di navigazione, questo fornisce una mappa navigabile, dove le condivisioni/gli host vengono montati quando vengono accessi.
Quando l’utente esce, e quindi la sessione termina, il punto di montaggio viene rimosso di nuovo, e il demone automount riceve nuovamente un segnale di reload per rendere effettive le modifiche.
Qui viene utilizzata la capacità di KDM di eseguire script con privilegi di root all’inizio e alla fine di una sessione.
In questo momento sono supportati solo SMB e SSH.
Problemi noti
Ci sono alcuni colli di bottiglia:
- quando una condivisione viene aggiunta, un host va offline o qualsiasi altra cosa cambia nell’ambiente smb, ci vuole un po’ di tempo prima che sia visibile anche nella cache. Questa cache è mantenuta tramite alcuni script, che lavorano con un meccanismo basato su “pull”. In secondo luogo, l’automount non rileva da solo che i dati nella cache sono cambiati. Rinnova solo i propri dati (la mappa di montaggio multipla) dopo un timeout, e anche allora non ottiene completamente tutte le modifiche.
- l’automount è istruito a presentare una mappa di montaggio navigabile. Questo significa che le directory di livello superiore sono sempre disponibili. Questa è una cosa molto buona, 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’automount ha alcuni problemi quando si avvia con un file auto.master vuoto (e include vuoti). Al momento dell’avvio, quando non ci sono utenti connessi, e quindi nessun punto di montaggio di rete gestito da autofs, l’automount deve essere avviato con una mappa vuota.
Link
Accesso a condivisioni Windows o Samba utilizzando autofs
una guida per impostare autofs per le condivisioni SMB, utilizzando file esistenti;
Integrare il tuo host Linux in un ambiente Windows
una guida per impostare autofs per accedere alle condivisioni in un modo alternativo.
HOWTO Automontare filesystem (AUTOFS) / udev con autofs
Qui viene utilizzata quasi la stessa costruzione per montare hardware utilizzando autofs con udev. Qui anche i punti di montaggio vengono aggiunti e rimossi dinamicamente al file auto.master.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.