smbclient

Ci sono diversi modi di accedere a risorse condivise con SMB e uno di questi è usare smbclient. Il suo uso non si discosta molto dall'usare un normale client ftp fuorchè il fatto che utilizza un diverso protocollo.

Questo comando è considerato tra i più usati della suite Samba. Non solo è una comoda utility per trasferire files da e verso risorse Samba ma ne permette anche l'archiviazione, è utile per il testing del server e per controllare quali servizi sono attivi.
La sua sintassi è:
smbclient //server/risorsa [-opzioni]
Le opzioni di smbclient sono molte, consultare la pagina man del comando per averne un prospetto completo, vediamo qui alcune delle più importanti.
-s config_file: Permette di specificare un file di configurazione di Samba da usare.
-M NetBIOS_name: Questa opzione permette di inviare un messaggio WinPopUp ad una macchina della rete. Una volta stabilita la connessione si digita il messaggio terminandolo con un ctrl+D. Non c'è modo di sapere se il messaggio è arrivato a destinazione o meno e il limite dato dal protocollo è che non si superino i 1600 bytes. Può essere utile il suo uso associato a cat, ad esempio cat messaggio.txt | smbclient -M PIPPO
-n NetBIOS_name: Con questo comando posso scegliere un nome NetBIOS a mio piacimento. Se non specificato Samba usa il nome del'host locale con lettere maiuscole.
-h: Stampa a monitor un brief delle principali opzioni.
-I: Permette di specificare l'indirizzo ip di una risorsa condivisa a cui si vuole accedere. In questo modo si forza il client a non cercare assolutamente di risolvere il nome della risorsa e di connettersi alla macchina specificata.
-U username[%password]: Con questa opzione mi è possibile specificare un utente e eventualmente una password da usare per accedere a una data risorsa.
-A nome_del_file: Questa opzione può essere utilizzata al posto di quella appena vista e permette di specificare un file da cui attingere lo USER e la PASSWD. E' stata studiata principalmente per l'uso negli script. Si può specificare anche il nome del dominio. La sintassi è:
username = valore
password = valore
domain = valore

-L: Questa opzione è utile in fase di testing e permette di listare tutte le risorse condivise di un dato host.
-W WORKGROUP: Questa opzione può essere necessaria per collegarsi ad alcuni server e permette di specificare un diverso WORKGROUP (dominio) da quello specificato nel smb.conf per la connessione in oggetto.
-T opzioni_di_tar: Questa opzione permette di lavorare sui file di una risorsa per scopi di backup e di restore. Ha numerose sotto-opzioni, fare riferimento alle pagine man di smbclient per un prospetto completo. Vediamo un esempio di sintassi:
smbclient //server/nome_risorsa -Tsotto-opzioni
Le sotto-opzioni sono quasi complementari a quelle che usa il comando tar originale.
c: Crea un nuovo archivio tar. Va seguito poi il nome dell'archivio.
x: Estrae i file da un archivio.
N: Sta per "newer than". Permette di archiviare solo i file più nuovi di un file che si specifica.

Quando si lancia senza paramentri smbclient si comporta come un client ftp da riga di comando e ci presenta un prompt così:
smb:\
In modalità interattiva si possono eseguire numerose operazioni, vediamone alcune:
?: Questo comando stampa un lista informativa dei comandi e ne descrive brevemente il significato. Si può farlo seguire da il nome di un comando e stamperà una descrizione della sua funzione. Si può usare anche help.
!: Apre una shell sulla macchina locale. Si può farlo seguire dal comando che si vuole eseguire.
cancel id_stampa: Permette di cancellare un job di stampa dalla coda sulla stampante. Va specificato il numero di job che si intende eliminare.
cd directory: Permette di cambiare directory. Se usato senza specificare il path si comporta come pwd mostrando la directory corrente.
del stringa: Cancella dal server tutti i file della directory corrente che hanno una corrispondenza della stringa.
dir stringa: Una lista di file contenenti la data stringa presenti nella directory di lavoro viene recuperata e mostrata.
exit: Termina la connessione con il server e esce.
get file_remoto nome_file_locale: Recupera un file definito e lo salva in locale con il nome specificato.
lcd directory: Cambia la directory locale. Anche qui se non specificata la directory stampa il path della directory locale corrente.  
ls stringa: uguale a dir.
mget stringa: Permette di scaricare più di un singolo file o directory.
md o mkdir nome_directory: Crea una directory all'interno di quella attuale.
mput stringa: Permette di mandare in upload più file o directory che hanno in comune la stringa specificata
print nome_file_stampa: Stampa attraverso una stampante condivisa il file specificato.
put nome_file_locale nome_file_remoto: Esegue l'upload di un file locale e se specificato lo rinomina nel nome dato.
queue: Mostra la lista dei file in attesa di stampa.
rm stringa: Rimuove tutti i file che hanno corrispondenza con la stringa data.
rmdir nome_directory:rimuove la directory specificata.
tar: Oltre all'uso dell'opzione -T in modo interattivo si usa questo comando. Supporta le stesse opzioni di -T.

Privacy Policy