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.
Installazione di Samba tramite RPM e sorgenti, file installati e posizioni - Gestione del servizio