Come trasferire file usando Samba da command line

Lavorando da command line può sorgere a volte la necessità di trasferire file da o verso una share di rete attraverso Samba. In questa rapida guida vediamo due metodi alternativi per raggiungere l’obiettivo.

Samba da command line usando smbclient

smbclient è un ftp-like client che permette di accedere risorse SMB/CIFS su un server.

Su Ubuntu possiamo installarlo attraverso apt

				
					sudo apt install smbclient
				
			

Per una guida ufficiale possiamo fare riferimento a questo link: https://www.samba.org/samba/docs/current/man-html/smbclient.1.html

Vediamo qui di seguito alcuni esempi di funzionamento del comando.

Trasferimento senza username e password
				
					smbclient //[server-ip]/[nome-share] -c "put nome-file"
				
			
Trasferimento in una sottocartella della share
				
					smbclient //[server-ip]/[nome-share] -c "cd remote/path; put nome-file"
				
			
Trasferimento con username e password

In questo scenario, il trasferimento dei dati via Samba prevede l’autenticazione via username e password. Queste credenziali sono ovviamente quelle configurate sul server Samba.

				
					smbclient //[server-ip]/[nome-share] -U alessandro -c "cd remote/path; put nome-file"
				
			

Avendo specificato il nome utente verrà richiesto successivamente l’inserimento della password

				
					Enter WORKGROUP\alessandro's password:
				
			

Quando invece lo scenario non prevede l’interattività con l’utente e pertanto non è possibile inserire la password quando richiesta, si può salvare le credenziali in un file di testo ed usare il comando così

				
					smbclient //[server-ip]/[nome-share] -A [password-file] -c "cd remote/path; put nome-file"
				
			

Il file contenente le credenziali dovrà essere così formattato

username = alessandro
password = mypassword
domain = WORKGROUP

Samba da command line usando curl

Dalla versione 7.40 curl supporta il protocollo SMB/CIFS. Qui di seguito il link al changelog di curl: https://curl.se/changes.html

Il comando per poter trasferire un file da locale a remoto via Samba è il seguente

				
					curl --upload-file /path/to/file.ext -u "DOMAIN\Username:Password" smb://[server-ip]/[nome-share]/
				
			

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Most Recent

Come aggiungere e rimuovere utenti su Debian

Debian, così come tutte le altre distribuzioni Linux, è un sistema operativo multiutente. Ogni utente può avere differenti livelli di permission e specifici settaggi per

Partners