Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SMBGET(1)			 User Commands			     SMBGET(1)

NAME
       smbget -	wget-like utility for download files over SMB

SYNOPSIS

       smbget [-a, --guest] [-r, --resume] [--recursive] [-D, --dots]
	[-o, --outputfile] [-q,	--quiet] [-v, --verbose] [-b, --blocksize]
	[-O, --stdout] [-u, --update] [-e, --encrypt] [--limit-rate=INT]
	[-?|--help] [--usage] [-d|--debuglevel=DEBUGLEVEL] [--debug-stdout]
	[-s|--configfile=CONFIGFILE] [--option=name=value]
	[-l|--log-basename=LOGFILEBASE]	[--leak-report]	[--leak-report-full]
	[-R|--name-resolve=NAME-RESOLVE-ORDER]
	[-O|--socket-options=SOCKETOPTIONS] [-m|--max-protocol=MAXPROTOCOL]
	[-n|--netbiosname=NETBIOSNAME] [--netbios-scope=SCOPE]
	[-W|--workgroup=WORKGROUP] [--realm=REALM]
	[-U|--user=[DOMAIN/]USERNAME%[PASSWORD]] [-N|--no-pass]
	[--password=STRING] [--pw-nt-hash] [-A|--authentication-file=FILE]
	[-P|--machine-pass] [--simple-bind-dn=DN]
	[--use-kerberos=desired|required|off] [--use-krb5-ccache=CCACHE]
	[--use-winbind-ccache] [--client-protection=sign|encrypt|off]
	[-V|--version] {smb://host/share/path/to/file} [smb://url2/] [...]

DESCRIPTION
       This tool is part of the	samba(7) suite.

       smbget is a simple utility with wget-like semantics, that can download
       files from SMB servers. You can specify the files you would like	to
       download	on the command-line.

       The files should	be in the smb-URL standard, e.g. use
       smb://host/share/file for the UNC path \\\\HOST\\SHARE\\file.

OPTIONS
       -a, --guest
	   Work	as user	guest

       -r, --resume
	   Automatically resume	aborted	files

       --recursive
	   Recursively download	files

       -D, --dots
	   Show	dots as	progress indication

       -o, --outputfile
	   Write the file that is being	downloaded to the specified file. Can
	   not be used together	with -R.

       --stdout
	   Write the file that is being	downloaded to standard output.

       -q, --quiet
	   Be quiet

       -v, --verbose
	   Be verbose

       -b, --blocksize
	   Number of bytes to download in a block. Defaults to 64000.

       -u, --update
	   Download only when remote file is newer than	local file or local
	   file	is missing.

       -e, --encrypt
	   Enable SMB encryption.

       --limit-rate=INT
	   Limit download rate by this many KB/s.

       -?|--help
	   Print a summary of command line options.

       --usage
	   Display brief usage message.

       -d|--debuglevel=DEBUGLEVEL
	   level is an integer from 0 to 10. The default value if this
	   parameter is	not specified is 1 for client applications.

	   The higher this value, the more detail will be logged to the	log
	   files about the activities of the server. At	level 0, only critical
	   errors and serious warnings will be logged. Level 1 is a reasonable
	   level for day-to-day	running	- it generates a small amount of
	   information about operations	carried	out.

	   Levels above	1 will generate	considerable amounts of	log data, and
	   should only be used when investigating a problem. Levels above 3
	   are designed	for use	only by	developers and generate	HUGE amounts
	   of log data,	most of	which is extremely cryptic.

	   Note	that specifying	this parameter here will override the log
	   level parameter in the /usr/local/etc/smb4.conf file.

       --debug-stdout
	   This	will redirect debug output to STDOUT. By default all clients
	   are logging to STDERR.

       --configfile=<configuration file>
	   The file specified contains the configuration details required by
	   the client. The information in this file can	be general for client
	   and server or only provide client specific like options such	as
	   client smb encrypt. See /usr/local/etc/smb4.conf for	more
	   information.	The default configuration file name is determined at
	   compile time.

       --option=<name>=<value>
	   Set the smb.conf(5) option "<name>" to value	"<value>" from the
	   command line. This overrides	compiled-in defaults and options read
	   from	the configuration file.	If a name or a value includes a	space,
	   wrap	whole --option=name=value into quotes.

       -l|--log-basename=logdirectory
	   Base	directory name for log/debug files. The	extension ".progname"
	   will	be appended (e.g. log.smbclient, log.smbd, etc...). The	log
	   file	is never removed by the	client.

       --leak-report
	   Enable talloc leak reporting	on exit.

       --leak-report-full
	   Enable full talloc leak reporting on	exit.

       -V|--version
	   Prints the program version number.

       -R|--name-resolve=NAME-RESOLVE-ORDER
	   This	option is used to determine what naming	services and in	what
	   order to resolve host names to IP addresses.	The option takes a
	   space-separated string of different name resolution options.	The
	   best	is to wrap the whole --name-resolve=NAME-RESOLVE-ORDER into
	   quotes.

	   The options are: "lmhosts", "host", "wins" and "bcast". They	cause
	   names to be resolved	as follows:

		     lmhosts: Lookup an IP address in the Samba lmhosts file.
		      If the line in lmhosts has no name type attached to the
		      NetBIOS name (see	the lmhosts(5) for details) then any
		      name type	matches	for lookup.

		     host: Do a standard host name to IP address resolution,
		      using the	system /etc/hosts, NIS,	or DNS lookups.	This
		      method of	name resolution	is operating system dependent,
		      for instance on IRIX or Solaris this may be controlled
		      by the /etc/nsswitch.conf	file). Note that this method
		      is only used if the NetBIOS name type being queried is
		      the 0x20 (server)	name type, otherwise it	is ignored.

		     wins: Query a name with the IP address listed in the
		      wins server parameter. If	no WINS	server has been
		      specified	this method will be ignored.

		     bcast: Do	a broadcast on each of the known local
		      interfaces listed	in the interfaces parameter. This is
		      the least	reliable of the	name resolution	methods	as it
		      depends on the target host being on a locally connected
		      subnet.

	   If this parameter is	not set	then the name resolve order defined in
	   the /usr/local/etc/smb4.conf	file parameter (name resolve order)
	   will	be used.

	   The default order is	lmhosts, host, wins, bcast. Without this
	   parameter or	any entry in the name resolve order parameter of the
	   /usr/local/etc/smb4.conf file, the name resolution methods will be
	   attempted in	this order.

       -O|--socket-options=SOCKETOPTIONS
	   TCP socket options to set on	the client socket. See the socket
	   options parameter in	the /usr/local/etc/smb4.conf manual page for
	   the list of valid options.

       -m|--max-protocol=MAXPROTOCOL
	   The value of	the parameter (a string) is the	highest	protocol level
	   that	will be	supported by the client.

	   Note	that specifying	this parameter here will override the client
	   max protocol	parameter in the /usr/local/etc/smb4.conf file.

       -n|--netbiosname=NETBIOSNAME
	   This	option allows you to override the NetBIOS name that Samba uses
	   for itself. This is identical to setting the	netbios	name parameter
	   in the /usr/local/etc/smb4.conf file. However, a command line
	   setting will	take precedence	over settings in
	   /usr/local/etc/smb4.conf.

       --netbios-scope=SCOPE
	   This	specifies a NetBIOS scope that nmblookup will use to
	   communicate with when generating NetBIOS names. For details on the
	   use of NetBIOS scopes, see rfc1001.txt and rfc1002.txt. NetBIOS
	   scopes are very rarely used,	only set this parameter	if you are the
	   system administrator	in charge of all the NetBIOS systems you
	   communicate with.

       -W|--workgroup=WORKGROUP
	   Set the SMB domain of the username. This overrides the default
	   domain which	is the domain defined in smb.conf. If the domain
	   specified is	the same as the	servers	NetBIOS	name, it causes	the
	   client to log on using the servers local SAM	(as opposed to the
	   Domain SAM).

	   Note	that specifying	this parameter here will override the
	   workgroup parameter in the /usr/local/etc/smb4.conf file.

       -r|--realm=REALM
	   Set the realm for the domain.

	   Note	that specifying	this parameter here will override the realm
	   parameter in	the /usr/local/etc/smb4.conf file.

       -U|--user=[DOMAIN\]USERNAME[%PASSWORD]
	   Sets	the SMB	username or username and password.

	   If %PASSWORD	is not specified, the user will	be prompted. The
	   client will first check the USER environment	variable (which	is
	   also	permitted to also contain the password separated by a %), then
	   the LOGNAME variable	(which is not permitted	to contain a password)
	   and if either exists, the value is used. If these environmental
	   variables are not found, the	username found in a Kerberos
	   Credentials cache may be used.

	   A third option is to	use a credentials file which contains the
	   plaintext of	the username and password. This	option is mainly
	   provided for	scripts	where the admin	does not wish to pass the
	   credentials on the command line or via environment variables. If
	   this	method is used,	make certain that the permissions on the file
	   restrict access from	unwanted users.	See the	-A for more details.

	   Be cautious about including passwords in scripts or passing
	   user-supplied values	onto the command line. For security it is
	   better to let the Samba client tool ask for the password if needed,
	   or obtain the password once with kinit.

	   While Samba will attempt to scrub the password from the process
	   title (as seen in ps), this is after	startup	and so is subject to a
	   race.

       -N|--no-pass
	   If specified, this parameter	suppresses the normal password prompt
	   from	the client to the user.	This is	useful when accessing a
	   service that	does not require a password.

	   Unless a password is	specified on the command line or this
	   parameter is	specified, the client will request a password.

	   If a	password is specified on the command line and this option is
	   also	defined	the password on	the command line will be silently
	   ignored and no password will	be used.

       --password
	   Specify the password	on the commandline.

	   Be cautious about including passwords in scripts or passing
	   user-supplied values	onto the command line. For security it is
	   better to let the Samba client tool ask for the password if needed,
	   or obtain the password once with kinit.

	   If --password is not	specified, the tool will check the PASSWD
	   environment variable, followed by PASSWD_FD which is	expected to
	   contain an open file	descriptor (FD)	number.

	   Finally it will check PASSWD_FILE (containing a file	path to	be
	   opened). The	file should only contain the password. Make certain
	   that	the permissions	on the file restrict access from unwanted
	   users!

	   While Samba will attempt to scrub the password from the process
	   title (as seen in ps), this is after	startup	and so is subject to a
	   race.

       --pw-nt-hash
	   The supplied	password is the	NT hash.

       -A|--authentication-file=filename
	   This	option allows you to specify a file from which to read the
	   username and	password used in the connection. The format of the
	   file	is:

				   username = <value>
				   password = <value>
				   domain   = <value>

	   Make	certain	that the permissions on	the file restrict access from
	   unwanted users!

       -P|--machine-pass
	   Use stored machine account password.

       --simple-bind-dn=DN
	   DN to use for a simple bind.

       --use-kerberos=desired|required|off
	   This	parameter determines whether Samba client tools	will try to
	   authenticate	using Kerberos.	For Kerberos authentication you	need
	   to use dns names instead of IP addresses when connecting to a
	   service.

	   Note	that specifying	this parameter here will override the client
	   use kerberos	parameter in the /usr/local/etc/smb4.conf file.

       --use-krb5-ccache=CCACHE
	   Specifies the credential cache location for Kerberos
	   authentication.

	   This	will set --use-kerberos=required too.

       --use-winbind-ccache
	   Try to use the credential cache by winbind.

       --client-protection=sign|encrypt|off
	   Sets	the connection protection the client tool should use.

	   Note	that specifying	this parameter here will override the client
	   protection parameter	in the /usr/local/etc/smb4.conf	file.

	   In case you need more fine grained control you can use:
	   --option=clientsmbencrypt=OPTION, --option=clientipcsigning=OPTION,
	   --option=clientsigning=OPTION.

