smbclient  -  ftp-like client to access SMB/CIFS resources
       on servers


SYNOPSIS

       smbclient servicename [ password ]  [ -b <buffer  size>  ]
       [  -d  debuglevel ]  [ -D Directory ]  [ -S server ]  [ -U
       username ]  [ -W workgroup ]  [ -M <netbios name> ]  [  -m
       maxprotocol  ]  [ -A authfile ]  [ -N ]  [ -l logfile ]  [
       -L <netbios name> ]  [ -I destinationIP ]  [ -E  <terminal
       code>  ]   [  -c  <command  string>  ]  [ -i scope ]  [ -O
       <socket options> ]  [ -p port ]  [ -R <name resolve order>
       ]  [ -s <smb config file> ]  [ -T<c|x>IXFqgbNan ]


DESCRIPTION

       This tool is part of the  Sambasuite.

       smbclient  is  a  client  that  can  'talk' to an SMB/CIFS
       server. It offers an interface similar to that of the  ftp
       program (see ftp(1)).  Operations include things like get­
       ting files from the server to the local  machine,  putting
       files  from  the  local  machine to the server, retrieving
       directory information from the server and so on.


OPTIONS

       servicename
              servicename is the name of the service you want  to
              use  on  the  server. A service name takes the form
              //server/service where server is the  NetBIOS  name
              of the SMB/CIFS server offering the desired service
              and service is the name  of  the  service  offered.
              Thus  to  connect  to  the service "printer" on the
              SMB/CIFS server "smbserver", you would use the ser­
              vicename //smbserver/printer

              Note that the server name required is NOT necessar­
              ily the IP (DNS) host name of the server ! The name
              required is a NetBIOS server name, which may or may
              not be the same as the IP hostname of  the  machine
              running the server.

              The  server  name  is looked up according to either
              the -R parameter to smbclient  or  using  the  name
              resolve  order  parameter  in  the  smb.conf  file,
              allowing an administrator to change the  order  and
              methods by which server names are looked up.

       password
              The  password required to access the specified ser­
              vice on the specified server. If this parameter  is
              supplied,  the -N option (suppress password prompt)
              is assumed.

              There is no default password.  If  no  password  is

              parameter or adding a password  to  the  -U  option
              (see  below))  and  the -N option is not specified,
              the client will prompt for a password, even if  the
              desired  service does not require one. (If no pass­
              word is required, simply press ENTER to  provide  a
              null password.)

              Note:  Some servers (including OS/2 and Windows for
              Workgroups) insist on an uppercase password. Lower­
              case  or  mixed  case  passwords may be rejected by
              these servers.

              Be cautious about including passwords in scripts.

       -s smb.conf
              Specifies  the  location  of  the   all   important
              smb.conf file.

       -O socket options
              TCP socket options to set on the client socket. See
              the socket options parameter in the   smb.conf  (5)
              manpage for the list of valid options.

       -R <name resolve order>
              This  option  is  used by the programs in the Samba
              suite 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  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 res­
                olution, 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.

                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  smb.conf  file  parameter  (name  resolve
       order) will be used.

       The  default order is lmhosts, host, wins, bcast and with­
       out this parameter or any entry in the name resolve  order
       parameter of the smb.conf file the name resolution methods
       will be attempted in this order.

       -M NetBIOS name
              This options allows you to send messages, using the
              "WinPopup"  protocol,  to  another computer. Once a
              connection is established you then type  your  mes­
              sage, pressing ^D (control-D) to end.

              If  the  receiving computer is running WinPopup the
              user will receive the message and probably a  beep.
              If  they  are not running WinPopup the message will
              be lost, and no error message will occur.

              The message is also automatically truncated if  the
              message is over 1600 bytes, as this is the limit of
              the protocol.

              One useful trick is to cat the message through smb­
              client. For example:  cat mymessage.txt | smbclient
              -M FRED  will send the message in the  file  mymes­
              sage.txt to the machine FRED.

              You  may also find the -U and -I options useful, as
              they allow you to control the FROM and TO parts  of
              the message.

              See   the   message   command   parameter   in  the
              smb.conf(5) for a  description  of  how  to  handle
              incoming WinPopup messages in Samba.

              Note:  Copy WinPopup into the startup group on your
              WfWg PCs if you want them  to  always  be  able  to
              receive messages.

       -i scope
              This  specifies a NetBIOS scope that smbclient 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

              you are the system administrator in charge  of  all
              the NetBIOS systems you communicate with.

       -N     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.

       -n NetBIOS name
              By default, the client will use the local machine's
              hostname  (in  uppercase) as its NetBIOS name. This
              parameter allows you to override the host name  and
              use whatever NetBIOS name you wish.

       -d debuglevel
              debuglevel  is an integer from 0 to 10, or the let­
              ter 'A'.

              The default value if this parameter is  not  speci­
              fied is zero.

              The  higher  this  value,  the  more detail will be
              logged to the log files about the activities of the
              client.  At level 0, only critical errors and seri­
              ous warnings will be logged. Level 1 is  a  reason­
              able  level for day to day running - it generates a
              small amount of information about  operations  car­
              ried out.

              Levels  above  1 will generate considerable amounts
              of log data, and should only be used when  investi­
              gating  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. If
              debuglevel is set to the letter 'A', then all debug
              messages  will  be  printed.  This  setting  is for
              developers only (and people who really want to know
              how the code works internally).

              Note that specifying this parameter here will over­
              ride the log level parameter in  the  smb.conf  (5)
              file.

       -p port
              This  number  is  the  TCP port number that will be
              used when making connections  to  the  server.  The
              standard   (well-known)  TCP  port  number  for  an
              SMB/CIFS server is 139, which is the default.

              If specified, logfilename specifies a base filename
              into which operational data from the running client
              will be logged.

              The default base name is specified at compile time.

              The  base  name is used to generate actual log file
              names.  For example,  if  the  name  specified  was
              "log", the debug file would be log.client.

              The  log  file  generated  is  never removed by the
              client.

       -h     Print the usage message for the client.

       -I IP-address
              IP address is the address of the server to  connect
              to.   It  should be specified in standard "a.b.c.d"
              notation.

              Normally the client would attempt to locate a named
              SMB/CIFS  server  by  looking it up via the NetBIOS
              name resolution mechanism described  above  in  the
              name  resolve  order  parameter  above.  Using this
              parameter will force the client to assume that  the
              server  is  on  the  machine  with the specified IP
              address and  the  NetBIOS  name  component  of  the
              resource being connected to will be ignored.

              There is no default for this parameter. If not sup­
              plied, it will be determined automatically  by  the
              client as described above.

       -E     This  parameter causes the client to write messages
              to the standard error stream (stderr)  rather  than
              to the standard output stream.

              By  default, the client writes messages to standard
              output - typically the user's tty.

       -U username[%pass]
              Sets the SMB username or username and password.  If
              %pass  is not specified, The user will be prompted.
              The client will first check  the  USER  environment
              variable,  then  the LOGNAME variable and if either
              exists, the string is uppercased. Anything in these
              variables  following  a '%' sign will be treated as
              the password. If these  environment  variables  are
              not found, the username GUEST is used.

              If  the  password is not included in these environ­
              ment variables (using the %pass syntax),  smbclient
              will  look  for  a PASSWD environment variable from


              A third option is to use a credentials  file  which
              contains  the  plaintext  of the username and pass­
              word. This option is mainly  provided  for  scripts
              where  the  admin  doesn't wish to pass the creden­
              tials on the command line or via environment  vari­
              ables.  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
              in the PASSWD environment variable. Also,  on  many
              systems  the  command line of a running process may
              be seen via the ps command to be safe always  allow
              smbclient  to  prompt for a password and type it in
              directly.

       -A filename
              This option allows you to specify a file from which
              to  read the username and password used in the con­
              nection. The format of the file is

              username = <value>
              password = <value>

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

       -L     This option allows you to look at what services are
              available on a server. You use it as  smbclient  -L
              host and a list should appear. The -I option may be
              useful if  your  NetBIOS  names  don't  match  your
              TCP/IP DNS host names or if you are trying to reach
              a host on another network.

       -t terminal code
              This option tells smbclient how to interpret  file­
              names  coming from the remote server. Usually Asian
              language multibyte UNIX implementations use differ­
              ent  character  sets  than  SMB/CIFS  servers  (EUC
              instead of  SJIS for example). Setting this parame­
              ter  will  let  smbclient  convert between the UNIX
              filenames and the  SMB  filenames  correctly.  This
              option  has  not been seriously tested and may have
              some problems.

              The terminal codes include CWsjis,  CWeuc,  CWjis7,
              CWjis8,  CWjunet,  CWhex, CWcap. This is not a com­
              plete list, check the Samba  source  code  for  the
              complete list.

              This  option  changes the transmit/send buffer size
              when getting or putting a file from/to the  server.
              The  default  is  65520  bytes.  Setting this value
              smaller (to 1200 bytes) has been observed to  speed
              up file transfers to and from a Win9x server.

       -W WORKGROUP
              Override  the  default  workgroup  specified in the
              workgroup parameter of the smb.conf file  for  this
              connection.  This  may be needed to connect to some
              servers.

       -T tar options
              smbclient may be used to create  tar(1)  compatible
              backups  of all the files on an SMB/CIFS share. The
              secondary tar flags  that  can  be  given  to  this
              option are :

              · c  - Create a tar file on UNIX.  Must be followed
                by the name of a tar file, tape device or "-" for
                standard  output.  If  using  standard output you
                must turn the log level to its lowest  value  -d0
                to  avoid  corrupting your tar file. This flag is
                mutually exclusive with the x flag.

              · x - Extract (restore) a local tar file back to  a
                share.  Unless  the  -D  option is given, the tar
                files will be restored from the top level of  the
                share.  Must  be  followed by the name of the tar
                file, device or "-" for standard input.  Mutually
                exclusive  with  the c flag.  Restored files have
                their creation times  (mtime)  set  to  the  date
                saved  in  the tar file. Directories currently do
                not get their creation dates restored properly.

              · I  -  Include  files  and  directories.   Is  the
                default  behavior  when  filenames  are specified
                above. Causes tar files  to  be  included  in  an
                extract  or create (and therefore everything else
                to be  excluded).  See  example  below.  Filename
                globbing works in one of two ways. See r below.

              · X  -  Exclude  files and directories.  Causes tar
                files to be excluded from an extract  or  create.
                See example below. Filename globbing works in one
                of two ways now.  See r below.

              · b -  Blocksize.  Must  be  followed  by  a  valid
                (greater than zero) blocksize. Causes tar file to
                be written out in blocksize*TBLOCK  (usually  512
                byte) blocks.

              · g - Incremental. Only back up files that have the


              · q - Quiet. Keeps tar from printing diagnostics as
                it works. This is the same as tarmode quiet.

              · r  -  Regular expression include or exclude. Uses
                regular  expression  matching  for  excluding  or
                excluding  files  if  compiled with HAVE_REGEX_H.
                However this mode can be very slow. If  not  com­
                piled  with HAVE_REGEX_H, does a limited wildcard
                match on '*' and '?'.

              · N - Newer than. Must be followed by the name of a
                file  whose  date is compared against files found
                on the share during a create.  Only  files  newer
                than  the file specified are backed up to the tar
                file. Useful only with the c flag.

              · a - Set archive bit. Causes the archive bit to be
                reset when a file is backed up. Useful with the g
                and c flags.

       Tar Long File Names

       smbclient's tar option now supports long file  names  both
       on  backup and restore. However, the full path name of the
       file must be less  than  1024  bytes.  Also,  when  a  tar
       archive  is  created,  smbclient's  tar  option places all
       files in the archive with  relative  names,  not  absolute
       names.

       Tar Filenames

       All file names can be given as DOS path names (with '\' as
       the component separator) or as UNIX path names  (with  '/'
       as the component separator).

       Examples

       Restore  from tar file backup.tar into myshare on mypc (no
       password on share).

       smbclient //mypc/yshare "" -N -Tx backup.tar

       Restore everything except users/docs


       Create a tar file of the files beneath  users/docs.

       smbclient //mypc/myshare "" -N -Tc backup.tar users/docs

       Create the same tar file as above, but now use a DOS  path
       name.

       smbclient //mypc/myshare "" -N -tc backup.tar users\edocs

       Create  a tar file of all the files and directories in the
       share.

       smbclient //mypc/myshare "" -N -Tc backup.tar *

       -D initial directory
              Change to initial directory before starting. Proba­
              bly only of any use with the tar -T option.

       -c command string
              command  string  is  a  semicolon-separated list of
              commands to be executed instead of  prompting  from
              stdin.  -N is implied by -c.

              This  is  particularly  useful  in  scripts and for
              printing stdin to the server, e.g. -c 'print -'.


