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, --out-
      putfile] [-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|--work-
      group=WORKGROUP] [--realm=REALM]	[-U|--user=[DOMAIN/]USERNAME%[PASSWORD]]
      [-N|--no-pass]	[--password=STRING]   [--pw-nt-hash]   [-A|--authentica-
      tion-file=FILE]  [-P|--machine-pass]   [--simple-bind-dn=DN]   [--use-ker-
      beros=desired|required|off]     [--use-krb5-ccache=CCACHE]     [--use-win-
      bind-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  down-
     load 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=level
	 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-sepa-
	 rated 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,  us-
		    ing  the system /etc/hosts, NIS, or DNS lookups. This method
		    of name resolution is operating system  dependent,	for  in-
		    stance  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  reli-
		    able  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/lo-
	 cal/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 para-
	 meter 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 vari-
	 able (which is not permitted to contain a password) and if  either  ex-
	 ists,	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  plain-
	 text  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-sup-
	 plied	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-sup-
	 plied 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 environ-
	 ment 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  user-
	 name 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 un-
	 wanted 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  au-
	 thenticate  using  Kerberos. For Kerberos authentication you should use
	 DNS names instead of IP addresses when connecting to a service. By  de-
	 fault	Samba  client tools will try to use the default Kerberos creden-
	 tial cache (ccache). In case the ccache does not exist or -U|--user op-
	 tion was specified, clients will ask to enter a password and  will  ob-
	 tain  a Kerberos ticket (kinit) for you. If you want to use an alterna-
	 tive Kerberos credentical cache, use the --use-krb5-ccache option.

	 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 enforce --use-kerberos=required.

     --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 pro-
	 tection parameter in the /usr/local/etc/smb4.conf file.

	 In case  you  need  more  fine  grained  control  you	can  use:  --op-
	 tion=clientsmbencrypt=OPTION,	--option=clientipcsigning=OPTION,  --op-
	 tion=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  di-
     rectory without --resursive turned on).

VERSION
     This man page is part of version 4.23.8 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.23.8			   08/01/2026			       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+15.1.quarterly>

home | help