summaryrefslogtreecommitdiff
path: root/docs/docbook/manpages/rpcclient.1.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/docbook/manpages/rpcclient.1.sgml')
-rw-r--r--docs/docbook/manpages/rpcclient.1.sgml421
1 files changed, 421 insertions, 0 deletions
diff --git a/docs/docbook/manpages/rpcclient.1.sgml b/docs/docbook/manpages/rpcclient.1.sgml
new file mode 100644
index 0000000000..f2a44d69d9
--- /dev/null
+++ b/docs/docbook/manpages/rpcclient.1.sgml
@@ -0,0 +1,421 @@
+<!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>tool for executing client side
+ MS-RPC functions</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>rpcclient</command>
+ <arg choice="req">server</arg>
+ <arg choice="opt">-A authfile</arg>
+ <arg choice="opt">-c &lt;command string&gt;</arg>
+ <arg choice="opt">-d debuglevel</arg>
+ <arg choice="opt">-h</arg>
+ <arg choice="opt">-l logfile</arg>
+ <arg choice="opt">-N</arg>
+ <arg choice="opt">-s &lt;smb config file&gt;</arg>
+ <arg choice="opt">-U username[%password]</arg>
+ <arg choice="opt">-W workgroup</arg>
+ <arg choice="opt">-N</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 initially developed
+ to test MS-RPC functionality in Samba itself. It has undergone
+ several stages of development and stability. Many system administrators
+ have now written scripts around it to manage Windows NT clients from
+ their UNIX workstation. </para>
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>server</term>
+ <listitem><para>NetBIOS name of Server to which to connect.
+ The server can be any SMB/CIFS server. The name is
+ resolved using the <ulink url="smb.conf.5.html#NAMERESOLVEORDER">
+ <parameter>name resolve order</parameter></ulink> line from
+ <filename>smb.conf(5)</filename>.</para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-A|--authfile=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 = &lt;value&gt;
+ password = &lt;value&gt;
+ domain = &lt;value&gt;
+ </programlisting></para>
+
+ <para>Make certain that the permissions on the file restrict
+ access from unwanted users. </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-c|--command='command string'</term>
+ <listitem><para>execute semicolon separated commands (listed
+ below)) </para></listitem>
+ </varlistentry>
+
+
+
+
+ <varlistentry>
+ <term>-d|--debug=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 <filename>BUGS.txt</filename>).
+ </para></listitem>
+ </varlistentry>
+
+
+
+
+ <varlistentry>
+ <term>-h|--help</term>
+ <listitem><para>Print a summary of command line options.
+ </para></listitem>
+ </varlistentry>
+
+
+
+
+ <varlistentry>
+ <term>-l|--logfile=logbasename</term>
+ <listitem><para>File name for log/debug files. The extension
+ <constant>'.client'</constant> will be appended. The log file is never removed
+ by the client.
+ </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-N|--nopass</term>
+ <listitem><para>instruct <command>rpcclient</command> not to ask
+ for a password. By default, <command>rpcclient</command> will prompt
+ for a password. See also the <parameter>-U</parameter> option.</para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-s|--conf=smb.conf</term>
+ <listitem><para>Specifies the location of the all important
+ <filename>smb.conf</filename> file. </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-U|--user=username[%password]</term>
+ <listitem><para>Sets the SMB username or username and password. </para>
+
+ <para>If %password is not specified, the user will be prompted. The
+ client will first check the <envar>USER</envar> environment variable, then the
+ <envar>LOGNAME</envar> variable and if either exists, the
+ string is uppercased. If these environmental variables are not
+ found, the username <constant>GUEST</constant> is used. </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. 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>-W|--workgroup=domain</term>
+ <listitem><para>Set the SMB domain of the username. This
+ overrides the default domain which is the domain defined in
+ smb.conf. If the domain specified is the same as the 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>
+
+
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>COMMANDS</title>
+
+ <para><emphasis>LSARPC</emphasis></para>
+ <itemizedlist>
+ <listitem><para><command>lsaquery</command></para></listitem>
+
+ <listitem><para><command>lookupsids</command> - Resolve a list
+ of SIDs to usernames.
+ </para></listitem>
+
+ <listitem><para><command>lookupnames</command> - Resolve s list
+ of usernames to SIDs.
+ </para></listitem>
+
+ <listitem><para><command>enumtrusts</command></para></listitem>
+ </itemizedlist>
+ <para> </para>
+
+
+
+ <para><emphasis>SAMR</emphasis></para>
+ <itemizedlist>
+ <listitem><para><command>queryuser</command></para></listitem>
+ <listitem><para><command>querygroup</command></para></listitem>
+ <listitem><para><command>queryusergroups</command></para></listitem>
+ <listitem><para><command>querygroupmem</command></para></listitem>
+ <listitem><para><command>queryaliasmem</command></para></listitem>
+ <listitem><para><command>querydispinfo</command></para></listitem>
+ <listitem><para><command>querydominfo</command></para></listitem>
+ <listitem><para><command>enumdomgroups</command></para></listitem>
+ </itemizedlist>
+ <para> </para>
+
+
+
+ <para><emphasis>SPOOLSS</emphasis></para>
+
+ <itemizedlist>
+ <listitem><para><command>adddriver &lt;arch&gt &lt;config&gt;</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
+ <command>getdriverdir</command>. Possible values for
+ <parameter>arch</parameter> are the same as those for
+ the <command>getdriverdir</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>addprinter &lt;printername&gt;
+ &lt;sharename&gt; &lt;drivername&gt; &lt;port&gt;</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 <command>adddriver</command>)
+ and the <parameter>port</parameter>must be a valid port name (see
+ <command>enumports</command>.</para>
+ </listitem>
+
+
+ <listitem><para><command>deldriver</command> - Delete the
+ specified printer driver for all architectures. This
+ does not delete the actual driver files from the server,
+ only the entry from the server's list of drivers.
+ </para></listitem>
+
+ <listitem><para><command>enumdata</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 (* This
+ command is currently unimplemented).</para></listitem>
+
+
+
+ <listitem><para><command>enumjobs &lt;printer&gt;</command>
+ - List the jobs and status of a given printer.
+ This command corresponds to the MS Platform SDK EnumJobs()
+ function (* This command is currently unimplemented).</para></listitem>
+
+
+
+
+ <listitem><para><command>enumports [level]</command>
+ - Executes an EnumPorts() call using the specified
+ info level. Currently only info levels 1 and 2 are supported.
+ </para></listitem>
+
+
+
+ <listitem><para><command>enumdrivers [level]</command>
+ - Execute an EnumPrinterDrivers() call. This lists the various installed
+ printer drivers for all architectures. Refer to the MS Platform SDK
+ documentation for more details of the various flags and calling
+ options. Currently supported info levels are 1, 2, and 3.</para></listitem>
+
+
+
+ <listitem><para><command>enumprinters [level]</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. Currently
+ supported info levels are 0, 1, and 2.</para></listitem>
+
+
+
+
+ <listitem><para><command>getdata &lt;printername&gt;</command>
+ - Retrieve the data for a given printer setting. See
+ the <command>enumdata</command> command for more information.
+ This command corresponds to the GetPrinterData() MS Platform
+ SDK function (* This command is currently unimplemented). </para></listitem>
+
+
+
+ <listitem><para><command>getdriver &lt;printername&gt;</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. Currently info level 1, 2, and 3 are supported.
+ </para></listitem>
+
+
+ <listitem><para><command>getdriverdir &lt;arch&gt;</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>getprinter &lt;printername&gt;</command>
+ - Retrieve the current printer information. This command
+ corresponds to the GetPrinter() MS Platform SDK function.
+ </para></listitem>
+
+
+
+ <listitem><para><command>openprinter &lt;printername&gt;</command>
+ - Execute an OpenPrinterEx() and ClosePrinter() RPC
+ against a given printer. </para></listitem>
+
+
+ <listitem><para><command>setdriver &lt;printername&gt; &lt;drivername&gt;</command>
+ - Execute a SetPrinter() command to update the printer driver associated
+ with an installed printer. The printer driver must already be correctly
+ installed on the print server. </para>
+
+ <para>See also the <command>enumprinters</command> and
+ <command>enumdrivers</command> commands for obtaining a list of
+ of installed printers and drivers.</para></listitem>
+
+ </itemizedlist>
+
+
+ <para><emphasis>GENERAL OPTIONS</emphasis></para>
+
+ <itemizedlist>
+ <listitem><para><command>debuglevel</command> - Set the current debug level
+ used to log information.</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 (exit)</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 flaky 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(1)</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 3.0 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 Leighton, and rewritten by Gerald Carter.
+ The conversion to DocBook for Samba 2.2 was done by Gerald
+ Carter.</para>
+</refsect1>
+
+</refentry>