OPERATIONS

       Once the client is running, the user is presented  with  a
       prompt :

       smb:\>

       The  backslash  ("\") indicates the current working direc­
       tory on the server, and will change if the current working
       directory is changed.

       The  prompt indicates that the client is ready and waiting
       to carry out a user command.  Each  command  is  a  single
       word,  optionally  followed by parameters specific to that
       command. Command and parameters are space-delimited unless
       these notes specifically state otherwise. All commands are
       case-insensitive. Parameters to commands may or may not be
       case sensitive, depending on the command.

       You  can  specify  file names which have spaces in them by

       file name".

       Parameters  shown in square brackets (e.g., "[parameter]")
       are optional. If not given, the command will use  suitable
       defaults.   Parameters  shown  in  angle  brackets  (e.g.,
       "<parameter>") are required.

       Note that all commands operating on the server  are  actu­
       ally  performed  by  issuing a request to the server. Thus
       the behavior may vary from server to server, depending  on
       how the server was implemented.

       The  commands  available  are  given  here in alphabetical
       order.

       ? [command]
              If command is specified, the ? command will display
              a  brief  informative  message  about the specified
              command. If no command  is  specified,  a  list  of
              available commands will be displayed.

       ! [shell command]
              If  shell command is specified, the !  command will
              execute a shell locally and run the specified shell
              command.  If no command is specified, a local shell
              will be run.

       cd [directory name]
              If "directory name" is specified, the current work­
              ing  directory on the server will be changed to the
              directory specified. This operation  will  fail  if
              for  any reason the specified directory is inacces­
              sible.

              If no directory  name  is  specified,  the  current
              working directory on the server will be reported.

       del <mask>
              The  client will request that the server attempt to
              delete all files matching  mask  from  the  current
              working directory on the server.

       dir <mask>
              A  list  of  the files matching mask in the current
              working directory on the server will  be  retrieved
              from the server and displayed.

       exit   Terminate  the  connection with the server and exit
              from the program.

       get <remote file name> [local file name]
              Copy the file called  remote  file  name  from  the
              server  to  the  machine  running  the  client.  If

              Note  that  all  transfers in smbclient are binary.
              See also the lowercase command.

       help [command]
              See the ? command above.

       lcd [directory name]
              If directory name is specified, the current working
              directory  on  the local machine will be changed to
              the directory specified. This operation  will  fail
              if  for any reason the specified directory is inac­
              cessible.

              If no directory name is specified, the name of  the
              current working directory on the local machine will
              be reported.

       lowercase
              Toggle lowercasing of filenames  for  the  get  and
              mget commands.

              When lowercasing is toggled ON, local filenames are
              converted to lowercase when using the get and  mget
              commands.  This  is often useful when copying (say)
              MSDOS files from a server, because lowercase  file­
              names are the norm on UNIX systems.

       ls <mask>
              See the dir command above.

       mask <mask>
              This command allows the user to set up a mask which
              will be used during recursive operation of the mget
              and mput commands.

              The  masks  specified to the mget and mput commands
              act as filters for directories  rather  than  files
              when recursion is toggled ON.

              The  mask specified with the mask command is neces­
              sary to filter files within those directories.  For
              example,  if  the mask specified in an mget command
              is "source*" and the mask specified with  the  mask
              command  is  "*.c" and recursion is toggled ON, the
              mget command will retrieve all files matching "*.c"
              in all directories below and including all directo­
              ries matching  "source*"  in  the  current  working
              directory.

              Note  that  the  value  for  mask defaults to blank
              (equivalent to "*") and remains so until  the  mask
              command  is used to change it.  It retains the most
              recently specified  value  indefinitely.  To  avoid

              value of mask back to "*" after using the  mget  or
              mput commands.

       md <directory name>
              See the mkdir command.

       mget <mask>
              Copy all files matching mask from the server to the
              machine running the client.

              Note that mask is  interpreted  differently  during
              recursive  operation  and non-recursive operation -
              refer to the recurse and  mask  commands  for  more
              information.  Note  that all transfers in smbclient
              are binary. See also the lowercase command.

       mkdir <directory name>
              Create a new directory on the server  (user  access
              privileges permitting) with the specified name.

       mput <mask>
              Copy all files matching mask in the current working
              directory on the local machine to the current work­
              ing directory on the server.

              Note  that  mask  is interpreted differently during
              recursive operation and non-recursive  operation  -
              refer  to  the  recurse  and mask commands for more
              information. Note that all transfers  in  smbclient
              are binary.

       print <file name>
              Print  the  specified  file  from the local machine
              through a printable service on the server.

              See also the printmode command.

       printmode <graphics or text>
              Set the print mode to suit either binary data (such
              as graphical information) or text. Subsequent print
              commands will use the currently set print mode.

       prompt Toggle prompting for filenames during operation  of
              the mget and mput commands.

              When  toggled ON, the user will be prompted to con­
              firm the transfer of each file  during  these  com­
              mands.  When  toggled OFF, all specified files will
              be transferred without prompting.

       put <local file name> [remote file name]
              Copy the file  called  local  file  name  from  the
              machine  running  the  client  to  the  server.  If

              Note  that  all  transfers in smbclient are binary.
              See also the lowercase command.

       queue  Displays the print queue, showing the job id, name,
              size and current status.

       quit   See the exit command.

       rd <directory name>
              See the rmdir command.

       recurse
              Toggle  directory  recursion  for the commands mget
              and mput.

              When toggled ON, these commands  will  process  all
              directories  in  the  source  directory  (i.e., the
              directory they are copying from ) and will  recurse
              into  any that match the mask specified to the com­
              mand. Only files  that  match  the  mask  specified
              using  the mask command will be retrieved. See also
              the mask command.

              When recursion is toggled OFF, only files from  the
              current  working  directory  on  the source machine
              that match the mask specified to the mget  or  mput
              commands  will  be  copied,  and any mask specified
              using the mask command will be ignored.

       rm <mask>
              Remove all files matching  mask  from  the  current
              working directory on the server.

       rmdir <directory name>
              Remove  the specified directory (user access privi­
              leges permitting) from the server.

       tar <c|x>[IXbgNa]
              Performs a tar operation - see the -T command  line
              option  above. Behavior may be affected by the tar­
              mode command (see below). Using g (incremental) and
              N  (newer)  will affect tarmode settings. Note that
              using the "-" option with tar x may not work -  use
              the command line option instead.

       blocksize <blocksize>
              Blocksize.  Must  be  followed  by a valid (greater
              than zero) blocksize. Causes tar file to be written
              out  in blocksize*TBLOCK (usually 512 byte) blocks.

       tarmode <full|inc|reset|noreset>
              Changes tar's behavior with regard to archive bits.
              In   full   mode,   tar  will  back  up  everything

              default  mode).  In incremental mode, tar will only
              back up files with the archive bit  set.  In  reset
              mode,  tar  will reset the archive bit on all files
              it backs up (implies read/write share).

       setmode <filename> <perm=[+|\-]rsha>
              A version of the DOS attrib  command  to  set  file
              permissions. For example:

              setmode myfile +r

              would make myfile read only.


