Accedere, da PC con Linux, a memoria USB connessa alla porta USB del router

Questa guida spiega come accedere -tramite il protocollo SAMBA- ad una memoria di massa già connessa alla porta USB di un router WiFi supponendo che il Sistema Operativo sia stato dotato di tutte le applicazioni utili allo scopo (nel nostro caso, SAMBA-Client e dipendenze varie), e che il modem-router: sia in grado di funzionare come Server SAMBA, e sia già stato opportunamente configurato.
Questa guida è stata verificata con Linux Mint Debian Edition 3 Cinnamon 64 bit, ma è adattabile ad altri Sistemi Operativi previo le dovute modifiche.
I comandi Linux usati in sede di verifica per ottenere informazioni, sono:

route -n                      # tabella di routing (individua IP del router, e nome dell'interfaccia WiFi)
smbclient -L //192.168.1.1 -N                # Fornisce lo Sharename
smbclient -L //192.168.1.1 --user="admin"%"" # Se Nome utente e password sono corretti, fornisce Sharename
id                                           # Fornisce codici uid e gid dell'utente in uso
ls /mnt/wifiUsb                              # Verifica il contenuto della cartella /mnt/wifiUsb

I comandi Linux usati in sede di verifica per compiere azioni, sono:
nemo smb://192.168.1.1 # Mostra il contenuto della memoria di massa tramite il file-manager Nemo.
sudo mkdir /mnt/wifiUsb # Crea la cartella /mnt/wifiUsb
sudo mount -t cifs -o vers=1.0,guest,uid=1000,gid=1000 "//192.168.1.1/TDK_LoR" "/mnt/wifiUsb" # Assegna il punto di mount alla memoria di massa accessibile SENZA autentificazione
sudo mount -t cifs -o vers=1.0,_netdev,username="admin",password="",uid=1000,gid=1000 //192.168.1.1/TDK_LoR /mnt/wifiUsb # Assegna il punto di mount alla memoria di massa accessibile CON autentificazione

A) Accesso temporaneo. Le operazioni seguenti, sono da eseguire ogni volta che si accende il PC.
A1) Per prima cosa, apriamo un terminale ed impartiamo i comandi per procurarci tutte le informazioni che ci servono, vale a dire indirizzo IP fdel Gateway e Sharename.

:~$ route -n # tabella di routing (individua IP del router, e nome dell'interfaccia WiFi)
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    600    0        0 wlp2s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp2s0
192.168.1.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp2s0
:~$ smbclient -L //192.168.1.1 -N # Fornisce lo Sharename
WARNING: The "syslog" option is deprecated
OS=[Unix] Server=[Samba 3.0.24]
	Sharename       Type      Comment
	---------       ----      -------
	TDK_LoR         Disk      
	IPC$            IPC       IPC Service (Samba 3.0.24)
OS=[Unix] Server=[Samba 3.0.24]
	Server               Comment
	---------            -------
	DLINKROUTER          Samba 3.0.24
	Workgroup            Master
	---------            -------                     
:~$ 

Abbiamo così verificato che, nel mio caso, l’indirizzo IP del Gateway è 192.168.1.1 e che lo Sharename della memoria connessa alla porta USB del modem-router è TDK_LoR.

A2) Ora, sempre da terminale, impartiamo il comando che ci permette di vedere il contenuto della memoria di massa usando il file-manager

nemo smb://192.168.1.1/TDK_LoR # Mostra il contenuto della memoria di massa tramite il file-manager Nemo

Se il file-manager in uso non è Nemo, occorre adattare il comando di conseguenza; ecco alcuni esempi:

dolphin smb://192.168.1.1/TDK_LoR  # Mostra il contenuto della memoria di massa tramite il file-manager dolphin
nautilus smb://192.168.1.1/TDK_LoR # Mostra il contenuto della memoria di massa tramite il file-manager nautilus
caja smb://192.168.1.1/TDK_LoR     # Mostra il contenuto della memoria di massa tramite il file-manager caja
thunar smb://192.168.1.1/TDK_LoR   # Mostra il contenuto della memoria di massa tramite il file-manager thunar
pcmanfm smb://192.168.1.1/TDK_LoR  # Mostra il contenuto della memoria di massa tramite il file-manager pcmanfm

A3) In alternativa, possiamo semplicemente aprire il file-manager dal menù a tendina e poi inserire
smb://192.168.1.1/TDK_LoR
nella barra degli indirizzi.

B ) Accesso semi-permanente. Questo metodo, prevede la creazione di una cartella e di uno script permanenti; l’utente, avviando lo script una sola volta per ogni sessione di lavoro, renderà accessibile la memoria USB remota.

