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 utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

Most Recent

Come creare un watchdog per Cups

In questo scenario ci troviamo su una macchina Linux in cui abbiamo bisogno di monitorare lo stato di Cups e, in caso di crash del

Come eseguire unban di un IP su fail2ban

Se per disgrazia il nostro indirizzo IP da cui ci colleghiamo al nostro server è stato bannato da fail2ban, seguiamo questa guida per ripristinarlo in

Partners