NOTES

       Some  servers  are  fussy about the case of supplied user­
       names, passwords, share  names  (AKA  service  names)  and
       machine  names.   If  you  fail  to connect try giving all
       parameters in uppercase.

       It is often necessary to use the -n option when connecting
       to  some  types  of  servers.  For example OS/2 LanManager
       insists on a valid NetBIOS name being used, so you need to
       supply a valid name that would be known to the server.

       smbclient  supports  long file names where the server sup­
       ports the LANMAN2 protocol or above.


ENVIRONMENT VARIABLES

       The variable USER may contain the username of  the  person
       using  the  client.  This  information is used only if the
       protocol level is high  enough  to  support  session-level
       passwords.

       The variable PASSWD may contain the password of the person
       using the client. This information is  used  only  if  the
       protocol  level  is  high  enough to support session-level
       passwords.

       The variable LIBSMB_PROG may contain  the  path,  executed
       with  system(), which the client should connect to instead
       of connecting to a server. This functionality is primarily
       intended as a development aid, and works best when using a
       LMHOSTS file


INSTALLATION

       The location of the client program is a matter  for  indi­
       vidual  system administrators. The following are thus sug­
       gestions only.

       It is recommended that the smbclient software be installed
       in  the  /usr/local/samba/bin/  or  /usr/samba/bin/ direc­
       tory, this directory readable by all,  writeable  only  by
       root.  The  client  program itself should be executable by


       The client log files should be put in a directory readable
       and writeable only by the user.

       To  test  the  client, you will need to know the name of a
       running SMB/CIFS server. It is possible to run smbd(8)  as
       an  ordinary  user  - running that server as a daemon on a
       user-accessible port (typically any port number over 1024)
       would provide a suitable test server.


DIAGNOSTICS

       Most  diagnostics  issued  by  the  client are logged in a
       specified log file. The log file name is specified at com­
       pile time, but may be overridden on the command line.

       The  number and nature of diagnostics available depends on
       the debug level used by the client. If you have  problems,
       set the debug level to 3 and peruse the log files.


VERSION

       This  man  page  is  correct  for version 2.2 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  original  Samba  man pages were written by Karl Auer.
       The  man  page  sources  were  converted  to  YODL  format
       (another  excellent  piece of Open Source software, avail­
       able          at           ftp://ftp.icce.rug.nl/pub/unix/
       <URL:ftp://ftp.icce.rug.nl/pub/unix/>) and updated for the
       Samba 2.0 release by Jeremy  Allison.  The  conversion  to
       DocBook for Samba 2.2 was done by Gerald Carter


Man(1) output converted with man2html