diff options
author | Gerald Carter <jerry@samba.org> | 2001-02-23 15:37:33 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2001-02-23 15:37:33 +0000 |
commit | e7b5378e4905e0c42692d550d4d0bc5c5c4012dd (patch) | |
tree | 8643be91713b66561edc430c75baf470d6d3dc7a | |
parent | 7082b61c4b06a9c5b4a6fe89a0f3e1ac5945066c (diff) | |
download | samba-e7b5378e4905e0c42692d550d4d0bc5c5c4012dd.tar.gz samba-e7b5378e4905e0c42692d550d4d0bc5c5c4012dd.tar.bz2 samba-e7b5378e4905e0c42692d550d4d0bc5c5c4012dd.zip |
last files converted!!! Yah!!!! :-)
(This used to be commit 435dbd0535dda564523521db1a820a84ad6d96e3)
-rw-r--r-- | docs/docbook/manpages/rpcclient.1.sgml | 662 | ||||
-rw-r--r-- | docs/docbook/manpages/smbclient.1.sgml | 1651 |
2 files changed, 1409 insertions, 904 deletions
diff --git a/docs/docbook/manpages/rpcclient.1.sgml b/docs/docbook/manpages/rpcclient.1.sgml index ef3fb1454e..ef475d0032 100644 --- a/docs/docbook/manpages/rpcclient.1.sgml +++ b/docs/docbook/manpages/rpcclient.1.sgml @@ -1,270 +1,392 @@ -<!-- - - I am looking for help to finish SGML. - ---> -<!-- manual page source format generated by PolyglotMan v3.0.9 - available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z --> - -<RefEntry ID="RPCCLIENT"."8"> -<RefMeta><RefEntryTitle>"RPCCLIENT"</RefEntryTitle><ManVolNum>"8"</ManVolNum></RefMeta> - -<RefNameDiv><Title>Name</Title>rpcclient </RefEntry><RefPurpose> developer's tool to testing client side MS-RPC functions </RefSect1> - -<RefSynopsisDiv><Title>Synopsis</Title><ItemizedList MARK=Bullet> -<Term><B>rpcclient</B></Term><ListItem><Para>[-d -debuglevel] [-S server] [-l logbasename] [-n netbios name] [-N] [-m maxprotocol] -[-I destIP] [-E] [-U username] [-W workgroup] [-c `command string`] [-t terminalcode] -[-i scope] [-O socket options] [-s smb.conf] </Para></ListItem> -</ItemizedList> -</RefSect1> - -<RefSect1><Title>Description</Title><ItemizedList MARK=Bullet> -<Term><B>rpcclient</B></Term><ListItem><Para>is a utility -for developers for executing various MS-RPC functions. It's primary use is -for testing Samba's own MS-RPC server implementation, however many administrators -have written scripts around it to manage Windows NT clients from their -UNIX workstation. </Para></ListItem> -</ItemizedList> -</RefSect1> - -<RefSect1><Title>Options</Title> - -<Para><ItemizedList MARK=Bullet> -<Term><B>-d debuglevel</B></Term><ListItem><Para>set the debuglevel. Debug level 0 is -the lowest and 100 being the highest. This should be set to 100 if you are -planning on submitting a bug report to the Samba team (see BUGS.txt). </Para></ListItem> -<Term><B>-S -server</B></Term><ListItem><Para>NetBIOS name of Server to which you wish to connect. The server can -be any SMB/CIFS server. The name is resolved using either the "name resolve - order = " line or by using the <B>-R</B> option. </Para></ListItem> -<Term><B>-l logbasename</B></Term><ListItem><Para>File name for log/debug -files. .client will be appended. The log file is never removed by the client. -</Para></ListItem> -<Term><B>-n netbios name</B></Term><ListItem><Para>NetBIOS name of the local machine. This option is only needed -if your Samba client cannot find it automatically. Samba should use the -uppercase of the machine's hostname. </Para></ListItem> -<Term><B>-N</B></Term><ListItem><Para>tells rpcclient not to ask for a password. -rpcclient will prompt the user by default. </Para></ListItem> -<Term><B>-I destIP</B></Term><ListItem><Para>The IP address of the -server specified with the <B>-S</B> option. Only needed when the server's NetBIOS -name cannot be resolved using WINS or broadcast and isn't found in the LMHOSTS -file. </Para></ListItem> -<Term><B>-E</B></Term><ListItem><Para>causes regedit to write messages to stderr instead of stdout. </Para></ListItem> -<Term><B>-U username[%pass]</B></Term><ListItem><Para>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 exist, the string is -uppercased. Anything in these variables following a % sign will be treated -as the password. If these environmental variables are not found, the username -GUEST is used. </Para></ListItem> -<Term>If the password is not included in these environment variables -</Term><ListItem><Para>(using the %pass syntax), rpcclient will look for a PASSWD environment -variable from which to read the password. </Para></ListItem> -<Term>A third option is to use a credentials -file which contains </Term><ListItem><Para>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 <B>-A</B> for more details. </Para></ListItem> -<Term>Be cautious about including -passwords in scripts or in the </Term><ListItem><Para>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. </Para></ListItem> -<Term><B>-A <filename></B></Term><ListItem><Para>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 </Para></ListItem> -<Term>CWusername = <value> </Term><ListItem><Para><BR> -CWpassword = <value> <BR> -</Para></ListItem> -<Term>Make certain that the permissions on the file restrict access from </Term><ListItem><Para>unwanted -users. </Para></ListItem> -<Term><B>-W domain</B></Term><ListItem><Para>Set the SMB domain of the username. This overrides the default - domain which is the domain of the server specified with the bt(-S) option. -If the domain specified is the same as the server's NetBIOS name, it causes -the client to log on using the server's local SAM (as opposed to the Domain -SAM). </Para></ListItem> -<Term><B>-P</B></Term><ListItem><Para>operate in promptless mode. Without this mode (the default) rpcclient -displays a prompt of the form '[domain\username@host]$' </Para></ListItem> -<Term><B>-c 'command string'</B></Term><ListItem><Para>execute -semicolon separated commands (listed below)) </Para></ListItem> -<Term><B>-t terminalcode</B></Term><ListItem><Para>This tells the -Samba client how to interpret the incoming filenames, in regards to character -sets. The list here is not complete. For a complete list see your local Samba -source. Some valid options are sjis, euc, jis7, jis8, junet and hex. </Para></ListItem> -<Term><B>-O socket -options</B></Term><ListItem><Para>These socket options are the same as in smb.conf (under the bt(socket -options = ) section). </Para></ListItem> -<Term><B>-s smb.conf</B></Term><ListItem><Para>Specifies the location of the all important -smb.conf file. </Para></ListItem> -<Term><B>-i scope</B></Term><ListItem><Para>Defines the NetBIOS scope. For more information on NetBIOS -scopes, see rfc1001 and rfc1002. NetBIOS scopes are rarely used. </Para></ListItem> -</ItemizedList> - - -<Para></RefSect1> - -<RefSect1><Title>Commands</Title> - -<Para><ItemizedList MARK=Bullet> -<Term><B>SPOOLSS -Commands</B></Term><ListItem><Para></Para></ListItem> -<Term>spoolenum</Term><ListItem><Para>Execute an EnumPrinters call. This lists the various installed -and share printers. Refer to the MS Platform SDK documentation for more -details of the various flags and calling options. </Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term>spoolenumports <level></Term><ListItem><Para>Executes -an EnumPorts call using the specified info level. Currently only info level -1 and 2 are supported. </Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term>spoolenumdata</Term><ListItem><Para>Enumerate all printer setting data stored -on the server. On Windows NT clients, these values are stored in the registry, -while Samba servers store them in the printers TDB. This command corresponds -to the MS Platform SDK EnumPorts function. </Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term>spooljobs <printer></Term><ListItem><Para>List the jobs -and status of a given printer. This command corresponds to the MS Platform -SDK EnumJobs function. </Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term>spoolopen <printer></Term><ListItem><Para>Execute an OpenPrinterEx() and ClosePrinter() -RPC against a given printer. </Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term>spoolgetdata</Term><ListItem><Para>Retrive the data for a given printer -setting. See the <B>spoolenumdata</B> command for more information. This command -corresponds to the GetPrinterData() MS Platform SDK function. </Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term>spoolgetprinter -<printer></Term><ListItem><Para>Retrieve the current printer information. This command sorresponds -to the GetPrinter() MS Platform SDK function. </Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term>spoolgetprinterdriver <printer></Term><ListItem><Para>Retrive -the printer driver information (such as driver file, config file, dependent -files, etc...) for the given printer. This command corresponds to the GetPrinterDriver() -MS Platform SDK function. </Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term>spoolgetprinterdriverdir <arch></Term><ListItem><Para>Execute a GetPrinterDriverDirectory() -RPC to retreive the SMB share name and subdirectory for storing printer -driver files for a given architecture. Possible values for <arch> are "Windows -4.0" (for Windows 95/98), "Windows NT x86", "Windows NT PowerPC", "Windows -Alpha_AXP", and "Windows NT R4000". </Para></ListItem> -</ItemizedList> - - -<Para> <drivername> <port>" .YODLTAGEND. Add a -printer on the remote server. This printer will be automatically shared. - Be aware that the printer driver must already be installed on the server -(see <B>addprinterdriver</B>) and the <port> must be a valid port name. - -<Para><ItemizedList MARK=Bullet> -<Term>spooladdprinterdriver -<arch> <config></Term><ListItem><Para>Execute an AddPrinterDriver() RPC to install the printer driver -information on the server. Note that the driver files should already exist -in the directort returned by <B>spoolgetprinterdriverdir</B>. Possible values -for <arch> are the same as those for the <B>spooolgetprintedriverdir</B> command. -The <config> parameter is defined as follows: </Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term><Long Printer Name>:<Driver File -Name>:<Data File Name>:<Config File Name>:<Help File Name>:<Language Monitor Name>:<Default -Data Type>:<Comma Separated list of Files> </Term><ListItem><Para></Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term>Any empty fields should be enter -as the string "NULL". </Term><ListItem><Para></Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term>Samba does not need to support the concept of Print -Monitors </Term><ListItem><Para>since these only apply to local printers whose driver can make -use of a bi-directional link for communication. This field should be "NULL". - On a remote NT print server, the Print Monitor for a driver must already -be installed prior to adding the driver or else the RPC will fail. </Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term><B>General -Commands</B></Term><ListItem><Para></Para></ListItem> -<Term>set</Term><ListItem><Para>Set miscellaneous rpcclient command line options during a running - session. </Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term>use</Term><ListItem><Para>Connect to a rmeote SMB server. <B>rpcclient</B> has the ability to -maintain connections to multiple server simulaneously. </Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term>help</Term><ListItem><Para>Print a listing -of all known commands or extended help on a particular command. </Para></ListItem> -</ItemizedList> - - -<Para><ItemizedList MARK=Bullet> -<Term>quit</Term><ListItem><Para>Exit -rpcclient. </Para></ListItem> -</ItemizedList> - - -<Para></RefSect1> - -<RefSect1><Title>Bugs</Title>rpcclient is designed as a developer testing tool and may -not be robust in certain areas (such as command line parsing). It has been -known to generate a core dump upon failures when invalid parameters where -passed to the interpreter. - -<Para>From Luke Leighton's original rpcclient man page: -"WARNING! The MSRPC over SMB code has been developed from examining Network -traces. No documentation is available from the original creators (Microsoft) -on how MSRPC over SMB works, or how the individual MSRPC services work. -Microsoft's implementation of these services has been demonstrated (and -reported) to be... a bit flakey in places. - -<Para>The development of Samba's implementation -is also a bit rough, and as more of the services are understood, it can -even result in versions of <B><Command>smbd(8)</B></Command> and rpcclient that are incompatible -for some commands or services. Additionally, the developers are sending -reports to Microsoft, and problems found or reported to Microsoft are -fixed in Service Packs, which may result in incompatibilities." - -<Para></RefSect1> - -<RefSect1><Title>See Also</Title><B><Command>samba -(7)</B></Command> </RefSect1> - -<RefSect1><Title>Author</Title>Samba is written by The Samba Team as Open Source. This man page -was written by Matthew Geddes, Luke Kenneth Casson, and Gerald Carter. </RefSect1> - -</RefEntry> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> +<refentry id="rpcclient"> + +<refmeta> + <refentrytitle>rpcclient</refentrytitle> + <manvolnum>1</manvolnum> +</refmeta> + + +<refnamediv> + <refname>rpcclient</refname> + <refpurpose>developer's tool to testing client side + MS-RPC functions</refpurpose> +</refnamediv> + +<refsynopsisdiv> + <cmdsynopsis> + <command>nmblookup</command> + <arg choice="opt">-d debuglevel</arg> + <arg choice="opt">-S server</arg> + <arg choice="opt">-U username</arg> + <arg choice="opt">-W workgroup</arg> + <arg choice="opt">-n <netbios name></arg> + <arg choice="opt">-A authfile</arg> + <arg choice="opt">-N</arg> + <arg choice="opt">-l logfile</arg> + <arg choice="opt">-I destinationIP</arg> + <arg choice="opt">-E <terminal code></arg> + <arg choice="opt">-c <command string></arg> + <arg choice="opt">-i scope</arg> + <arg choice="opt">-O <socket options></arg> + <arg choice="opt">-s <smb config file></arg> + </cmdsynopsis> +</refsynopsisdiv> + +<refsect1> + <title>DESCRIPTION</title> + + <para>This tool is part of the <ulink url="samba.7.html"> + Samba</ulink> suite.</para> + + <para><command>rpcclient</command> is a utility for developers for + executing various MS-RPC functions. It's primary use is for testing + Samba's own MS-RPC server implementation, however many administrators + have written scripts around it to manage Windows NT clients from + their UNIX workstation. </para> +</refsect1> + + +<refsect1> + <title>OPTIONS</title> + + <variablelist> + <varlistentry> + <term>-d debuglevel</term> + <listitem><para>set the debuglevel. Debug level 0 is the lowest + and 100 being the highest. This should be set to 100 if you are + planning on submitting a bug report to the Samba team + (see BUGS.txt). </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-S server</term> + <listitem><para>NetBIOS name of Server to which you wish to + connect. The server can be any SMB/CIFS server. The name is + resolved using either the <parameter>name resolve order</parameter> + line or by using the -R option. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-l logbasename</term> + <listitem><para>File name for log/debug files. .client will be + appended. The log file is never removed by the client. + </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-n netbios name</term><listitem><para>NetBIOS name of the + local machine. This option is only needed if your Samba client + cannot find it automatically. Samba should use the uppercase + of the machine's hostname. </para></listitem> + </varlistentry> + + <varlistentry> + <term>-N</term> + <listitem><para>tells rpcclient not to ask for a password. + <command>rpcclient</command> will prompt the user by default. + </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-I destinationIP</term> + <listitem><para>The IP address of the server specified with + the -S option. Only needed when the server's NetBIOS name cannot + be resolved using WINS or broadcast and isn't found in the LMHOSTS + file. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-E</term> + <listitem><para>causes <command>rpcclient</command> to write + messages to stderr instead of stdout. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-U username[%pass]</term> + <listitem><para>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 + <parameter>$LOGNAME</parameter> variable and if either exist, the + string is uppercased. Anything in these variables following a '%' + sign will be treated as the password. If these environmental + variables are not found, the username <constant>GUEST</constant> + is used. </para> + + <para>If the password is not included in these environment + variables (using the %pass syntax), rpcclient will look for + a <parameter>$PASSWD</parameter> environment variable from which + to read the password. </para> + + <para>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 + <parameter>-A</parameter> for more details. </para> + + <para>Be cautious about including passwords in scripts or in + the <parameter>$PASSWD</parameter> environment variable. Also, on + many systems the command line of a running process may be seen + via the <command>ps</command> command to be safe always allow + <command>rpcclient</command> to prompt for a password and type + it in directly. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-A filename</term><listitem><para>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 + </para> + + <para><programlisting> +username = <value> +password = <value> + </programlisting></para> + + + <para>Make certain that the permissions on the file restrict + access from unwanted users. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-W domain</term> + <listitem><para>Set the SMB domain of the username. This + overrides the default domain which is the domain of the + server specified with the <parameter>-S</parameter> option. + If the domain specified is the same as the server's NetBIOS name, + it causes the client to log on using the server's local SAM (as + opposed to the Domain SAM). </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-P</term> + <listitem><para>operate in promptless mode. Without this + mode (the default) <command>rpcclient</command> displays a + prompt of the form '[domain\username@host]$' </para></listitem> + </varlistentry> + + + + <varlistentry> + <term>-c 'command string'</term> + <listitem><para>execute semicolon separated commands (listed + below)) </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-t terminalcode</term> + <listitem><para>This tells the Samba client how to interpret + the incoming filenames, in regards to character sets. The list + here is not complete. For a complete list see your local Samba + source. Some valid options are sjis, euc, jis7, jis8, junet + and hex. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-O socket options</term> + <listitem><para>These socket options are the same as in + <filename>smb.conf</filename> (under the <parameter>socket options + </parameter> section). </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-s smb.conf</term> + <listitem><para>Specifies the location of the all important + <filename>smb.conf</filename> file. </para></listitem> + </varlistentry> + + + + <varlistentry> + <term>-i scope</term> + <listitem><para>Defines the NetBIOS scope. For more + information on NetBIOS scopes, see rfc1001 and rfc1002. NetBIOS + scopes are rarely used. </para></listitem> + </varlistentry> + </variablelist> +</refsect1> + + +<refsect1> + <title>COMMANDS</title> + + <para><emphasis>SPOOLSS Commands</emphasis></para> + + <itemizedlist> + <listitem><para><command>spoolenum</command> - Execute an EnumPrinters() + call. This lists the various installed and share printers. Refer + to the MS Platform SDK documentation for more details of the various + flags and calling options. </para></listitem> + + <listitem><para><command>spoolenumports level + </command> - Executes an EnumPorts() call using the specified + info level. Currently only info level 1 and 2 are supported. + </para></listitem> + + <listitem><para><command>spoolenumdata</command> - Enumerate all + printer setting data stored on the server. On Windows NT clients, + these values are stored in the registry, while Samba servers + store them in the printers TDB. This command corresponds + to the MS Platform SDK GetPrinterData() function. </para></listitem> + + <listitem><para><command>spooljobs printer</command> - List the jobs + and status of a given printer. + This command corresponds to the MS Platform SDK EnumJobs() + function. </para></listitem> + + <listitem><para><command>spoolopen printer + </command> - Execute an OpenPrinterEx() and ClosePrinter() RPC + against a given printer. </para></listitem> + + <listitem><para><command>spoolgetdata printer + </command> - Retrieve the data for a given printer setting. See + the <command>spoolenumdata</command> command for more information. + This command corresponds to the GetPrinterData() MS Platform + SDK function. </para></listitem> + + <listitem><para><command>spoolgetprinter printer + </command> - Retrieve the current printer information. This command + corresponds to the GetPrinter() MS Platform SDK function. + </para></listitem> + + <listitem><para><command>spoolgetprinterdriver + printer</command> - Retrieve the printer driver information + (such as driver file, config file, dependent files, etc...) for + the given printer. This command corresponds to the GetPrinterDriver() + MS Platform SDK function. </para></listitem> + + <listitem><para><command>spoolgetprinterdriverdir + arch</command> - Execute a GetPrinterDriverDirectory() + RPC to retreive the SMB share name and subdirectory for + storing printer driver files for a given architecture. Possible + values for <parameter>arch</parameter> are "Windows 4.0" + (for Windows 95/98), "Windows NT x86", "Windows NT PowerPC", "Windows + Alpha_AXP", and "Windows NT R4000". </para></listitem> + + <listitem><para><command>spooladdprinterdriver + arch config</command> - Execute an + AddPrinterDriver() RPC to install the printer driver information + on the server. Note that the driver files should already exist + in the directory returned by spoolgetprinterdriverdir. Possible + values for <parameter>arch</parameter> are the same as those for + the <command>spooolgetprintedriverdir</command> command. + The <parameter>config</parameter> parameter is defined as + follows: </para> + + <para><programlisting> +Long Printer Name:\ +Driver File Name:\ +Data File Name:\ +Config File Name:\ +Help File Name:\ +Language Monitor Name:\ +Default Data Type:\ +Comma Separated list of Files + </programlisting></para> + + <para>Any empty fields should be enter as the string "NULL". </para> + + <para>Samba does not need to support the concept of Print Monitors + since these only apply to local printers whose driver can make + use of a bi-directional link for communication. This field should + be "NULL". On a remote NT print server, the Print Monitor for a + driver must already be installed prior to adding the driver or + else the RPC will fail. </para></listitem> + + + <listitem><para><command>spooladdprinter printername + sharename drivername port + </command> - Add a printer on the remote server. This printer + will be automatically shared. Be aware that the printer driver + must already be installed on the server (see addprinterdriver) + and the <parameter>port</parameter>must be a valid port name. </para> + </listitem> + + </itemizedlist> + + + <para><emphasis>SPOOLSS Commands</emphasis></para> + + <itemizedlist> + <listitem><para><command>set</command> - Set miscellaneous + <command>rpcclient</command> command line options during a + running session. </para></listitem> + + <listitem><para><command>use</command> - Connect to a rmeote SMB + server. <command>rpcclient</command> has the ability to + maintain connections to multiple server simulaneously. </para></listitem> + + <listitem><para><command>help</command> - Print a listing of all + known commands or extended help on a particular command. + </para></listitem> + + <listitem><para><command>quit</command> - Exit <command>rpcclient + </command> + </para></listitem> + </itemizedlist> + + +</refsect1> + +<refsect1> + <title>BUGS</title> + + <para><command>rpcclient</command> is designed as a developer testing tool + and may not be robust in certain areas (such as command line parsing). + It has been known to generate a core dump upon failures when invalid + parameters where passed to the interpreter. </para> + + <para>From Luke Leighton's original rpcclient man page:</para> + + <para><emphasis>"WARNING!</emphasis> The MSRPC over SMB code has + been developed from examining Network traces. No documentation is + available from the original creators (Microsoft) on how MSRPC over + SMB works, or how the individual MSRPC services work. Microsoft's + implementation of these services has been demonstrated (and reported) + to be... a bit flakey in places. </para> + + <para>The development of Samba's implementation is also a bit rough, + and as more of the services are understood, it can even result in + versions of <command>smbd(8)</command> and <command>rpcclient</command> + that are incompatible for some commands or services. Additionally, + the developers are sending reports to Microsoft, and problems found + or reported to Microsoft are fixed in Service Packs, which may + result in incompatibilities." </para> +</refsect1> + + +<refsect1> + <title>VERSION</title> + + <para>This man page is correct for version 2.2 of + the Samba suite.</para> +</refsect1> + +<refsect1> + <title>AUTHOR</title> + + <para>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.</para> + + <para>The original rpcclient man page was written by Matthew Geddes, + Luke Kenneth Casson, and Gerald Carter. The conversion to + DocBook for Samba 2.2 was done by Gerald Carter</para> +</refsect1> + +</refentry> diff --git a/docs/docbook/manpages/smbclient.1.sgml b/docs/docbook/manpages/smbclient.1.sgml index 008a63bf08..7618ad451c 100644 --- a/docs/docbook/manpages/smbclient.1.sgml +++ b/docs/docbook/manpages/smbclient.1.sgml @@ -1,634 +1,1017 @@ -<!-- - - I am looking for help to finish SGML. - ---> -<!-- manual page source format generated by PolyglotMan v3.0.9 - available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z --> - -<RefEntry ID="smbclient."> -<RefMeta><RefEntryTitle>"smbclient</RefEntryTitle><ManVolNum>"</ManVolNum></RefMeta> - - - -<Para><RefNameDiv><Title>Name</Title>smbclient </RefEntry><RefPurpose> ftp-like client to access SMB/CIFS resources on servers - -<Para></RefSect1> - -<RefSynopsisDiv><Title>Synopsis</Title> - -<Para><B>smbclient</B> -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] - -<Para></RefSect1> - -<RefSect1><Title>Description</Title> - -<Para>This program is part of the <B>Samba</B> suite. - -<Para><B>smbclient</B> -is a client that can 'talk' to an SMB/CIFS server. It offers an interface -similar to that of the ftp program (see <B><Command>ftp (1)</B></Command>). 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. - -<Para></RefSect1> - -<RefSect1><Title>Options</Title> - -<Para><ItemizedList MARK=Bullet> -<Term><B>servicename</B></Term><ListItem><Para>servicename is the name of -the service you want to use on the server. A service name takes the form -CW//server/service where <I>server</I> is the NetBIOS name of the SMB/CIFS server -offering the desired service and <I>service</I> is the name of the service offered. -Thus to connect to the service <I>printer</I> on the SMB/CIFS server <I>smbserver</I>, -you would use the servicename </Para></ListItem> -<Term>CW//smbserver/printer </Term><ListItem><Para></Para></ListItem> -<Term>Note that the server -name required is NOT necessarily the IP (DNS) </Term><ListItem><Para>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. </Para></ListItem> -<Term>The server name -is looked up according to either the </Term><ListItem><Para><B>-R</B> parameter to <B>smbclient</B> or using -the <B>name resolve order</B> parameter in the smb.conf file, allowing an administrator -to change the order and methods by which server names are looked up. </Para></ListItem> -<Term><B>password</B></Term><ListItem><Para>password -is the password required to access the specified service on the specified -server. If this parameter is supplied, the <B>-N</B> option (suppress password prompt) -is assumed. </Para></ListItem> -<Term>There is no default password. If no password is supplied on the -</Term><ListItem><Para>command line (either by using this parameter or adding a password to the -<B>-U</B> option (see below)) and the <B>-N</B> 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.) -</Para></ListItem> -<Term>Note: Some servers (including OS/2 and Windows for Workgroups) insist </Term><ListItem><Para>on -an uppercase password. Lowercase or mixed case passwords may be rejected -by these servers. </Para></ListItem> -<Term>Be cautious about including passwords in scripts. </Term><ListItem><Para></Para></ListItem> -<Term><B>-s smb.conf</B></Term><ListItem><Para>This -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. </Para></ListItem> -<Term><B>-O socket options</B></Term><ListItem><Para>TCP socket options to set -on the client socket. See the socket options parameter in the <B><Command>smb.conf (5)</B></Command> -manpage for the list of valid options. </Para></ListItem> -<Term><B>-R name resolve order</B></Term><ListItem><Para>This 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. </Para></ListItem> -<Term>The options -are :"lmhosts", "host", "wins" and "bcast". They cause </Term><ListItem><Para>names to be resolved -as follows : </Para></ListItem> -<Term>o</Term><ListItem><Para><B>lmhosts</B> : Lookup an IP address in the Samba lmhosts file. -The lmhosts file is stored in the same directory as the <B>smb.conf</B> file. </Para></ListItem> -<Term>o</Term><ListItem><Para><B>host</B> -: 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 -<I>/etc/nsswitch.conf</I> file). </Para></ListItem> -<Term>o</Term><ListItem><Para><B>wins</B> : Query a name with the IP address listed -in the <B>wins server</B> parameter in the smb.conf file. If no WINS server has -been specified this method will be ignored. </Para></ListItem> -<Term>o</Term><ListItem><Para><B>bcast</B> : Do a broadcast on each -of the known local interfaces listed in the <B>interfaces</B> 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. </Para></ListItem> -<Term>If -this parameter is not set then the name resolve order defined </Term><ListItem><Para>in the <B>smb.conf</B> -file parameter (<B>name resolve order</B>) will be used. </Para></ListItem> -<Term>The default order is -lmhosts, host, wins, bcast and without this </Term><ListItem><Para>parameter or any entry in the -<B>"name resolve order"</B> parameter of the <B>smb.conf</B> file the name resolution -methods will be attempted in this order. </Para></ListItem> -<Term><B>-M NetBIOS name</B></Term><ListItem><Para>This 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. </Para></ListItem> -<Term>If the receiving computer is running WinPopup the user -will receive </Term><ListItem><Para>the message and probably a beep. If they are not running WinPopup -the message will be lost, and no error message will occur. </Para></ListItem> -<Term>The message is -also automatically truncated if the message is over </Term><ListItem><Para>1600 bytes, as this -is the limit of the protocol. </Para></ListItem> -<Term>One useful trick is to cat the message through -<B>smbclient</B>. </Term><ListItem><Para>For example: </Para></ListItem> -<Term>CWcat mymessage.txt | smbclient -M FRED </Term><ListItem><Para></Para></ListItem> -<Term>will send the -message in the file <I>mymessage.txt</I> to the machine FRED. </Term><ListItem><Para></Para></ListItem> -<Term>You may also find -the <B>-U</B> and <B>-I</B> options useful, as they allow </Term><ListItem><Para>you to control the FROM and TO -parts of the message. </Para></ListItem> -<Term>See the <B>message command</B> </Term><ListItem><Para>parameter in the <B><Command>smb.conf (5)</B></Command> -for a description of how to handle incoming WinPopup messages in Samba. -</Para></ListItem> -<Term>Note: Copy WinPopup into the startup group on your WfWg PCs if you </Term><ListItem><Para>want -them to always be able to receive messages. </Para></ListItem> -<Term><B>-i scope</B></Term><ListItem><Para>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 are <I>very</I> rarely used, only set this parameter if you are -the system administrator in charge of all the NetBIOS systems you communicate -with. </Para></ListItem> -<Term><B>-N</B></Term><ListItem><Para>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. </Para></ListItem> -<Term>Unless a password is specified on the command -line or this parameter </Term><ListItem><Para>is specified, the client will request a password. -</Para></ListItem> -<Term><B>-n NetBIOS name</B></Term><ListItem><Para>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. </Para></ListItem> -<Term><B>-d debuglevel</B></Term><ListItem><Para>debuglevel -is an integer from 0 to 10, or the letter 'A'. </Para></ListItem> -<Term>The default value if this parameter -is not specified is zero. </Term><ListItem><Para></Para></ListItem> -<Term>The higher this value, the more detail will be -logged to the log files </Term><ListItem><Para>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. </Para></ListItem> -<Term>Levels above 1 will generate considerable -amounts of log data, and </Term><ListItem><Para>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 <I>all</I> debug messages will be printed. This setting -is for developers only (and people who <I>really</I> want to know how the code -works internally). </Para></ListItem> -<Term>Note that specifying this parameter here will override -the <B>log </B></Term><ListItem><Para>level parameter in the <B><Command>smb.conf (5)</B></Command> file. </Para></ListItem> -<Term><B>-P</B></Term><ListItem><Para>This 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. </Para></ListItem> -<Term><B>-p port</B></Term><ListItem><Para>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. </Para></ListItem> -<Term><B>-l logfilename</B></Term><ListItem><Para>If -specified, logfilename specifies a base filename into which operational -data from the running client will be logged. </Para></ListItem> -<Term>The default base name is specified -at compile time. </Term><ListItem><Para></Para></ListItem> -<Term>The base name is used to generate actual log file names. -For example, </Term><ListItem><Para>if the name specified was "log", the debug file would be CWlog.client. -</Para></ListItem> -<Term>The log file generated is never removed by the client. </Term><ListItem><Para></Para></ListItem> -<Term><B>-h</B></Term><ListItem><Para>Print the usage -message for the client. </Para></ListItem> -<Term><B>-I IP address</B></Term><ListItem><Para>IP address is the address of the server -to connect to. It should be specified in standard "a.b.c.d" notation. </Para></ListItem> -<Term>Normally -the client would attempt to locate a named SMB/CIFS server by </Term><ListItem><Para>looking it -up via the NetBIOS name resolution mechanism described above in the <B>name -resolve order</B> 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. </Para></ListItem> -<Term>There is no default for this parameter. If not supplied, it will -be </Term><ListItem><Para>determined automatically by the client as described above. </Para></ListItem> -<Term><B>-E</B></Term><ListItem><Para>This parameter -causes the client to write messages to the standard error stream (stderr) -rather than to the standard output stream. </Para></ListItem> -<Term>By default, the client writes -messages to standard output - typically </Term><ListItem><Para>the user's tty. </Para></ListItem> -<Term><B>-U username</B></Term><ListItem><Para>This 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. </Para></ListItem> -<Term>Some servers are fussy -about the case of this name, and some insist </Term><ListItem><Para>that it must be a valid NetBIOS -name. </Para></ListItem> -<Term>If no username is supplied, it will default to an uppercase version -of </Term><ListItem><Para>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. </Para></ListItem> -<Term>If the CWUSER environment variable contains a '%' character, -</Term><ListItem><Para>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). -</Para></ListItem> -<Term>You can specify a domain name as part of the username by using a </Term><ListItem><Para>username -of the form "DOMAIN/user" or "DOMAIN\user". </Para></ListItem> -<Term>If the service you are connecting -to requires a password, it can be </Term><ListItem><Para>supplied using the <B>-U</B> 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. - <BR> -</Para></ListItem> -<Term>CW-U fred%secret </Term><ListItem><Para><BR> -</Para></ListItem> -<Term>on the command line. Note that there are no spaces around the percent </Term><ListItem><Para>symbol. -</Para></ListItem> -<Term>If you specify the password as part of username then the <B>-N</B> option </Term><ListItem><Para>(suppress -password prompt) is assumed. </Para></ListItem> -<Term>If you specify the password as a parameter -<I>AND</I> as part of username </Term><ListItem><Para>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. </Para></ListItem> -<Term>The -password may also be specified by setting up an environment </Term><ListItem><Para>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. -</Para></ListItem> -<Term>A third option is to use a credentials file which contains </Term><ListItem><Para>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 -<B>-A</B> for more details. </Para></ListItem> -<Term>Note: Some servers (including OS/2 and Windows for Workgroups) -insist </Term><ListItem><Para>on an uppercase password. Lowercase or mixed case passwords may be -rejected by these servers. </Para></ListItem> -<Term>Be cautious about including passwords in scripts -or in the </Term><ListItem><Para>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. </Para></ListItem> -<Term><B>-A <filename></B></Term><ListItem><Para>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 </Para></ListItem> -<Term>CWusername = -<value> </Term><ListItem><Para><BR> -CWpassword = <value <BR> -</Para></ListItem> -<Term>Make certain that the permissions on the file restrict access from </Term><ListItem><Para>unwanted -users. </Para></ListItem> -<Term><B>-L</B></Term><ListItem><Para>This 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 -<B>-I</B> 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. </Para></ListItem> -<Term><B>-t terminal -code</B></Term><ListItem><Para>This 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 (<I>EUC</I> instead of <I>SJIS</I> -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. </Para></ListItem> -<Term>The terminal codes include -CWsjis, CWeuc, CWjis7, CWjis8, </Term><ListItem><Para>CWjunet, CWhex, CWcap. This is not a complete -list, check the Samba source code for the complete list. </Para></ListItem> -<Term><B>-m max protocol -level</B></Term><ListItem><Para>With the new code in Samba2.0, <B>smbclient</B> always attempts to connect -at the maximum protocols level the server supports. This parameter is preserved -for backwards compatibility, but any string following the <B>-m</B> will be ignored. -</Para></ListItem> -<Term><B>-b buffersize</B></Term><ListItem><Para>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. </Para></ListItem> -<Term><B>-W WORKGROUP</B></Term><ListItem><Para>Override the default workgroup specified -in the <B>workgroup</B> parameter of the <B>smb.conf</B> file for this connection. This -may be needed to connect to some servers. </Para></ListItem> -<Term><B>-T tar options</B></Term><ListItem><Para>smbclient may be -used to create <B><Command>tar (1)</B></Command> compatible backups of all the files on an SMB/CIFS -share. The secondary tar flags that can be given to this option are : </Para></ListItem> -<Term><B>c</B></Term><ListItem><Para>Create -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 <B>x</B> flag. </Para></ListItem> -<Term><B>x</B></Term><ListItem><Para>Extract (restore) a local tar -file back to a share. Unless the <B>-D</B> 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 <B>c</B> 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. </Para></ListItem> -<Term><B>I</B></Term><ListItem><Para>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 <B>r</B> below. </Para></ListItem> -<Term><B>X</B></Term><ListItem><Para>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 <B>r</B> below. </Para></ListItem> -<Term><B>b</B></Term><ListItem><Para>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. </Para></ListItem> -<Term><B>g</B></Term><ListItem><Para>Incremental. Only back up files that have the archive -bit set. Useful only with the <B>c</B> flag. </Para></ListItem> -<Term><B>q</B></Term><ListItem><Para>Quiet. Keeps tar from printing diagnostics -as it works. This is the same as tarmode quiet. </Para></ListItem> -<Term><B>r</B></Term><ListItem><Para>Regular 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 ?. </Para></ListItem> -<Term><B>N</B></Term><ListItem><Para>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 <B>c</B> flag. </Para></ListItem> -<Term><B>a</B></Term><ListItem><Para>Set archive bit. Causes the archive bit to be reset when -a file is backed up. Useful with the <B>g</B> and <B>c</B> flags. </Para></ListItem> -<Term><I>Tar Long File Names</I> </Term><ListItem><Para></Para></ListItem> -<Term>smbclient's -tar option now supports long file names both on backup and </Term><ListItem><Para>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. </Para></ListItem> -<Term><I>Tar Filenames</I> </Term><ListItem><Para></Para></ListItem> -<Term>All file -names can be given as DOS path names (with CW\ as the </Term><ListItem><Para>component separator) -or as UNIX path names (with CW/ as the component separator). </Para></ListItem> -<Term><I>Examples</I> </Term><ListItem><Para></Para></ListItem> -<Term>o</Term><ListItem><Para>Restore -from tar file backup.tar into myshare on mypc (no password on share). </Para></ListItem> -<Term>CWsmbclient -//mypc/myshare "" -N -Tx backup.tar </Term><ListItem><Para></Para></ListItem> -<Term>o</Term><ListItem><Para>Restore everything except users/docs -</Para></ListItem> -<Term>CWsmbclient //mypc/myshare "" -N -TXx backup.tar users/docs </Term><ListItem><Para></Para></ListItem> -<Term>o</Term><ListItem><Para>Create a tar -file of the files beneath users/docs. </Para></ListItem> -<Term>CWsmbclient //mypc/myshare "" -N -Tc -backup.tar users/docs </Term><ListItem><Para></Para></ListItem> -<Term>o</Term><ListItem><Para>Create the same tar file as above, but now use a -DOS path name. </Para></ListItem> -<Term>CWsmbclient //mypc/myshare "" -N -tc backup.tar users\edocs </Term><ListItem><Para></Para></ListItem> -<Term>o</Term><ListItem><Para>Create -a tar file of all the files and directories in the share. </Para></ListItem> -<Term>CWsmbclient //mypc/myshare -"" -N -Tc backup.tar * </Term><ListItem><Para></Para></ListItem> -<Term><B>-D initial directory</B></Term><ListItem><Para>Change to initial directory before -starting. Probably only of any use with the tar <B>-T</B> option. </Para></ListItem> -<Term><B>-c command string</B></Term><ListItem><Para>command -string is a semicolon separated list of commands to be executed instead -of prompting from stdin. <B>-N</B> is implied by <B>-c</B>. </Para></ListItem> -<Term>This is particularly useful in -scripts and for printing stdin to the </Term><ListItem><Para>server, e.g. CW-c 'print -'. </Para></ListItem> -</ItemizedList> - - -<Para></RefSect1> - -<RefSect1><Title>Operations</Title> - -<Para>Once -the client is running, the user is presented with a prompt : - -<Para>CWsmb:\> - -<Para>The -backslash ("\") <ItemizedList MARK=Bullet> -<Term>indicates the current working directory on the </Term><ListItem><Para>server, and -will change if the current working directory is changed. </Para></ListItem> -</ItemizedList> - - -<Para>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. - -<Para>You can specify -file names which have spaces in them by quoting the name with double quotes, -for example "a long file name". - -<Para>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. - - -<Para>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. - -<Para>The commands available -are given here in alphabetical order. - -<Para><ItemizedList MARK=Bullet> -<Term><B>? [command]</B></Term><ListItem><Para>If "command" is specified, -the <B>?</B> command will display a brief informative message about the specified -command. If no command is specified, a list of available commands will -be displayed. </Para></ListItem> -<Term><B>! [shell command]</B></Term><ListItem><Para>If "shell command" is specified, the <B>!</B> command -will execute a shell locally and run the specified shell command. If no -command is specified, a local shell will be run. </Para></ListItem> -<Term><B>cd [directory name]</B></Term><ListItem><Para>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. </Para></ListItem> -<Term>If no directory name is -specified, the current working directory on </Term><ListItem><Para>the server will be reported. -</Para></ListItem> -<Term><B>del <mask></B></Term><ListItem><Para>The client will request that the server attempt to delete all files -matching "mask" from the current working directory on the server. </Para></ListItem> -<Term><B>dir <mask></B></Term><ListItem><Para>A -list of the files matching "mask" in the current working directory on the -server will be retrieved from the server and displayed. </Para></ListItem> -<Term><B>exit</B></Term><ListItem><Para>Terminate the -connection with the server and exit from the program. </Para></ListItem> -<Term><B>get <remote file name> -[local file name]</B></Term><ListItem><Para>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 -<B>lowercase</B> command. </Para></ListItem> -<Term><B>help [command]</B></Term><ListItem><Para>See the <B>?</B> command above. </Para></ListItem> -<Term><B>lcd [directory -name]</B></Term><ListItem><Para>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. </Para></ListItem> -<Term>If -no directory name is specified, the name of the current working </Term><ListItem><Para>directory -on the local machine will be reported. </Para></ListItem> -<Term><B>lowercase</B></Term><ListItem><Para>Toggle lowercasing of filenames -for the <B>get</B> and <B>mget</B> commands. </Para></ListItem> -<Term>When lowercasing is toggled ON, local filenames -are converted to </Term><ListItem><Para>lowercase when using the <B>get</B> and <B>mget</B> commands. This is -often useful when copying (say) MSDOS files from a server, because lowercase -filenames are the norm on UNIX systems. </Para></ListItem> -<Term><B>ls <mask></B></Term><ListItem><Para>See the <B>dir</B> command above. -</Para></ListItem> -<Term><B>mask <mask></B></Term><ListItem><Para>This command allows the user to set up a mask which will be used -during recursive operation of the <B>mget</B> and <B>mput</B> commands. </Para></ListItem> -<Term>The masks specified -to the <B>mget</B> and </Term><ListItem><Para><B>mput</B> commands act as filters for directories rather than -files when recursion is toggled ON. </Para></ListItem> -<Term>The mask specified with the .B mask command -is necessary to filter </Term><ListItem><Para>files within those directories. For example, if the -mask specified in an <B>mget</B> command is "source*" and the mask specified with -the mask command is "*.c" and recursion is toggled ON, the <B>mget</B> command -will retrieve all files matching "*.c" in all directories below and including -all directories matching "source*" in the current working directory. </Para></ListItem> -<Term>Note -that the value for mask defaults to blank (equivalent to "*") and </Term><ListItem><Para>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 <B>mget</B> or <B>mput</B> -commands. </Para></ListItem> -<Term><B>md <directory name></B></Term><ListItem><Para>See the <B>mkdir</B> command. </Para></ListItem> -<Term><B>mget <mask></B></Term><ListItem><Para>Copy all files -matching mask from the server to the machine running the client. </Para></ListItem> -<Term>Note that -mask is interpreted differently during recursive operation </Term><ListItem><Para>and non-recursive -operation - refer to the <B>recurse</B> and <B>mask</B> commands for more information. -Note that all transfers in .B smbclient are binary. See also the <B>lowercase</B> -command. </Para></ListItem> -<Term><B>mkdir <directory name></B></Term><ListItem><Para>Create a new directory on the server (user -access privileges permitting) with the specified name. </Para></ListItem> -<Term><B>mput <mask></B></Term><ListItem><Para>Copy all -files matching mask in the current working directory on the local machine -to the current working directory on the server. </Para></ListItem> -<Term>Note that mask is interpreted -differently during recursive operation </Term><ListItem><Para>and non-recursive operation - refer -to the <B>recurse</B> and <B>mask</B> commands for more information. Note that all transfers -in .B smbclient are binary. </Para></ListItem> -<Term><B>print <file name></B></Term><ListItem><Para>Print the specified file from -the local machine through a printable service on the server. </Para></ListItem> -<Term>See also the -<B>printmode</B> command. </Term><ListItem><Para></Para></ListItem> -<Term><B>printmode <graphics or text></B></Term><ListItem><Para>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. </Para></ListItem> -<Term><B>prompt</B></Term><ListItem><Para>Toggle prompting for -filenames during operation of the <B>mget</B> and <B>mput</B> commands. </Para></ListItem> -<Term>When toggled ON, -the user will be prompted to confirm the transfer of </Term><ListItem><Para>each file during these -commands. When toggled OFF, all specified files will be transferred without -prompting. </Para></ListItem> -<Term><B>put <local file name> [remote file name]</B></Term><ListItem><Para>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 <B>lowercase</B> command. </Para></ListItem> -<Term><B>queue</B></Term><ListItem><Para>Displays the print queue, -showing the job id, name, size and current status. </Para></ListItem> -<Term><B>quit</B></Term><ListItem><Para>See the <B>exit</B> command. -</Para></ListItem> -<Term><B>rd <directory name></B></Term><ListItem><Para>See the <B>rmdir</B> command. </Para></ListItem> -<Term><B>recurse</B></Term><ListItem><Para>Toggle directory recursion -for the commands <B>mget</B> and <B>mput</B>. </Para></ListItem> -<Term>When toggled ON, these commands will process -all directories in the </Term><ListItem><Para>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 <B>mask</B> command -will be retrieved. See also the <B>mask</B> command. </Para></ListItem> -<Term>When recursion is toggled OFF, -only files from the current working </Term><ListItem><Para>directory on the source machine that -match the mask specified to the <B>mget</B> or <B>mput</B> commands will be copied, and -any mask specified using the <B>mask</B> command will be ignored. </Para></ListItem> -<Term><B>rm <mask></B></Term><ListItem><Para>Remove -all files matching mask from the current working directory on the server. -</Para></ListItem> -<Term><B>rmdir <directory name></B></Term><ListItem><Para>Remove the specified directory (user access privileges -permitting) from the server. </Para></ListItem> -<Term><B>tar <c|x>[IXbgNa]</B></Term><ListItem><Para>Performs a tar operation - see -the <B>-T</B> command line option above. Behavior may be affected by the <B>tarmode</B> -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. </Para></ListItem> -<Term><B>blocksize <blocksize></B></Term><ListItem><Para>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. </Para></ListItem> -<Term><B>tarmode <full|inc|reset|noreset></B></Term><ListItem><Para>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). </Para></ListItem> -<Term><B>setmode <filename> <perm=[+|\-]rsha></B></Term><ListItem><Para>A version of the -DOS attrib command to set file permissions. For example: </Para></ListItem> -<Term>CWsetmode myfile -+r </Term><ListItem><Para></Para></ListItem> -<Term>would make myfile read only. </Term><ListItem><Para></Para></ListItem> -</ItemizedList> - - -<Para></RefSect1> - -<RefSect1><Title>Notes</Title> - -<Para>Some servers are fussy about the case -of supplied usernames, passwords, share names (AKA service names) and machine -names. <ItemizedList MARK=Bullet> -<Term>If you </Term><ListItem><Para>fail to connect try giving all parameters in uppercase. </Para></ListItem> -</ItemizedList> - - -<Para>It -is often necessary to use the <B>-n</B> 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. - - -<Para>smbclient supports long file names where the server supports the LANMAN2 -protocol or above. - -<Para></RefSect1> - -<RefSect1><Title>Environment Variables</Title> - -<Para>The variable <B>USER</B> 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. - - -<Para>The variable <B>PASSWD</B> 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. - -<Para></RefSect1> - -<RefSect1><Title>Installation</Title> - -<Para>The location of the client program -is a matter for individual system administrators. The following are thus -suggestions only. - -<Para>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 <I>NOT</I> be setuid or setgid! - -<Para>The client -log files should be put in a directory readable and writeable only by the -user. - -<Para>To test the client, you will need to know the name of a running SMB/CIFS -server. It is possible to run <B><Command>smbd (8)</B></Command> 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. - -<Para></RefSect1> - -<RefSect1><Title>Diagnostics</Title> - -<Para>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. - -<Para>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. - -<Para></RefSect1> - -<RefSect1><Title>Version</Title> - -<Para>This man page is correct for version 2.0 of the Samba suite. - - -<Para></RefSect1> - -<RefSect1><Title>Author</Title> - -<Para>The original Samba software and related utilities were created by -Andrew Tridgell <I>samba@samba.org</I>. Samba is now developed by the Samba Team -as an Open Source project similar to the way the Linux kernel is developed. - - -<Para>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 <B>ftp://ftp.icce.rug.nl/pub/unix/</B>) and updated for the Samba2.0 -release by Jeremy Allison. <I>samba@samba.org</I>. - -<Para>See <B><Command>samba (7)</B></Command> to find out how -to get a full list of contributors and details on how to submit bug reports, -comments etc. </RefSect1> - -</RefEntry> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> +<refentry id="smbclient"> + +<refmeta> + <refentrytitle>smbclient</refentrytitle> + <manvolnum>1</manvolnum> +</refmeta> + + +<refnamediv> + <refname>smbclient</refname> + <refpurpose>ftp-like client to access SMB/CIFS resources + on servers</refpurpose> +</refnamediv> + +<refsynopsisdiv> + <cmdsynopsis> + <command>smbclient</command> + <arg choice="req">servicename</arg> + <arg choice="opt">-b <buffer size></arg> + <arg choice="opt">-d debuglevel</arg> + <arg choice="opt">-D Directory</arg> + <arg choice="opt">-S server</arg> + <arg choice="opt">-U username</arg> + <arg choice="opt">-W workgroup</arg> + <arg choice="opt">-M <netbios name></arg> + <arg choice="opt">-m maxprotocol</arg> + <arg choice="opt">-A authfile</arg> + <arg choice="opt">-N</arg> + <arg choice="opt">-l logfile</arg> + <arg choice="opt">-L <netbios name></arg> + <arg choice="opt">-I destinationIP</arg> + <arg choice="opt">-E <terminal code></arg> + <arg choice="opt">-c <command string></arg> + <arg choice="opt">-i scope</arg> + <arg choice="opt">-O <socket options></arg> + <arg choice="opt">-p port</arg> + <arg choice="opt">-R <name resolve order></arg> + <arg choice="opt">-s <smb config file></arg> + <arg choice="opt">-T<c|x>IXFqgbNan</arg> + <arg choice="opt">password</arg> + </cmdsynopsis> +</refsynopsisdiv> + +<refsect1> + <title>DESCRIPTION</title> + + <para>This tool is part of the <ulink url="samba.7.html"> + Samba</ulink> suite.</para> + + <para><command>smbclient</command> is a client that can + 'talk' to an SMB/CIFS server. It offers an interface + similar to that of the ftp program (see <command>ftp(1)</command>). + 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. </para> +</refsect1> + + +<refsect1> + <title>OPTIONS</title> + + <variablelist> + <varlistentry> + <term>servicename</term> + <listitem><para>servicename is the name of the service + you want to use on the server. A service name takes the form + <filename>//server/service</filename> where <parameter>server + </parameter> is the NetBIOS name of the SMB/CIFS server + offering the desired service and <parameter>service</parameter> + 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 <filename>//smbserver/printer + </filename></para> + + <para>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. + </para> + + <para>The server name is looked up according to either + the <parameter>-R</parameter> 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. </para></listitem> + </varlistentry> + + <varlistentry> + <term>password</term> + <listitem><para>The password required to access the specified + service on the specified server. If this parameter is + supplied, the <parameter>-N</parameter> option (suppress + password prompt) is assumed. </para> + + <para>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 <parameter>-U</parameter> option (see + below)) and the <parameter>-N</parameter> 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.) + </para> + + <para>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. + </para> + + <para>Be cautious about including passwords in scripts. + </para></listitem> + </varlistentry> + + <varlistentry> + <term>-s smb.conf</term> + <listitem><para>Specifies the location of the all important + <filename>smb.conf</filename> file. </para></listitem> + </varlistentry> + + <varlistentry> + <term>-O socket options</term> + <listitem><para>TCP socket options to set on the client + socket. See the socket options parameter in the <filename> + smb.conf (5)</filename> manpage for the list of valid + options. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>name resolve order (G)</term> + <listitem><para>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.</para> + + <para>The options are :"lmhosts", "host", "wins" and "bcast". They + cause names to be resolved as follows :</para> + + <itemizedlist> + <listitem><para><constant>lmhosts</constant> : 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 <ulink + url="lmhosts.5.html">lmhosts(5)</ulink> for details) then + any name type matches for lookup.</para></listitem> + + <listitem><para><constant>host</constant> : Do a standard host + name to IP address resolution, using the system <filename>/etc/hosts + </filename>, 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 <filename>/etc/nsswitch.conf</filename> + 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.</para></listitem> + + <listitem><para><constant>wins</constant> : Query a name with + the IP address listed in the <parameter>wins server</parameter> + parameter. If no WINS server has + been specified this method will be ignored.</para></listitem> + + <listitem><para><constant>bcast</constant> : Do a broadcast on + each of the known local interfaces listed in the + <parameter>interfaces</parameter> + parameter. This is the least reliable of the name resolution + methods as it depends on the target host being on a locally + connected subnet.</para></listitem> + </itemizedlist> + + <para>If this parameter is not set then the name resolve order + defined in the <filename>smb.conf</filename> file parameter + (name resolve order) will be used. </para> + + <para>The default order is lmhosts, host, wins, bcast and without + this parameter or any entry in the <parameter>name resolve order + </parameter> parameter of the smb.conf file the name resolution + methods will be attempted in this order. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-M NetBIOS name</term> + <listitem><para>This 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. </para> + + <para>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. </para> + + <para>The message is also automatically truncated if the message + is over 1600 bytes, as this is the limit of the protocol. + </para> + + <para>One useful trick is to cat the message through + <command>smbclient</command>. For example: <command> + cat mymessage.txt | smbclient -M FRED </command> will + send the message in the file <filename>mymessage.txt</filename> + to the machine FRED. </para> + + <para>You may also find the <parameter>-U</parameter> and + <parameter>-I</parameter> options useful, as they allow you to + control the FROM and TO parts of the message. </para> + + <para>See the message command parameter in the <filename> + smb.conf(5)</filename> for a description of how to handle incoming + WinPopup messages in Samba. </para> + + <para><emphasis>Note</emphasis>: Copy WinPopup into the startup group + on your WfWg PCs if you want them to always be able to receive + messages. </para></listitem> + </varlistentry> + + <varlistentry> + <term>-i scope</term> + <listitem><para>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 are <emphasis>very</emphasis> rarely used, only set + this parameter if you are the system administrator in charge of all + the NetBIOS systems you communicate with. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-N</term> + <listitem><para>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. </para> + + <para>Unless a password is specified on the command line or + this parameter is specified, the client will request a + password.</para></listitem> + </varlistentry> + + + + <varlistentry> + <term>-n NetBIOS name</term> + <listitem><para>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. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-d debuglevel</term> + <listitem><para>debuglevel is an integer from 0 to 10, or + the letter 'A'. </para> + + <para>The default value if this parameter is not specified + is zero. </para> + + <para>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. </para> + + <para>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 <emphasis>all + </emphasis> debug messages will be printed. This setting + is for developers only (and people who <emphasis>really</emphasis> want + to know how the code works internally). </para> + + <para>Note that specifying this parameter here will override + the log level parameter in the <command>smb.conf (5)</command> + file. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-p port</term> + <listitem><para>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. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-l logfilename</term> + <listitem><para>If specified, logfilename specifies a base filename + into which operational data from the running client will be + logged. </para> + + <para>The default base name is specified at compile time.</para> + + <para>The base name is used to generate actual log file names. + For example, if the name specified was "log", the debug file + would be <filename>log.client</filename>.</para> + + <para>The log file generated is never removed by the client. + </para></listitem> + </varlistentry> + + + + <varlistentry> + <term>-h</term><listitem> + <para>Print the usage message for the client. </para></listitem> + </varlistentry> + + + + <varlistentry> + <term>-I IP-address</term> + <listitem><para>IP address is the address of the server to connect to. + It should be specified in standard "a.b.c.d" notation. </para> + + <para>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 <parameter>name resolve order</parameter> + 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. </para> + + <para>There is no default for this parameter. If not supplied, + it will be determined automatically by the client as described + above. </para></listitem> + </varlistentry> + + + + <varlistentry> + <term>-E</term> + <listitem><para>This parameter causes the client to write messages + to the standard error stream (stderr) rather than to the standard + output stream. </para> + + <para>By default, the client writes messages to standard output + - typically the user's tty. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-U username[%pass]</term> + <listitem><para>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 + <parameter>$LOGNAME</parameter> variable and if either exist, the + string is uppercased. Anything in these variables following a '%' + sign will be treated as the password. If these environmental + variables are not found, the username <constant>GUEST</constant> + is used. </para> + + <para>If the password is not included in these environment + variables (using the %pass syntax), rpcclient will look for + a <parameter>$PASSWD</parameter> environment variable from which + to read the password. </para> + + <para>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 + <parameter>-A</parameter> for more details. </para> + + <para>Be cautious about including passwords in scripts or in + the <parameter>$PASSWD</parameter> environment variable. Also, on + many systems the command line of a running process may be seen + via the <command>ps</command> command to be safe always allow + <command>rpcclient</command> to prompt for a password and type + it in directly. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-A filename</term><listitem><para>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 + </para> + + <para><programlisting> +username = <value> +password = <value> + </programlisting></para> + + + <para>Make certain that the permissions on the file restrict + access from unwanted users. </para></listitem> + </varlistentry> + + + + <varlistentry> + <term>-L</term> + <listitem><para>This option allows you to look at what services + are available on a server. You use it as <command>smbclient -L + host</command> and a list should appear. The <parameter>-I + </parameter> 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. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-t terminal code</term> + <listitem><para>This 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 (<emphasis>EUC</emphasis> instead of <emphasis> + SJIS</emphasis> for example). Setting this parameter will let + <command>smbclient</command> convert between the UNIX filenames and + the SMB filenames correctly. This option has not been seriously tested + and may have some problems. </para> + + <para>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. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-b buffersize</term> + <listitem><para>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. + </para></listitem> + </varlistentry> + + + + <varlistentry> + <term>-W WORKGROUP</term> + <listitem><para>Override the default workgroup specified in the + workgroup parameter of the <filename>smb.conf</filename> file + for this connection. This may be needed to connect to some + servers. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>-T tar options</term> + <listitem><para>smbclient may be used to create <command>tar(1) + </command> compatible backups of all the files on an SMB/CIFS + share. The secondary tar flags that can be given to this option + are : </para> + + <itemizedlist> + <listitem><para><parameter>c</parameter> - 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 + <parameter>x</parameter> flag. </para></listitem> + + <listitem><para><parameter>x</parameter> - 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 <parameter>c</parameter> 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. </para></listitem> + + <listitem><para><parameter>I</parameter> - 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. </para></listitem> + + <listitem><para><parameter>X</parameter> - 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 <parameter>r</parameter> below. </para></listitem> + + <listitem><para><parameter>b</parameter> - 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. + </para></listitem> + + <listitem><para><parameter>g</parameter> - Incremental. Only back up + files that have the archive bit set. Useful only with the + <parameter>c</parameter> flag. </para></listitem> + + <listitem><para><parameter>q</parameter> - Quiet. Keeps tar from printing + diagnostics as it works. This is the same as tarmode quiet. + </para></listitem> + + <listitem><para><parameter>r</parameter> - Regular 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 '?'. + </para></listitem> + + <listitem><para><parameter>N</parameter> - 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 + <parameter>c</parameter> flag. </para></listitem> + + <listitem><para><parameter>a</parameter> - Set archive bit. Causes the + archive bit to be reset when a file is backed up. Useful with the + <parameter>g</parameter> and <parameter>c</parameter> flags. + </para></listitem> + </itemizedlist> + + <para><emphasis>Tar Long File Names</emphasis></para> + + <para><command>smbclient</command>'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. + </para> + + <para><emphasis>Tar Filenames</emphasis></para> + + <para>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). </para> + + <para><emphasis>Examples</emphasis></para> + + <para>Restore from tar file backup.tar into myshare on mypc + (no password on share). </para> + + <para><command>smbclient //mypc/myshare "" -N -Tx backup.tar + </command></para> + + <para>Restore everything except <filename>users/docs</filename> + </para> + + <para><command>smbclient //mypc/myshare "" -N -TXx backup.tar + users/docs</command></para> + + <para>Create a tar file of the files beneath <filename> + users/docs</filename>. </para> + + <para><command>smbclient //mypc/myshare "" -N -Tc + backup.tar users/docs </command></para> + + <para>Create the same tar file as above, but now use + a DOS path name. </para> + + <para><command>smbclient //mypc/myshare "" -N -tc backup.tar + users\edocs </command></para> + + <para>Create a tar file of all the files and directories in + the share. </para> + + <para><command>smbclient //mypc/myshare "" -N -Tc backup.tar * + </command></para> + </listitem> + </varlistentry> + + + <varlistentry> + <term>-D initial directory</term> + <listitem><para>Change to initial directory before starting. Probably + only of any use with the tar -T option. </para></listitem> + </varlistentry> + + + + <varlistentry> + <term>-c command string</term> + <listitem><para>command string is a semicolon separated list of + commands to be executed instead of prompting from stdin. <parameter> + -N</parameter> is implied by <parameter>-c</parameter>.</para> + + <para>This is particularly useful in scripts and for printing stdin + to the server, e.g. <command>-c 'print -'</command>. </para></listitem> + </varlistentry> + </variablelist> +</refsect1> + + +<refsect1> + <title>OPERATIONS</title> + + <para>Once the client is running, the user is presented with + a prompt : </para> + + <para><prompt>smb:\> </prompt></para> + + <para>The backslash ("\") indicates the current working directory + on the server, and will change if the current working directory + is changed. </para> + + <para>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. + </para> + + <para>You can specify file names which have spaces in them by quoting + the name with double quotes, for example "a long file name". </para> + + <para>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. + </para> + + + <para>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. + </para> + + <para>The commands available are given here in alphabetical order. </para> + + <variablelist> + <varlistentry> + <term>? [command]</term> + <listitem><para>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. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>! [shell command]</term> + <listitem><para>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. + </para></listitem> + </varlistentry> + + + + <varlistentry> + <term>cd [directory name]</term> + <listitem><para>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. </para> + + <para>If no directory name is specified, the current working + directory on the server will be reported. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>del <mask></term> + <listitem><para>The client will request that the server attempt + to delete all files matching "mask" from the current working + directory on the server. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>dir <mask></term> + <listitem><para>A list of the files matching "mask" in the current + working directory on the server will be retrieved from the server + and displayed. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>exit</term> + <listitem><para>Terminate the connection with the server and exit + from the program. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>get <remote file name> [local file name]</term> + <listitem><para>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 + <command>smbclient</command> are binary. See also the + lowercase command. </para></listitem> + </varlistentry> + + + + <varlistentry> + <term>help [command]</term> + <listitem><para>See the ? command above. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>lcd [directory name]</term> + <listitem><para>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. </para> + + <para>If no directory name is specified, the name of the + current working directory on the local machine will be reported. + </para></listitem> + </varlistentry> + + + <varlistentry> + <term>lowercase</term> + <listitem><para>Toggle lowercasing of filenames for the get and + mget commands. </para> + + <para>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. </para></listitem> + </varlistentry> + + + + <varlistentry> + <term>ls <mask></term> + <listitem><para>See the dir command above. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>mask <mask></term> + <listitem><para>This command allows the user to set up a mask + which will be used during recursive operation of the mget and + mput commands. </para> + + <para>The masks specified to the mget and mput commands act as + filters for directories rather than files when recursion is + toggled ON. </para> + + <para>The mask specified with the 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. </para> + + <para>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 + mask back to "*" after using the mget or mput commands. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>md <directory name></term> + <listitem><para>See the mkdir command. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>mget <mask></term> + <listitem><para>Copy all files matching mask from the server to + the machine running the client. </para> + + <para>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. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>mkdir <directory name></term> + <listitem><para>Create a new directory on the server (user access + privileges permitting) with the specified name. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>mput <mask></term> + <listitem><para>Copy all files matching mask in the current working + directory on the local machine to the current working directory on + the server. </para> + + <para>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. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>print <file name></term> + <listitem><para>Print the specified file from the local machine + through a printable service on the server. </para> + + <para>See also the printmode command.</para></listitem> + </varlistentry> + + + + <varlistentry> + <term>printmode <graphics or text></term> + <listitem><para>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. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>prompt</term> + <listitem><para>Toggle prompting for filenames during operation + of the mget and mput commands. </para> + + <para>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. + </para></listitem> + </varlistentry> + + + <varlistentry> + <term>put <local file name> [remote file name]</term> + <listitem><para>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. + </para></listitem> + </varlistentry> + + + + <varlistentry> + <term>queue</term> + <listitem><para>Displays the print queue, showing the job id, + name, size and current status. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>quit</term> + <listitem><para>See the exit command. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>rd <directory name></term> + <listitem><para>See the rmdir command. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>recurse</term> + <listitem><para>Toggle directory recursion for the commands mget + and mput. </para> + + <para>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 command. Only files that match the mask specified using + the mask command will be retrieved. See also the mask command. + </para> + + <para>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. </para></listitem> + </varlistentry> + + + + <varlistentry> + <term>rm <mask></term> + <listitem><para>Remove all files matching mask from the current + working directory on the server. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>rmdir <directory name></term> + <listitem><para>Remove the specified directory (user access + privileges permitting) from the server. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>tar <c|x>[IXbgNa]</term> + <listitem><para>Performs a tar operation - see the <parameter>-T + </parameter> 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. + </para></listitem> + </varlistentry> + + + <varlistentry> + <term>blocksize <blocksize></term> + <listitem><para>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. </para></listitem> + </varlistentry> + + + <varlistentry> + <term>tarmode <full|inc|reset|noreset></term> + <listitem><para>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). </para></listitem> + </varlistentry> + + + <varlistentry> + <term>setmode <filename> <perm=[+|\-]rsha></term> + <listitem><para>A version of the DOS attrib command to set + file permissions. For example: </para> + + <para><command>setmode myfile +r </command></para> + + <para>would make myfile read only. </para></listitem> + </varlistentry> + + </variablelist> +</refsect1> + +<refsect1> + <title>NOTES</title> + + <para>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. + </para> + + <para>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.</para> + + <para>smbclient supports long file names where the server + supports the LANMAN2 protocol or above. </para> +</refsect1> + +<refsect1> + <title>ENVIRONMENT VARIABLES</title> + + <para>The variable <parameter>$USER</parameter> 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.</para> + + + <para>The variable <parameter>$PASSWD</parameter> 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. </para> +</refsect1> + + +<refsect1> + <title>INSTALLATION</title> + + <para>The location of the client program is a matter for + individual system administrators. The following are thus + suggestions only. </para> + + <para>It is recommended that the smbclient software be installed + in the <filename>/usr/local/samba/bin/</filename> or <filename> + /usr/samba/bin/</filename> directory, this directory readable + by all, writeable only by root. The client program itself should + be executable by all. The client should <emphasis>NOT</emphasis> be + setuid or setgid! </para> + + <para>The client log files should be put in a directory readable + and writeable only by the user. </para> + + <para>To test the client, you will need to know the name of a + running SMB/CIFS server. It is possible to run <command>smbd(8) + </command> 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. </para> +</refsect1> + + +<refsect1> + <title>DIAGNOSTICS</title> + + <para>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. </para> + + <para>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. </para> +</refsect1> + + +<refsect1> + <title>VERSION</title> + + <para>This man page is correct for version 2.2 of + the Samba suite.</para> +</refsect1> + + +<refsect1> + <title>AUTHOR</title> + + <para>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.</para> + + <para>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 + <ulink url="ftp://ftp.icce.rug.nl/pub/unix/"> + ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 + release by Jeremy Allison. The conversion to DocBook for + Samba 2.2 was done by Gerald Carter</para> +</refsect1> + +</refentry> |