B1) Creare una cartella VUOTA da usare come punto di mount per la memoria USB connessa al WiFi. Volendo usare come punto di mount la cartella wifiUsb all’interno della cartella /mnt, aprire un terminale ed impartire i comandi
sudo mkdir /mnt/wifiUsb # Crea la cartella /mnt/wifiUsb
ls /mnt/wifiUsb # verifica il contenuto della cartella /mnt/wifiUsb

B2) Aprire un terminale, ed impartire i comandi
id # Fornisce codici uid e gid dell'utente in uso
smbclient -L //192.168.1.1 -N # Fornisce lo Sharename

e consultare l’output per conoscere i codici uid e gid dell’utente in uso, nonché lo Sharename

B3a) Se l’accesso allo Share non è autenticato, aprire un terminale ed impartire il comando
sudo mount -t cifs -o vers=1.0,guest,uid=1000,gid=1000 "//192.168.1.1/TDK_LoR" "/mnt/wifiUsb" # Assegna il punto di mount alla memoria di massa accessibile SENZA autentificazione

B3b) Se l’accesso allo Share è autenticato, aprire un terminale ed impartire il comando
sudo mount -t cifs -o vers=1.0,_netdev,username="admin",password="",uid=1000,gid=1000 //192.168.1.1/TDK_LoR /mnt/wifiUsb # Assegna il punto di mount alla memoria di massa accessibile CON autentificazione

B3c) In alternativa a quanto riportato ai punti B3a e B3b, è possibile creare una volta per tutte un file di testo eseguibile con estensione .sh contenente il comando da impartire, ed avviare lo script una sola volta per ogni sessione di lavoro.

B4) per verifivare che la memoria remota sia montata ed accessibile, è sufficiente impartire il comando
ls /mnt/wifiUsb # verifica il contenuto della cartella /mnt/wifiUsb

B5) Se l’effetto dei comandi e degli script di cui ai punti B3a, B3b e B3c non viene annullato impartendo il comando
sudo umount /mnt/wifiUsb # Smonta la cartella a cui era stato affidato il punto di mount /mnt/wifiUsb
durerà finché il computer è acceso, ergo il montaggio di una partizione remota deve essere ripetuto dopo ogni avvio.

:~$ ls /mnt/wifiUsb   # verifica il contenuto della cartella /mnt/wifiUsb
:~$ id # Fornisce codici uid e gid dell'utente in uso
uid=1000(lmde3c) gid=1000(lmde3c) gruppi=1000(lmde3c),4(adm),20(dialout),21(fax),24(cdrom),25(floppy),26(tape),27(sudo),29(audio),30(dip),44(video),46(plugdev),100(users),108(netdev),116(bluetooth),117(lpadmin),120(scanner)
:~$ smbclient -L //192.168.1.1 -N # Fornisce lo Sharename
WARNING: The "syslog" option is deprecated
OS=[Unix] Server=[Samba 3.0.24]
	Sharename       Type      Comment
	---------       ----      -------
	TDK_LoR         Disk      
	IPC$            IPC       IPC Service (Samba 3.0.24)
OS=[Unix] Server=[Samba 3.0.24]
	Server               Comment
	---------            -------
	DLINKROUTER          Samba 3.0.24
	Workgroup            Master
	---------            -------                     
:~$ sudo mount -t cifs -o vers=1.0,guest,uid=1000,gid=1000 "//192.168.1.1/TDK_LoR" "/mnt/wifiUsb" # Assegna il punto di mount alla memoria di massa accessibile SENZA autentificazione
[sudo] password di lmde3c:        
:~$ ls /mnt/wifiUsb   # verifica il contenuto della cartella /mnt/wifiUsb
AvviareLiveDaUUID1-7.txt   Informativa.txt        lxde@r50e_inxi-v6.txt   Manjaro.txt    RegistrareFerramenta.pdf  RKTmontaiso3.txt  tntVillage.txt
AvviareLiveDaUUID8-12.txt  inxi-r-S-xxx.txt       Mandornale.txt          Media          ReinstallaGrub2.txt       Settings          TrovaFile.txt
Centos_inxi-v7.txt         lscsa-v4.0.5light.pdf  Manfrina.txt            montaiso2.txt  Rispondi.txt              Shared            Ubuntu.txt
:~$ sudo umount /mnt/wifiUsb # Smonta la cartella a cui era stato affidato il punto di mount /mnt/wifiUsb
[sudo] password di lmde3c:        
:~$ ls /mnt/wifiUsb   # verifica il contenuto della cartella /mnt/wifiUsb
:~$