Come trasferire file usando Samba da command line

Cerca

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 installare Borg su Synology NAS

Installare Borg su Synology NAS è cosa molto semplice da realizzare in quanto è possibile farlo mediante il package rilasciato da SynoCommunity. Vediamo in questa

Come ottenere l’URL corrente in Jinja2

Stiamo sviluppando una applicazione con Flask che usa Jinja2 come template engine. All’interno del template html che stiamo sviluppando abbiamo bisogno di ottenere l’URL corrente

Partners