SMB URLS
       SMB URL's should	be specified in	the following format:

	   smb://[[[domain;]user[:password@]]server[/share[/path[/file]]]]

	   smb:// means	all the	workgroups

	   smb://name/ means, if name is a workgroup, all the servers in this workgroup, or if name is a server, all the shares	on this	server.

EXAMPLES
	   # Recursively download 'src'	directory
	   smbget --recursive smb://rhonwyn/jelmer/src
	   # Download FreeBSD ISO and enable resuming
	   smbget --resume smb://rhonwyn/isos/FreeBSD5.1.iso
	   # Recursively download all ISOs
	   smbget --recursive --resume smb://rhonwyn/isos
	   # Backup my data on rhonwyn
	   smbget --recursive -resume smb://rhonwyn/

BUGS
       Permission denied is returned in	some cases where the cause of the
       error is	unknown	(such as an illegally formatted	smb:// url or trying
       to get a	directory without --resursive turned on).

VERSION
       This man	page is	part of	version	4.20.7 of the Samba suite.

AUTHOR
       The original Samba software and related utilities were created by
       Andrew Tridgell.	Samba is now developed by the Samba Team as an Open
       Source project similar to the way the Linux kernel is developed.

       The smbget manpage was written by Jelmer	Vernooij.

Samba 4.20.7			  04/14/2025			     SMBGET(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=smbget&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help