diff options
Diffstat (limited to 'docs/docbook/manpages/smbclient.1.sgml')
-rw-r--r-- | docs/docbook/manpages/smbclient.1.sgml | 408 |
1 files changed, 408 insertions, 0 deletions
diff --git a/docs/docbook/manpages/smbclient.1.sgml b/docs/docbook/manpages/smbclient.1.sgml new file mode 100644 index 0000000000..314c815970 --- /dev/null +++ b/docs/docbook/manpages/smbclient.1.sgml @@ -0,0 +1,408 @@ + +Namesmbclient - ftp-like client to access SMB/CIFS resources on servers +Synopsis +smbclient +servicename [-s smb.conf] [-O socket options][-R name resolve order] [-M NetBIOS +name] [-i scope] [-N] [-n NetBIOS name] [-d debuglevel] [-P] [-p port] [-l log +basename] [-h] [-I dest IP] [-E] [-U username] [-L NetBIOS name] [-t terminal +code] [-m max protocol] [-b buffersize] [-W workgroup] [-T<c|x>IXFqgbNan] [-D directory] +[-c command string] +Description +This program is part of the Samba suite. +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 getting 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 +servicenameservicename is the name of +the service you want to use on the server. A service name takes the form +CW//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 servicename CW//smbserver/printer Note that the server +name required is NOT necessarily 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. passwordpassword +is the password required to access the specified service 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 supplied on the +command line (either by using this 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 password 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. Lowercase or mixed case passwords may be rejected +by these servers. Be cautious about including passwords in scripts. -s smb.confThis +parameter specifies the pathname to the Samba configuration file, smb.conf. +This file controls all aspects of the Samba setup on the machine and smbclient +also needs to read this file. -O socket optionsTCP 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 orderThis option allows +the user of smbclient to determine what name resolution services to use +when looking up the NetBIOS name of the host being connected to. The options +are :"lmhosts", "host", "wins" and "bcast". They cause names to be resolved +as follows : olmhosts : Lookup an IP address in the Samba lmhosts file. +The lmhosts file is stored in the same directory as the smb.conf file. ohost +: 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 +depended for instance on IRIX or Solaris this may be controlled by the +/etc/nsswitch.conf file). owins : Query a name with the IP address listed +in the wins server parameter in the smb.conf file. If no WINS server has +been specified this method will be ignored. obcast : Do a broadcast on each +of the known local interfaces listed in the interfaces parameter in the +smb.conf file. 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 without 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 nameThis options allows +you to send messages, using the "WinPopup" protocol, to another computer. +Once a connection is established you then type your message, 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 +smbclient. For example: CWcat mymessage.txt | smbclient -M FRED will send the +message in the file mymessage.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 scopeThis 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 are very rarely used, only set this parameter if you are +the system administrator in charge of all the NetBIOS systems you communicate +with. -NIf 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 nameBy 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 debugleveldebuglevel +is an integer from 0 to 10, or the letter 'A'. The default value if this parameter +is not specified 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 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. 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 override +the log level parameter in the smb.conf (5) file. -PThis option is no longer +used. The code in Samba2.0 now lets the server decide the device type, so +no printer specific flag is needed. -p portThis 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. -l logfilenameIf +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 CWlog.client. +The log file generated is never removed by the client. -hPrint the usage +message for the client. -I IP addressIP 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 supplied, it will +be determined automatically by the client as described above. -EThis 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 usernameThis specifies +the user name that will be used by the client to make a connection, assuming +your server is not a downlevel server that is running a protocol level +that uses passwords on shares, not on usernames. Some servers are fussy +about the case of this name, and some insist that it must be a valid NetBIOS +name. If no username is supplied, it will default to an uppercase version +of the environment variable CWUSER or CWLOGNAME in that order. If no username +is supplied and neither environment variable exists the username "GUEST" +will be used. If the CWUSER environment variable contains a '%' character, +everything after that will be treated as a password. This allows you to +set the environment variable to be CWUSER=username%password so that a password +is not passed on the command line (where it may be seen by the ps command). +You can specify a domain name as part of the username by using a username +of the form "DOMAIN/user" or "DOMAIN\user". If the service you are connecting +to requires a password, it can be supplied using the -U option, by appending +a percent symbol ("%") then the password to username. For example, to attach +to a service as user CW"fred" with password CW"secret", you would specify. + +CW-U fred%secret +on the command line. Note that there are no spaces around the percent symbol. +If you specify the password as part of username then the -N option (suppress +password prompt) is assumed. If you specify the password as a parameter +AND as part of username then the password as part of username will take +precedence. Putting nothing before or nothing after the percent symbol will +cause an empty username or an empty password to be used, respectively. The +password may also be specified by setting up an environment variable called +CWPASSWD that contains the users password. Note that this may be very insecure +on some systems but on others allows users to script smbclient commands +without having a password appear in the command line of a process listing. +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 doesn't desire 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. Note: Some servers (including OS/2 and Windows for Workgroups) +insist on an uppercase password. Lowercase or mixed case passwords may be +rejected by these servers. Be cautious about including passwords in scripts +or in the CWPASSWD environment variable. Also, on many systems the command +line of a running process may be seen via the CWps 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 connection. The format of the file is CWusername = +<value> +CWpassword = <value +Make certain that the permissions on the file restrict access from unwanted +users. -LThis option allows you to look at what services are available on +a server. You use it as CW"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 +codeThis option tells smbclient how to interpret filenames coming from +the remote server. Usually Asian language multibyte UNIX implementations +use different character sets than SMB/CIFS servers (EUC instead of SJIS +for example). Setting this parameter 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 complete +list, check the Samba source code for the complete list. -m max protocol +levelWith the new code in Samba2.0, smbclient always attempts to connect +at the maximum protocols level the server supports. This parameter is preserved +for backwards compatibility, but any string following the -m will be ignored. +-b buffersizeThis 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 WORKGROUPOverride 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 optionssmbclient 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 : cCreate +a tar file on UNIX. Must be followed by the name of a tar file, tape device +or CW"-" for standard output. If using standard output you must turn the +log level to its lowest value CW-d0 to avoid corrupting your tar file. This +flag is mutually exclusive with the x flag. xExtract (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 CW"-" 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. IInclude 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. XExclude +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. bBlocksize. Must be followed by a valid (greater than zero) +blocksize. Causes tar file to be written out in blocksize*TBLOCK (usually +512 byte) blocks. gIncremental. Only back up files that have the archive +bit set. Useful only with the c flag. qQuiet. Keeps tar from printing diagnostics +as it works. This is the same as tarmode quiet. rRegular expression include +or exclude. Uses regular regular expression matching for excluding or +excluding files if compiled with HAVE_REGEX_H. However this mode can be +very slow. If not compiled with HAVE_REGEX_H, does a limited wildcard match +on * and ?. NNewer 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. aSet 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 CW\ as the component separator) +or as UNIX path names (with CW/ as the component separator). Examples oRestore +from tar file backup.tar into myshare on mypc (no password on share). CWsmbclient +//mypc/myshare "" -N -Tx backup.tar oRestore everything except users/docs +CWsmbclient //mypc/myshare "" -N -TXx backup.tar users/docs oCreate a tar +file of the files beneath users/docs. CWsmbclient //mypc/myshare "" -N -Tc +backup.tar users/docs oCreate the same tar file as above, but now use a +DOS path name. CWsmbclient //mypc/myshare "" -N -tc backup.tar users\edocs oCreate +a tar file of all the files and directories in the share. CWsmbclient //mypc/myshare +"" -N -Tc backup.tar * -D initial directoryChange to initial directory before +starting. Probably only of any use with the tar -T option. -c command stringcommand +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. CW-c 'print -'. +Operations +Once +the client is running, the user is presented with a prompt : +CWsmb:\> +The +backslash ("\") indicates the current working directory 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 quoting the name with double quotes, +for example "a long 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 actually 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 working directory on the server will be +changed to the directory specified. This operation will fail if for any +reason the specified directory is inaccessible. 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. exitTerminate 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 specified, name the local copy "local +file name". 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 inaccessible. If +no directory name is specified, the name of the current working directory +on the local machine will be reported. lowercaseToggle 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 +filenames 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 .B mask command +is necessary 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 directories 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 unexpected results it would be wise +to change the value of .I 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 .B 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 working 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 .B 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. promptToggle prompting for +filenames during operation of the mget and mput commands. When toggled ON, +the user will be prompted to confirm the transfer of each file during these +commands. 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 specified, +name the remote copy "remote file name". Note that all transfers in smbclient +are binary. See also the lowercase command. queueDisplays the print queue, +showing the job id, name, size and current status. quitSee the exit command. +rd <directory name>See the rmdir command. recurseToggle 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 +.IR from ) and will recurse into any that match the mask specified to the +command. 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 privileges +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 tarmode +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 regardless of the archive bit setting (this is the 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: CWsetmode myfile ++r would make myfile read only. +Notes +Some servers are fussy about the case +of supplied usernames, 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 supports 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. +Installation +The location of the client program +is a matter for individual system administrators. The following are thus +suggestions only. +It is recommended that the smbclient software be installed +in the /usr/local/samba/bin or /usr/samba/bin directory, this directory +readable by all, writeable only by root. The client program itself should +be executable by all. The client should NOT be setuid or setgid! +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) 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 compile 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.0 of the Samba suite. + +Author +The original Samba software and related utilities were created by +Andrew Tridgell samba@samba.org. 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, +available at ftp://ftp.icce.rug.nl/pub/unix/) and updated for the Samba2.0 +release by Jeremy Allison. samba@samba.org. +See samba (7) to find out how +to get a full list of contributors and details on how to submit bug reports, +comments etc.
\ No newline at end of file |