dwww Home | Manual pages | Find package

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=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 /etc/samba/smb.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 /etc/samba/smb.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 /etc/samba/smb.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
           /etc/samba/smb.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 /etc/samba/smb.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 /etc/samba/smb.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 /etc/samba/smb.conf file. However, a command line setting
           will take precedence over settings in /etc/samba/smb.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 /etc/samba/smb.conf file.

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

           Note that specifying this parameter here will override the realm
           parameter in the /etc/samba/smb.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 /etc/samba/smb.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 /etc/samba/smb.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.22.11-Debian-4.22.11+dfsg-0+deb13u1
       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.22.11-Debian-4.22.11+d     07/28/2026                         SMBGET(1)

Generated by dwww version 1.16 on Sat Oct 3 07:34:39 CEST 2026.