summaryrefslogtreecommitdiffstats
path: root/docs-xml/manpages/net.8.xml
diff options
context:
space:
mode:
Diffstat (limited to 'docs-xml/manpages/net.8.xml')
-rw-r--r--docs-xml/manpages/net.8.xml3694
1 files changed, 3694 insertions, 0 deletions
diff --git a/docs-xml/manpages/net.8.xml b/docs-xml/manpages/net.8.xml
new file mode 100644
index 0000000..c284cc2
--- /dev/null
+++ b/docs-xml/manpages/net.8.xml
@@ -0,0 +1,3694 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
+<refentry id="net.8">
+
+<refmeta>
+ <refentrytitle>net</refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">System Administration tools</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>net</refname>
+ <refpurpose>Tool for administration of Samba and remote
+ CIFS servers.
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>net</command>
+ <arg choice="req">&lt;ads|rap|rpc&gt;</arg>
+ <arg choice="opt">-h|--help</arg>
+ <arg choice="opt">-d|--debuglevel=DEBUGLEVEL</arg>
+ <arg choice="opt">--debug-stdout</arg>
+ <arg choice="opt">--configfile=CONFIGFILE</arg>
+ <arg choice="opt">--option=name=value</arg>
+ <arg choice="opt">-l|--log-basename=LOGFILEBASE</arg>
+ <arg choice="opt">--leak-report</arg>
+ <arg choice="opt">--leak-report-full</arg>
+ <arg choice="opt">-R|--name-resolve=NAME-RESOLVE-ORDER</arg>
+ <arg choice="opt">-O|--socket-options=SOCKETOPTIONS</arg>
+ <arg choice="opt">-m|--max-protocol=MAXPROTOCOL</arg>
+ <arg choice="opt">-n|--netbiosname=NETBIOSNAME</arg>
+ <arg choice="opt">--netbios-scope=SCOPE</arg>
+ <arg choice="opt">-W|--workgroup=WORKGROUP</arg>
+ <arg choice="opt">--realm=REALM</arg>
+ <arg choice="opt">-U|--user=[DOMAIN/]USERNAME[%PASSWORD]</arg>
+ <arg choice="opt">-N|--no-pass</arg>
+ <arg choice="opt">--password=STRING</arg>
+ <arg choice="opt">--pw-nt-hash</arg>
+ <arg choice="opt">-A|--authentication-file=FILE</arg>
+ <arg choice="opt">-P|--machine-pass</arg>
+ <arg choice="opt">--simple-bind-dn=DN</arg>
+ <arg choice="opt">--use-kerberos=desired|required|off</arg>
+ <arg choice="opt">--use-krb5-ccache=CCACHE</arg>
+ <arg choice="opt">--use-winbind-ccache</arg>
+ <arg choice="opt">--client-protection=sign|encrypt|off</arg>
+ <arg choice="opt">-V|--version</arg>
+ <arg choice="opt">-w|--target-workgroup workgroup</arg>
+ <arg choice="opt">-I|--ipaddress ip-address</arg>
+ <arg choice="opt">-p|--port port</arg>
+ <arg choice="opt">--myname</arg>
+ <arg choice="opt">-S|--server server</arg>
+ <arg choice="opt">--long</arg>
+ <arg choice="opt">-v|--verbose</arg>
+ <arg choice="opt">-f|--force</arg>
+ <arg choice="opt">--request-timeout seconds</arg>
+ <arg choice="opt">-t|--timeout seconds</arg>
+ <arg choice="opt">--dns-ttl TTL-IN-SECONDS</arg>
+ <arg choice="opt">-i|--stdin</arg>
+ <arg choice="opt">--witness-registration=REGISTRATION_UUID</arg>
+ <arg choice="opt">--witness-net-name=REGEX</arg>
+ <arg choice="opt">--witness-share-name=REGEX</arg>
+ <arg choice="opt">--witness-ip-address=REGEX</arg>
+ <arg choice="opt">--witness-client-computer-name=REGEX</arg>
+ <arg choice="opt">--witness-apply-to-all</arg>
+ <arg choice="opt">--witness-new-node=NODEID</arg>
+ <arg choice="opt">--witness-new-ip=IPADDRESS</arg>
+ <arg choice="opt">--witness-forced-response=JSON</arg>
+
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The Samba net utility is meant to work just like the net utility
+ available for windows and DOS. The first argument should be used
+ to specify the protocol to use when executing a certain command.
+ ADS is used for ActiveDirectory, RAP is using for old (Win9x/NT3)
+ clients and RPC can be used for NT4 and Windows 2000. If this
+ argument is omitted, net will try to determine it automatically.
+ Not all commands are available on all protocols.
+ </para>
+
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-w|--target-workgroup target-workgroup</term>
+ <listitem><para>
+ Sets target workgroup or domain. You have to specify
+ either this option or the IP address or the name of a server.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-I|--ipaddress ip-address</term>
+ <listitem><para>
+ IP address of target server to use. You have to
+ specify either this option or a target workgroup or
+ a target server.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-p|--port port</term>
+ <listitem><para>
+ Port on the target server to connect to (usually 139 or 445).
+ Defaults to trying 445 first, then 139.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-S|--server server</term>
+ <listitem><para>
+ Name of target server. You should specify either
+ this option or a target workgroup or a target IP address.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--long</term>
+ <listitem><para>
+ When listing data, give more information on each item.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-v|--verbose</term>
+ <listitem><para>
+ When listing data, give more verbose information on each item.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-f|--force</term>
+ <listitem><para>
+ Enforcing a net command.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--request-timeout 30</term>
+ <listitem><para>
+ Let client requests timeout after 30 seconds the default is 10
+ seconds.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-t|--timeout 30</term>
+ <listitem><para>
+ Set timeout for client operations to 30 seconds.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-i|--stdin</term>
+ <listitem><para>
+ Take input for net commands from standard input.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-T|--test</term>
+ <listitem><para>Only test command sequence, dry-run.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-F|--flags FLAGS</term>
+ <listitem><para>Pass down integer flags to a net subcommand.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-C|--comment COMMENT</term>
+ <listitem><para>Pass down a comment string to a net subcommand.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--myname MYNAME</term>
+ <listitem><para>Use MYNAME as a requester name for a net subcommand.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-c|--container CONTAINER</term>
+ <listitem><para>Use a specific AD container for net ads operations.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-M|--maxusers MAXUSERS</term>
+ <listitem><para>Fill in the maxusers field in net rpc share operations.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-r|--reboot</term>
+ <listitem><para>Reboot a remote machine after a command has been successfully executed (e.g. in remote join operations).
+ </para></listitem>
+ </varlistentry>
+
+ <!-- Options for net rpc vampire -->
+
+ <varlistentry>
+ <term>--force-full-repl</term>
+ <listitem><para>
+ When calling "net rpc vampire keytab" this option
+ enforces a full re-creation of the generated keytab file.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--single-obj-repl</term>
+ <listitem><para>
+ When calling "net rpc vampire keytab" this option
+ allows one to replicate just a single object to the generated keytab file.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--clean-old-entries</term>
+ <listitem><para>
+ When calling "net rpc vampire keytab" this option
+ allows one to cleanup old entries from the generated keytab file.
+ </para></listitem>
+ </varlistentry>
+
+ <!-- Options for net idmap -->
+
+ <varlistentry>
+ <term>--db</term>
+ <listitem><para>Define dbfile for "net idmap" commands.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--lock</term>
+ <listitem><para>Activates locking of the dbfile for "net idmap check" command.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-a|--auto</term>
+ <listitem><para>Activates noninteractive mode in "net idmap check".
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--repair</term>
+ <listitem><para>Activates repair mode in "net idmap check".
+ </para></listitem>
+ </varlistentry>
+
+ <!-- Options for net rpc share migrate -->
+
+ <varlistentry>
+ <term>--acls</term>
+ <listitem><para>Includes ACLs to be copied in "net rpc share migrate".
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--attrs</term>
+ <listitem><para>Includes file attributes to be copied in "net rpc share migrate".
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--timestamps</term>
+ <listitem><para>Includes timestamps to be copied in "net rpc share migrate".
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-X|--exclude DIRECTORY</term>
+ <listitem><para>Allows one to exclude directories when copying with "net rpc share migrate".
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--destination SERVERNAME</term>
+ <listitem><para>Defines the target servername of migration process (defaults to localhost).
+ </para></listitem>
+ </varlistentry>
+
+ <!-- Options for net groupmap set -->
+
+ <varlistentry>
+ <term>-L|--local</term>
+ <listitem><para>Sets the type of group mapping to local
+ (used in "net groupmap set").
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-D|--domain</term>
+ <listitem><para>Sets the type of group mapping to domain
+ (used in "net groupmap set").
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-N|--ntname NTNAME</term>
+ <listitem><para>Sets the ntname of a group mapping
+ (used in "net groupmap set").
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--rid RID</term>
+ <listitem><para>Sets the rid of a group mapping
+ (used in "net groupmap set").
+ </para></listitem>
+ </varlistentry>
+
+ <!-- Options for net registry check -->
+
+ <varlistentry>
+ <term>--reg-version REG_VERSION</term>
+ <listitem><para>Assume database version {n|1,2,3}
+ (used in "net registry check").
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-o|--output FILENAME</term>
+ <listitem><para>Output database file
+ (used in "net registry check").
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--wipe</term>
+ <listitem><para>Create a new database from scratch
+ (used in "net registry check").
+ </para></listitem>
+ </varlistentry>
+
+ <!-- Options for net registry import -->
+
+ <varlistentry>
+ <term>--precheck PRECHECK_DB_FILENAME</term>
+ <listitem><para>Defines filename for database prechecking
+ (used in "net registry import").
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--no-dns-updates</term>
+ <listitem><para>Do not perform DNS updates as part of
+ "net ads join".
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--keep-account</term>
+ <listitem><para>Prevent the machine account removal as
+ part of "net ads leave".
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--json</term>
+ <listitem><para>Report results in JSON format for
+ "net ads info" and "net ads lookup".
+ </para></listitem>
+ </varlistentry>
+
+ <!-- Options for net vfs stream2abouble -->
+
+ <varlistentry>
+ <term>--recursive</term>
+ <listitem><para>Traverse a directory
+ hierarchy.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--continue</term>
+ <listitem><para>Continue traversing a directory hierarchy in
+ case conversion of one file fails.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--follow-symlinks</term>
+ <listitem><para>Follow symlinks encountered while traversing a
+ directory.</para></listitem>
+ </varlistentry>
+
+ <!-- Options for net ads dns register (and ads join) -->
+ <varlistentry>
+ <term>--dns-ttl TTL-IN-SECONDS</term>
+ <listitem><para>
+ Specify the Time to Live (TTL) of DNS records.
+ DNS records will be created or updated with the given TTL.
+ The TTL is specified in seconds. Can be used with "net ads dns
+ register" and "net ads join".
+ The default is 3600 seconds.
+ </para></listitem>
+ </varlistentry>
+
+ <!-- Options for net witness subcommands -->
+
+ <varlistentry>
+ <term>--witness-registration=REGISTRATION_UUID</term>
+ <listitem><para>
+ This does a direct lookup for REGISTRATION_UUID
+ instead of doing a database traversal.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--witness-net-name=REGEX</term>
+ <listitem><para>
+ This specifies the 'server name' the client
+ registered for monitoring.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--witness-share-name=REGEX</term>
+ <listitem><para>
+ This specifies the 'share name' the client
+ registered for monitoring.
+ Note that the share name is optional in the
+ registration, otherwise an empty string is
+ matched.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--witness-ip-address=REGEX</term>
+ <listitem><para>
+ This specifies the ip address the client
+ registered for monitoring.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--witness-client-computer-name=REGEX</term>
+ <listitem><para>
+ This specifies the client computer name the client
+ specified in the registration.
+ Note it is just a string chosen by the client itself.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--witness-apply-to-all</term>
+ <listitem><para>
+ This selects all registrations.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--witness-new-node=NODEID</term>
+ <listitem><para>
+ By specifying a NODEID all ip addresses
+ currently available on the given node are
+ included in the response.
+ By specifying '-1' as NODEID all ip addresses
+ of the cluster are included in the response.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--witness-new-ip=IPADDRESS</term>
+ <listitem><para>
+ By specifying an IPADDRESS only the specified
+ ip address is included in the response.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--witness-forced-response=JSON</term>
+ <listitem><para>
+ This allows the generation of very complex
+ witness_notifyResponse structures.
+ </para></listitem>
+ </varlistentry>
+
+ &cmdline.common.samba.client;
+ &cmdline.common.connection;
+ &cmdline.common.credentials;
+ </variablelist>
+</refsect1>
+
+<refsect1>
+<title>COMMANDS</title>
+
+<refsect2>
+<title>CHANGESECRETPW</title>
+
+<para>This command allows the Samba machine account password to be set from an external application
+to a machine account password that has already been stored in Active Directory. DO NOT USE this command
+unless you know exactly what you are doing. The use of this command requires that the force flag (-f)
+be used also. There will be NO command prompt. Whatever information is piped into stdin, either by
+typing at the command line or otherwise, will be stored as the literal machine password. Do NOT use
+this without care and attention as it will overwrite a legitimate machine password without warning.
+YOU HAVE BEEN WARNED.
+</para>
+
+</refsect2>
+
+<refsect2>
+ <title>TIME</title>
+
+ <para>The <command>NET TIME</command> command allows you to view the time on a remote server
+ or synchronise the time on the local server with the time on the remote server.</para>
+
+<refsect3>
+<title>TIME</title>
+
+<para>Without any options, the <command>NET TIME</command> command
+displays the time on the remote server. The remote server must be
+specified with the -S option.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>TIME SYSTEM</title>
+
+<para>Displays the time on the remote server in a format ready for <command>/bin/date</command>.
+The remote server must be specified with the -S option.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>TIME SET</title>
+<para>Tries to set the date and time of the local server to that on
+the remote server using <command>/bin/date</command>.
+The remote server must be specified with the -S option.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>TIME ZONE</title>
+
+<para>Displays the timezone in hours from GMT on the remote server.
+The remote server must be specified with the -S option.
+</para>
+
+</refsect3>
+</refsect2>
+
+<refsect2>
+<title>[RPC|ADS] JOIN [TYPE] [--no-dns-updates] [-U username[%password]]
+[dnshostname=FQDN] [createupn=UPN] [createcomputer=OU] [machinepass=PASS]
+[osName=string osVer=string] [options]</title>
+
+<para>
+Join a domain. If the account already exists on the server, and
+[TYPE] is MEMBER, the machine will attempt to join automatically.
+(Assuming that the machine has been created in server manager)
+Otherwise, a password will be prompted for, and a new account may
+be created.</para>
+
+<para>
+[TYPE] may be PDC, BDC or MEMBER to specify the type of server
+joining the domain.
+</para>
+
+<para>
+[FQDN] (ADS only) set the dnsHostName attribute during the join.
+The default format is netbiosname.dnsdomain.
+</para>
+
+<para>
+[UPN] (ADS only) set the principalname attribute during the join. The default
+format is host/netbiosname@REALM.
+</para>
+
+<para>
+[OU] (ADS only) Precreate the computer account in a specific OU. The
+OU string reads from top to bottom without RDNs, and is delimited by
+a '/'. Please note that '\' is used for escape by both the shell
+and ldap, so it may need to be doubled or quadrupled to pass through,
+and it is not used as a delimiter.
+</para>
+<para>
+[PASS] (ADS only) Set a specific password on the computer account
+being created by the join.
+</para>
+<para>
+[osName=string osVer=String] (ADS only) Set the operatingSystem and
+operatingSystemVersion attribute during the join. Both parameters
+must be specified for either to take effect.
+</para>
+</refsect2>
+
+<refsect2>
+<title>[RPC] OLDJOIN [options]</title>
+
+<para>Join a domain. Use the OLDJOIN option to join the domain
+using the old style of domain joining - you need to create a trust
+account in server manager first.</para>
+</refsect2>
+
+<refsect2>
+<title>[RPC|ADS] USER</title>
+
+<refsect3>
+<title>[RPC|ADS] USER</title>
+
+<para>List all users</para>
+
+</refsect3>
+
+<refsect3>
+<title>[RPC|ADS] USER DELETE <replaceable>target</replaceable></title>
+
+<para>Delete specified user</para>
+
+</refsect3>
+
+<refsect3>
+<title>[RPC|ADS] USER INFO <replaceable>target</replaceable></title>
+
+<para>List the domain groups of the specified user.</para>
+
+</refsect3>
+
+<refsect3>
+<title>[RPC|ADS] USER RENAME <replaceable>oldname</replaceable> <replaceable>newname</replaceable></title>
+
+<para>Rename specified user.</para>
+
+</refsect3>
+
+<refsect3>
+<title>[RPC|ADS] USER ADD <replaceable>name</replaceable> [password] [-F user flags] [-C comment]</title>
+
+<para>Add specified user.</para>
+</refsect3>
+</refsect2>
+
+<refsect2>
+<title>[RPC|ADS] GROUP</title>
+
+<refsect3>
+<title>[RPC|ADS] GROUP [misc options] [targets]</title>
+<para>List user groups.</para>
+</refsect3>
+
+<refsect3>
+<title>[RPC|ADS] GROUP DELETE <replaceable>name</replaceable> [misc. options]</title>
+
+<para>Delete specified group.</para>
+
+</refsect3>
+
+<refsect3>
+<title>[RPC|ADS] GROUP ADD <replaceable>name</replaceable> [-C comment]</title>
+
+<para>Create specified group.</para>
+
+</refsect3>
+<refsect3>
+<title>[ADS] LOOKUP</title>
+
+<para>Lookup the closest Domain Controller in our domain and retrieve server information about it.</para>
+
+</refsect3>
+</refsect2>
+
+<refsect2>
+<title>[RAP|RPC] SHARE</title>
+
+<refsect3>
+<title>[RAP|RPC] SHARE [misc. options] [targets]</title>
+
+<para>Enumerates all exported resources (network shares) on target server.</para>
+
+</refsect3>
+
+<refsect3>
+<title>[RAP|RPC] SHARE ADD <replaceable>name=serverpath</replaceable> [-C comment] [-M maxusers] [targets]</title>
+
+<para>Adds a share from a server (makes the export active). Maxusers
+specifies the number of users that can be connected to the
+share simultaneously.</para>
+
+</refsect3>
+
+<refsect3>
+<title>SHARE DELETE <replaceable>sharename</replaceable></title>
+
+<para>Delete specified share.</para>
+</refsect3>
+</refsect2>
+
+<refsect2>
+<title>[RPC|RAP] FILE</title>
+
+<refsect3>
+<title>[RPC|RAP] FILE</title>
+
+<para>List all open files on remote server.</para>
+
+</refsect3>
+
+<refsect3>
+<title>[RPC|RAP] FILE CLOSE <replaceable>fileid</replaceable></title>
+
+<para>Close file with specified <replaceable>fileid</replaceable> on
+remote server.</para>
+
+</refsect3>
+
+<refsect3>
+<title>[RPC|RAP] FILE INFO <replaceable>fileid</replaceable></title>
+
+<para>
+Print information on specified <replaceable>fileid</replaceable>.
+Currently listed are: file-id, username, locks, path, permissions.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>[RAP|RPC] FILE USER <replaceable>user</replaceable></title>
+
+<para>
+List files opened by specified <replaceable>user</replaceable>.
+Please note that <command>net rap file user</command> does not work
+against Samba servers.
+</para>
+
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>SESSION</title>
+
+<refsect3>
+<title>RAP SESSION</title>
+
+<para>Without any other options, SESSION enumerates all active SMB/CIFS
+sessions on the target server.</para>
+
+</refsect3>
+
+<refsect3>
+<title>RAP SESSION DELETE|CLOSE <replaceable>CLIENT_NAME</replaceable></title>
+
+<para>Close the specified sessions.</para>
+
+</refsect3>
+
+<refsect3>
+<title>RAP SESSION INFO <replaceable>CLIENT_NAME</replaceable></title>
+
+<para>Give a list with all the open files in specified session.</para>
+
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>RAP SERVER <replaceable>DOMAIN</replaceable></title>
+
+<para>List all servers in specified domain or workgroup. Defaults
+to local domain.</para>
+
+</refsect2>
+
+<refsect2>
+<title>RAP DOMAIN</title>
+
+<para>Lists all domains and workgroups visible on the
+current network.</para>
+
+</refsect2>
+
+<refsect2>
+<title>RAP PRINTQ</title>
+
+<refsect3>
+<title>RAP PRINTQ INFO <replaceable>QUEUE_NAME</replaceable></title>
+
+<para>Lists the specified print queue and print jobs on the server.
+If the <replaceable>QUEUE_NAME</replaceable> is omitted, all
+queues are listed.</para>
+
+</refsect3>
+
+<refsect3>
+<title>RAP PRINTQ DELETE <replaceable>JOBID</replaceable></title>
+
+<para>Delete job with specified id.</para>
+
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>RAP VALIDATE <replaceable>user</replaceable> [<replaceable>password</replaceable>]</title>
+
+<para>
+Validate whether the specified user can log in to the
+remote server. If the password is not specified on the commandline, it
+will be prompted.
+</para>
+
+&not.implemented;
+
+</refsect2>
+
+<refsect2>
+<title>RAP GROUPMEMBER</title>
+
+<refsect3>
+<title>RAP GROUPMEMBER LIST <replaceable>GROUP</replaceable></title>
+
+<para>List all members of the specified group.</para>
+
+</refsect3>
+
+<refsect3>
+<title>RAP GROUPMEMBER DELETE <replaceable>GROUP</replaceable> <replaceable>USER</replaceable></title>
+
+<para>Delete member from group.</para>
+
+</refsect3>
+
+<refsect3>
+<title>RAP GROUPMEMBER ADD <replaceable>GROUP</replaceable> <replaceable>USER</replaceable></title>
+
+<para>Add member to group.</para>
+
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>RAP ADMIN <replaceable>command</replaceable></title>
+
+<para>Execute the specified <replaceable>command</replaceable> on
+the remote server. Only works with OS/2 servers.
+</para>
+
+&not.implemented;
+
+</refsect2>
+
+<refsect2>
+<title>RAP SERVICE</title>
+
+<refsect3>
+<title>RAP SERVICE START <replaceable>NAME</replaceable> [arguments...]</title>
+
+<para>Start the specified service on the remote server. Not implemented yet.</para>
+
+&not.implemented;
+
+</refsect3>
+
+<refsect3>
+<title>RAP SERVICE STOP</title>
+
+<para>Stop the specified service on the remote server.</para>
+
+&not.implemented;
+
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>RAP PASSWORD <replaceable>USER</replaceable> <replaceable>OLDPASS</replaceable> <replaceable>NEWPASS</replaceable></title>
+
+<para>
+Change password of <replaceable>USER</replaceable> from <replaceable>OLDPASS</replaceable> to <replaceable>NEWPASS</replaceable>.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>LOOKUP</title>
+
+<refsect3>
+<title>LOOKUP HOST <replaceable>HOSTNAME</replaceable> [<replaceable>TYPE</replaceable>]</title>
+
+<para>
+Lookup the IP address of the given host with the specified type (netbios suffix).
+The type defaults to 0x20 (workstation).
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>LOOKUP LDAP [<replaceable>DOMAIN</replaceable>]</title>
+
+<para>Give IP address of LDAP server of specified <replaceable>DOMAIN</replaceable>. Defaults to local domain.</para>
+
+</refsect3>
+
+<refsect3>
+<title>LOOKUP KDC [<replaceable>REALM</replaceable>]</title>
+
+<para>Give IP address of KDC for the specified <replaceable>REALM</replaceable>.
+Defaults to local realm.</para>
+
+</refsect3>
+
+<refsect3>
+<title>LOOKUP DC [<replaceable>DOMAIN</replaceable>]</title>
+
+<para>Give IP's of Domain Controllers for specified <replaceable>
+DOMAIN</replaceable>. Defaults to local domain.</para>
+
+</refsect3>
+
+<refsect3>
+<title>LOOKUP MASTER <replaceable>DOMAIN</replaceable></title>
+
+<para>Give IP of master browser for specified <replaceable>DOMAIN</replaceable>
+or workgroup. Defaults to local domain.</para>
+
+</refsect3>
+
+<refsect3>
+<title>LOOKUP NAME [<replaceable>NAME</replaceable>]</title>
+
+<para>Lookup username's sid and type for specified <replaceable>NAME</replaceable>
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>LOOKUP SID [<replaceable>SID</replaceable>]</title>
+
+<para>Give sid's name and type for specified <replaceable>SID</replaceable>
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>LOOKUP DSGETDCNAME [<replaceable>NAME</replaceable>] [<replaceable>FLAGS</replaceable>] [<replaceable>SITENAME</replaceable>]</title>
+
+<para>Give Domain Controller information for specified domain <replaceable>NAME</replaceable>
+</para>
+
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>CACHE</title>
+
+<para>Samba uses a general caching interface called 'gencache'. It
+can be controlled using 'NET CACHE'.</para>
+
+<para>All the timeout parameters support the suffixes:
+
+<simplelist>
+<member>s - Seconds</member>
+<member>m - Minutes</member>
+<member>h - Hours</member>
+<member>d - Days</member>
+<member>w - Weeks</member>
+</simplelist>
+
+</para>
+
+<refsect3>
+<title>CACHE ADD <replaceable>key</replaceable> <replaceable>data</replaceable> <replaceable>time-out</replaceable></title>
+
+<para>Add specified key+data to the cache with the given timeout.</para>
+
+</refsect3>
+
+<refsect3>
+<title>CACHE DEL <replaceable>key</replaceable></title>
+
+<para>Delete key from the cache.</para>
+
+</refsect3>
+
+<refsect3>
+<title>CACHE SET <replaceable>key</replaceable> <replaceable>data</replaceable> <replaceable>time-out</replaceable></title>
+
+<para>Update data of existing cache entry.</para>
+
+</refsect3>
+
+<refsect3>
+<title>CACHE SEARCH <replaceable>PATTERN</replaceable></title>
+
+<para>Search for the specified pattern in the cache data.</para>
+
+</refsect3>
+
+<refsect3>
+<title>CACHE LIST</title>
+
+<para>
+List all current items in the cache.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>CACHE FLUSH</title>
+
+<para>Remove all the current items from the cache.</para>
+
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>GETLOCALSID [DOMAIN]</title>
+
+<para>Prints the SID of the specified domain, or if the parameter is
+omitted, the SID of the local server.</para>
+
+</refsect2>
+
+<refsect2>
+<title>SETLOCALSID S-1-5-21-x-y-z</title>
+
+<para>Sets SID for the local server to the specified SID.</para>
+
+</refsect2>
+
+<refsect2>
+<title>GETDOMAINSID</title>
+
+<para>Prints the local machine SID and the SID of the current
+domain.</para>
+
+</refsect2>
+
+<refsect2>
+<title>SETDOMAINSID</title>
+
+<para>Sets the SID of the current domain.</para>
+
+</refsect2>
+
+<refsect2>
+<title>GROUPMAP</title>
+
+<para>Manage the mappings between Windows group SIDs and UNIX groups.
+Common options include:</para>
+
+<itemizedlist>
+<listitem><para>unixgroup - Name of the UNIX group</para></listitem>
+<listitem><para>ntgroup - Name of the Windows NT group (must be
+ resolvable to a SID</para></listitem>
+<listitem><para>rid - Unsigned 32-bit integer</para></listitem>
+<listitem><para>sid - Full SID in the form of "S-1-..."</para></listitem>
+<listitem><para>type - Type of the group; either 'domain', 'local',
+ or 'builtin'</para></listitem>
+<listitem><para>comment - Freeform text description of the group</para></listitem>
+</itemizedlist>
+
+<refsect3>
+<title>GROUPMAP ADD</title>
+
+<para>
+Add a new group mapping entry:
+<programlisting>
+net groupmap add {rid=int|sid=string} unixgroup=string \
+ [type={domain|local}] [ntgroup=string] [comment=string]
+</programlisting>
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>GROUPMAP DELETE</title>
+
+<para>Delete a group mapping entry. If more than one group name matches, the first entry found is deleted.</para>
+
+<para>net groupmap delete {ntgroup=string|sid=SID}</para>
+
+</refsect3>
+
+<refsect3>
+<title>GROUPMAP MODIFY</title>
+
+<para>Update an existing group entry.</para>
+
+<para>
+<programlisting>
+net groupmap modify {ntgroup=string|sid=SID} [unixgroup=string] \
+ [comment=string] [type={domain|local}]
+</programlisting>
+</para>
+</refsect3>
+
+<refsect3>
+<title>GROUPMAP LIST</title>
+
+<para>List existing group mapping entries.</para>
+
+<para>net groupmap list [verbose] [ntgroup=string] [sid=SID]</para>
+
+</refsect3>
+</refsect2>
+
+
+
+<refsect2>
+<title>MAXRID</title>
+
+<para>Prints out the highest RID currently in use on the local
+server (by the active 'passdb backend').
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>RPC INFO</title>
+
+<para>Print information about the domain of the remote server,
+such as domain name, domain sid and number of users and groups.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>[RPC|ADS] TESTJOIN</title>
+
+<para>Check whether participation in a domain is still valid.</para>
+
+</refsect2>
+
+<refsect2>
+<title>[RPC|ADS] CHANGETRUSTPW</title>
+
+<para>Force change of domain trust password.</para>
+
+</refsect2>
+
+<refsect2>
+<title>RPC TRUSTDOM</title>
+
+<refsect3>
+<title>RPC TRUSTDOM ADD <replaceable>DOMAIN</replaceable></title>
+
+<para>Add a interdomain trust account for <replaceable>DOMAIN</replaceable>.
+This is in fact a Samba account named <replaceable>DOMAIN$</replaceable>
+with the account flag <constant>'I'</constant> (interdomain trust account).
+This is required for incoming trusts to work. It makes Samba be a
+trusted domain of the foreign (trusting) domain.
+Users of the Samba domain will be made available in the foreign domain.
+If the command is used against localhost it has the same effect as
+<command>smbpasswd -a -i DOMAIN</command>. Please note that both commands
+expect a appropriate UNIX account.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>RPC TRUSTDOM DEL <replaceable>DOMAIN</replaceable></title>
+
+<para>Remove interdomain trust account for
+<replaceable>DOMAIN</replaceable>. If it is used against localhost
+it has the same effect as <command>smbpasswd -x DOMAIN$</command>.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>RPC TRUSTDOM ESTABLISH <replaceable>DOMAIN</replaceable></title>
+
+<para>
+Establish a trust relationship to a trusted domain.
+Interdomain account must already be created on the remote PDC.
+This is required for outgoing trusts to work. It makes Samba be a
+trusting domain of a foreign (trusted) domain.
+Users of the foreign domain will be made available in our domain.
+You'll need winbind and a working idmap config to make them
+appear in your system.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>RPC TRUSTDOM REVOKE <replaceable>DOMAIN</replaceable></title>
+<para>Abandon relationship to trusted domain</para>
+
+</refsect3>
+
+<refsect3>
+<title>RPC TRUSTDOM LIST</title>
+
+<para>List all interdomain trust relationships.</para>
+
+</refsect3>
+</refsect2>
+
+<refsect2>
+<title>RPC TRUST</title>
+
+<refsect3>
+<title>RPC TRUST CREATE</title>
+
+<para>Create a trust object by calling lsaCreateTrustedDomainEx2.
+The can be done on a single server or on two servers at once with the
+possibility to use a random trust password.</para>
+
+<variablelist><title>Options:</title>
+<varlistentry>
+<term>otherserver</term>
+<listitem><para>Domain controller of the second domain</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>otheruser</term>
+<listitem><para>Admin user in the second domain</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>otherdomainsid</term>
+<listitem><para>SID of the second domain</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>other_netbios_domain</term>
+<listitem><para>NetBIOS (short) name of the second domain</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>otherdomain</term>
+<listitem><para>DNS (full) name of the second domain</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>trustpw</term>
+<listitem><para>Trust password</para></listitem>
+</varlistentry>
+</variablelist>
+
+<variablelist><title>Examples:</title>
+<varlistentry>
+<term>Create a trust object on srv1.dom1.dom for the domain dom2</term>
+<listitem><literallayout>
+net rpc trust create \
+ otherdomainsid=S-x-x-xx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxx \
+ other_netbios_domain=dom2 \
+ otherdomain=dom2.dom \
+ trustpw=12345678 \
+ -S srv1.dom1.dom
+</literallayout></listitem>
+</varlistentry>
+<varlistentry>
+<term>Create a trust relationship between dom1 and dom2</term>
+<listitem><literallayout>
+net rpc trust create \
+ otherserver=srv2.dom2.test \
+ otheruser=dom2adm \
+ -S srv1.dom1.dom
+</literallayout></listitem>
+</varlistentry>
+</variablelist>
+</refsect3>
+
+<refsect3>
+<title>RPC TRUST DELETE</title>
+
+<para>Delete a trust object by calling lsaDeleteTrustedDomain.
+The can be done on a single server or on two servers at once.</para>
+
+<variablelist><title>Options:</title>
+<varlistentry>
+<term>otherserver</term>
+<listitem><para>Domain controller of the second domain</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>otheruser</term>
+<listitem><para>Admin user in the second domain</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>otherdomainsid</term>
+<listitem><para>SID of the second domain</para></listitem>
+</varlistentry>
+</variablelist>
+
+<variablelist><title>Examples:</title>
+<varlistentry>
+<term>Delete a trust object on srv1.dom1.dom for the domain dom2</term>
+<listitem><literallayout>
+net rpc trust delete \
+ otherdomainsid=S-x-x-xx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxx \
+ -S srv1.dom1.dom
+</literallayout></listitem>
+</varlistentry>
+<varlistentry>
+<term>Delete a trust relationship between dom1 and dom2</term>
+<listitem><literallayout>
+net rpc trust delete \
+ otherserver=srv2.dom2.test \
+ otheruser=dom2adm \
+ -S srv1.dom1.dom
+</literallayout></listitem>
+</varlistentry>
+</variablelist>
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<refsect3>
+<title>RPC RIGHTS</title>
+
+<para>This subcommand is used to view and manage Samba's rights assignments (also
+referred to as privileges). There are three options currently available:
+<parameter>list</parameter>, <parameter>grant</parameter>, and
+<parameter>revoke</parameter>. More details on Samba's privilege model and its use
+can be found in the Samba-HOWTO-Collection.</para>
+
+</refsect3>
+
+
+</refsect2>
+
+<refsect2>
+<title>RPC ABORTSHUTDOWN</title>
+
+<para>Abort the shutdown of a remote server.</para>
+
+</refsect2>
+
+<refsect2>
+<title>RPC SHUTDOWN [-t timeout] [-r] [-f] [-C message]</title>
+
+<para>Shut down the remote server.</para>
+
+<variablelist>
+<varlistentry>
+<term>-r</term>
+<listitem><para>
+Reboot after shutdown.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>-f</term>
+<listitem><para>
+Force shutting down all applications.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>-t timeout</term>
+<listitem><para>
+Timeout before system will be shut down. An interactive
+user of the system can use this time to cancel the shutdown.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>-C message</term>
+<listitem><para>Display the specified message on the screen to
+announce the shutdown.</para></listitem>
+</varlistentry>
+</variablelist>
+
+</refsect2>
+
+<refsect2>
+<title>RPC SAMDUMP</title>
+
+<para>Print out sam database of remote server. You need
+to run this against the PDC, from a Samba machine joined as a BDC. </para>
+</refsect2>
+
+<refsect2>
+<title>RPC VAMPIRE</title>
+
+<para>Export users, aliases and groups from remote server to
+local server. You need to run this against the PDC, from a Samba machine joined as a BDC.
+This vampire command cannot be used against an Active Directory, only
+against an NT4 Domain Controller.
+</para>
+</refsect2>
+
+<refsect2>
+<title>RPC VAMPIRE KEYTAB</title>
+
+<para>Dump remote SAM database to local Kerberos keytab file.
+</para>
+</refsect2>
+
+<refsect2>
+<title>RPC VAMPIRE LDIF</title>
+
+<para>Dump remote SAM database to local LDIF file or standard output.
+</para>
+</refsect2>
+
+<refsect2>
+<title>RPC GETSID</title>
+
+<para>Fetch domain SID and store it in the local <filename>secrets.tdb</filename>. </para>
+
+</refsect2>
+
+<refsect2>
+
+<title>ADS GPO</title>
+<refsect3>
+<title>ADS GPO APPLY &lt;USERNAME|MACHINENAME&gt; </title>
+<para>Apply GPOs for a username or machine name. Either username or machine name should be provided to the command, not both. </para>
+</refsect3>
+
+<refsect3>
+<title>ADS GPO GETGPO [<replaceable>GPO</replaceable>]</title>
+<para>List specified GPO.</para>
+</refsect3>
+
+<refsect3>
+<title>ADS GPO LINKADD [<replaceable>LINKDN</replaceable>] [<replaceable>GPODN</replaceable>]</title>
+<para>Link a container to a GPO. <replaceable>LINKDN</replaceable> Container to link to a GPO. <replaceable>GPODN</replaceable> GPO to link container to. DNs must be provided properly escaped. See RFC 4514 for details.</para>
+</refsect3>
+
+<refsect3>
+<title>ADS GPO LINKGET [<replaceable>CONTAINER</replaceable>]</title>
+<para>Lists gPLink of a container.</para>
+</refsect3>
+
+<refsect3>
+<title>ADS GPO LIST &lt;USERNAME|MACHINENAME&gt; </title>
+<para>Lists all GPOs for a username or machine name. Either username or machine name should be provided to the command, not both. </para>
+</refsect3>
+
+<refsect3>
+<title>ADS GPO LISTALL</title>
+<para>Lists all GPOs on a DC.</para>
+</refsect3>
+
+<refsect3>
+<title>ADS GPO REFRESH [<replaceable>USERNAME</replaceable>] [<replaceable>MACHINENAME</replaceable>]</title>
+<para>Lists all GPOs assigned to an account and download them. <replaceable>USERNAME</replaceable> User to refresh GPOs for. <replaceable>MACHINENAME</replaceable> Machine to refresh GPOs for.</para>
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+
+<title>ADS DNS</title>
+
+<refsect3>
+<title>ADS DNS REGISTER [HOSTNAME [IP [IP.....]]]</title>
+<para>Add host dns entry to Active Directory.</para>
+</refsect3>
+
+<refsect3>
+<title>ADS DNS UNREGISTER &lt;HOSTNAME&gt;</title>
+<para>Remove host dns entry from Active Directory.</para>
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>ADS LEAVE [--keep-account]</title>
+
+<para>Make the remote host leave the domain it is part of. </para>
+
+</refsect2>
+
+<refsect2>
+<title>ADS STATUS</title>
+
+<para>Print out status of machine account of the local machine in ADS.
+Prints out quite some debug info. Aimed at developers, regular
+users should use <command>NET ADS TESTJOIN</command>.</para>
+
+</refsect2>
+
+<refsect2>
+<title>ADS PRINTER</title>
+
+<refsect3>
+<title>ADS PRINTER INFO [<replaceable>PRINTER</replaceable>] [<replaceable>SERVER</replaceable>]</title>
+
+<para>
+Lookup info for <replaceable>PRINTER</replaceable> on <replaceable>SERVER</replaceable>. The printer name defaults to "*", the
+server name defaults to the local host.</para>
+
+</refsect3>
+
+<refsect3>
+<title>ADS PRINTER PUBLISH <replaceable>PRINTER</replaceable></title>
+
+<para>Publish specified printer using ADS.</para>
+
+</refsect3>
+
+<refsect3>
+<title>ADS PRINTER REMOVE <replaceable>PRINTER</replaceable></title>
+
+<para>Remove specified printer from ADS directory.</para>
+
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>ADS SEARCH <replaceable>EXPRESSION</replaceable> <replaceable>ATTRIBUTES...</replaceable></title>
+
+<para>Perform a raw LDAP search on a ADS server and dump the results. The
+expression is a standard LDAP search expression, and the
+attributes are a list of LDAP fields to show in the results.</para>
+
+<para>Example: <userinput>net ads search '(objectCategory=group)' sAMAccountName</userinput>
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>ADS DN <replaceable>DN</replaceable> <replaceable>(attributes)</replaceable></title>
+
+<para>
+Perform a raw LDAP search on a ADS server and dump the results. The
+DN standard LDAP DN, and the attributes are a list of LDAP fields
+to show in the result.
+</para>
+
+<para>Example: <userinput>net ads dn 'CN=administrator,CN=Users,DC=my,DC=domain' SAMAccountName</userinput></para>
+
+</refsect2>
+
+<refsect2>
+<title>ADS KEYTAB <replaceable>CREATE</replaceable></title>
+
+<para>
+Creates a new keytab file if one doesn't exist with default entries. Default
+entries are kerberos principals created from the machinename of the
+client, the UPN (if it exists) and any Windows SPN(s) associated with the
+computer AD account for the client. If a keytab file already exists then only
+missing kerberos principals from the default entries are added. No changes
+are made to the computer AD account.
+</para>
+</refsect2>
+
+<refsect2>
+<title>ADS KEYTAB <replaceable>ADD</replaceable> <replaceable>(principal | machine | serviceclass | windows SPN</replaceable></title>
+
+<para>
+Adds a new keytab entry, the entry can be either;
+ <variablelist>
+ <varlistentry><term>kerberos principal</term>
+ <listitem><para>
+ A kerberos principal (identified by the presence of '@') is just
+ added to the keytab file.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry><term>machinename</term>
+ <listitem><para>
+ A machinename (identified by the trailing '$') is used to create a
+ a kerberos principal 'machinename@realm' which is added to the
+ keytab file.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry><term>serviceclass</term>
+ <listitem><para>
+ A serviceclass (such as 'cifs', 'html' etc.) is used to create a pair
+ of kerberos principals 'serviceclass/fully_qualified_dns_name@realm' &amp;
+ 'serviceclass/netbios_name@realm' which are added to the keytab file.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry><term>Windows SPN</term>
+ <listitem><para>
+ A Windows SPN is of the format 'serviceclass/host:port', it is used to
+ create a kerberos principal 'serviceclass/host@realm' which will
+ be written to the keytab file.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+<para>
+Unlike old versions no computer AD objects are modified by this command. To
+preserve the behaviour of older clients 'net ads keytab ad_update_ads' is
+available.
+</para>
+</refsect2>
+
+<refsect2>
+<title>ADS KEYTAB <replaceable>ADD_UPDATE_ADS</replaceable> <replaceable>(principal | machine | serviceclass | windows SPN</replaceable></title>
+
+<para>
+Adds a new keytab entry (see section for net ads keytab add). In addition to
+adding entries to the keytab file corresponding Windows SPNs are created
+from the entry passed to this command. These SPN(s) added to the AD computer
+account object associated with the client machine running this command for
+the following entry types;
+ <variablelist>
+ <varlistentry><term>serviceclass</term>
+ <listitem><para>
+ A serviceclass (such as 'cifs', 'html' etc.) is used to create a
+ pair of Windows SPN(s) 'param/full_qualified_dns' &amp;
+ 'param/netbios_name' which are added to the AD computer account object
+ for this client.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry><term>Windows SPN</term>
+ <listitem><para>
+ A Windows SPN is of the format 'serviceclass/host:port', it is
+ added as passed to the AD computer account object for this client.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+
+<refsect2>
+<title>ADS setspn <replaceable>SETSPN LIST [machine]</replaceable></title>
+
+<para>
+ Lists the Windows SPNs stored in the 'machine' Windows AD Computer object.
+ If 'machine' is not specified then computer account for this client is used
+ instead.
+</para>
+</refsect2>
+
+<refsect2>
+<title>ADS setspn <replaceable>SETSPN ADD SPN [machine]</replaceable></title>
+
+<para>
+ Adds the specified Windows SPN to the 'machine' Windows AD Computer object.
+ If 'machine' is not specified then computer account for this client is used
+ instead.
+</para>
+</refsect2>
+
+
+<refsect2>
+<title>ADS setspn <replaceable>SETSPN DELETE SPN [machine]</replaceable></title>
+
+<para>
+ DELETE the specified Window SPN from the 'machine' Windows AD Computer
+ object. If 'machine' is not specified then computer account for this
+ client is used
+ instead.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>ADS WORKGROUP</title>
+
+<para>Print out workgroup name for specified kerberos realm.</para>
+
+</refsect2>
+
+<refsect2>
+ <title>ADS ENCTYPES</title>
+
+<para>
+ List, modify or delete the value of the "msDS-SupportedEncryptionTypes" attribute of an account in AD.
+</para>
+
+<para>
+ This attribute allows one to control which Kerberos encryption types are used for the generation of initial and service tickets. The value consists of an integer bitmask with the following values:
+</para>
+
+<para>0x00000001 DES-CBC-CRC</para>
+<para>0x00000002 DES-CBC-MD5</para>
+<para>0x00000004 RC4-HMAC</para>
+<para>0x00000008 AES128-CTS-HMAC-SHA1-96</para>
+<para>0x00000010 AES256-CTS-HMAC-SHA1-96</para>
+
+</refsect2>
+
+<refsect2>
+ <title>ADS ENCTYPES LIST <replaceable>&lt;ACCOUNTNAME&gt;</replaceable></title>
+
+<para>
+ List the value of the "msDS-SupportedEncryptionTypes" attribute of a given account.
+</para>
+
+<para>Example: <userinput>net ads enctypes list Computername</userinput></para>
+
+</refsect2>
+
+<refsect2>
+ <title>ADS ENCTYPES SET <replaceable>&lt;ACCOUNTNAME&gt;</replaceable> <replaceable>[enctypes]</replaceable></title>
+
+<para>
+ Set the value of the "msDS-SupportedEncryptionTypes" attribute of the LDAP object of ACCOUNTNAME to a given value. If the value is omitted, the value is set to 31 which enables all the currently supported encryption types.
+</para>
+
+<para>Example: <userinput>net ads enctypes set Computername 24</userinput></para>
+
+</refsect2>
+
+<refsect2>
+ <title>ADS ENCTYPES DELETE <replaceable>&lt;ACCOUNTNAME&gt;</replaceable></title>
+
+<para>
+ Deletes the "msDS-SupportedEncryptionTypes" attribute of the LDAP object of ACCOUNTNAME.
+</para>
+
+<para>Example: <userinput>net ads enctypes set Computername 24</userinput></para>
+
+</refsect2>
+
+
+<refsect2>
+<title>SAM CREATEBUILTINGROUP &lt;NAME&gt;</title>
+
+<para>
+(Re)Create a BUILTIN group.
+Only a wellknown set of BUILTIN groups can be created with this command.
+This is the list of currently recognized group names: Administrators,
+Users, Guests, Power Users, Account Operators, Server Operators, Print
+Operators, Backup Operators, Replicator, RAS Servers, Pre-Windows 2000
+compatible Access.
+
+This command requires a running Winbindd with idmap allocation properly
+configured. The group gid will be allocated out of the winbindd range.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM CREATELOCALGROUP &lt;NAME&gt;</title>
+
+<para>
+Create a LOCAL group (also known as Alias).
+
+This command requires a running Winbindd with idmap allocation properly
+configured. The group gid will be allocated out of the winbindd range.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM DELETELOCALGROUP &lt;NAME&gt;</title>
+
+<para>
+Delete an existing LOCAL group (also known as Alias).
+
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM MAPUNIXGROUP &lt;NAME&gt;</title>
+
+<para>
+Map an existing Unix group and make it a Domain Group, the domain group
+will have the same name.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM UNMAPUNIXGROUP &lt;NAME&gt;</title>
+
+<para>
+Remove an existing group mapping entry.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM ADDMEM &lt;GROUP&gt; &lt;MEMBER&gt;</title>
+
+<para>
+Add a member to a Local group. The group can be specified only by name,
+the member can be specified by name or SID.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM DELMEM &lt;GROUP&gt; &lt;MEMBER&gt;</title>
+
+<para>
+Remove a member from a Local group. The group and the member must be
+specified by name.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM LISTMEM &lt;GROUP&gt;</title>
+
+<para>
+List Local group members. The group must be specified by name.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM LIST &lt;users|groups|localgroups|builtin|workstations&gt; [verbose]</title>
+
+<para>
+List the specified set of accounts by name. If verbose is specified,
+the rid and description is also provided for each account.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM RIGHTS LIST</title>
+
+<para>
+List all available privileges.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM RIGHTS GRANT &lt;NAME&gt; &lt;PRIVILEGE&gt;</title>
+
+<para>
+Grant one or more privileges to a user.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM RIGHTS REVOKE &lt;NAME&gt; &lt;PRIVILEGE&gt;</title>
+
+<para>
+Revoke one or more privileges from a user.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM SHOW &lt;NAME&gt;</title>
+
+<para>
+Show the full DOMAIN\\NAME the SID and the type for the corresponding
+account.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM SET HOMEDIR &lt;NAME&gt; &lt;DIRECTORY&gt;</title>
+
+<para>
+Set the home directory for a user account.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM SET PROFILEPATH &lt;NAME&gt; &lt;PATH&gt;</title>
+
+<para>
+Set the profile path for a user account.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM SET COMMENT &lt;NAME&gt; &lt;COMMENT&gt;</title>
+
+<para>
+Set the comment for a user or group account.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM SET FULLNAME &lt;NAME&gt; &lt;FULL NAME&gt;</title>
+
+<para>
+Set the full name for a user account.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM SET LOGONSCRIPT &lt;NAME&gt; &lt;SCRIPT&gt;</title>
+
+<para>
+Set the logon script for a user account.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM SET HOMEDRIVE &lt;NAME&gt; &lt;DRIVE&gt;</title>
+
+<para>
+Set the home drive for a user account.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM SET WORKSTATIONS &lt;NAME&gt; &lt;WORKSTATIONS&gt;</title>
+
+<para>
+Set the workstations a user account is allowed to log in from.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM SET DISABLE &lt;NAME&gt;</title>
+
+<para>
+Set the "disabled" flag for a user account.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM SET PWNOTREQ &lt;NAME&gt;</title>
+
+<para>
+Set the "password not required" flag for a user account.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM SET AUTOLOCK &lt;NAME&gt;</title>
+
+<para>
+Set the "autolock" flag for a user account.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM SET PWNOEXP &lt;NAME&gt;</title>
+
+<para>
+Set the "password do not expire" flag for a user account.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM SET PWDMUSTCHANGENOW &lt;NAME&gt; [yes|no]</title>
+
+<para>
+Set or unset the "password must change" flag for a user account.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM POLICY LIST</title>
+
+<para>
+List the available account policies.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM POLICY SHOW &lt;account policy&gt;</title>
+
+<para>
+Show the account policy value.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM POLICY SET &lt;account policy&gt; &lt;value&gt;</title>
+
+<para>
+Set a value for the account policy.
+Valid values can be: "forever", "never", "off", or a number.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>SAM PROVISION</title>
+
+<para>
+Only available if ldapsam:editposix is set and winbindd is running.
+Properly populates the ldap tree with the basic accounts (Administrator)
+and groups (Domain Users, Domain Admins, Domain Guests) on the ldap tree.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>IDMAP DUMP &lt;local tdb file name&gt;</title>
+
+<para>
+Dumps the mappings contained in the local tdb file specified.
+This command is useful to dump only the mappings produced by the idmap_tdb backend.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>IDMAP RESTORE [input file]</title>
+
+<para>
+Restore the mappings from the specified file or stdin.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>IDMAP SET SECRET &lt;DOMAIN&gt; &lt;secret&gt;</title>
+
+<para>
+Store a secret for the specified domain, used primarily for domains
+that use idmap_ldap as a backend. In this case the secret is used
+as the password for the user DN used to bind to the ldap server.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>IDMAP SET RANGE &lt;RANGE&gt; &lt;SID&gt; [index] [--db=&lt;DB&gt;]</title>
+
+<para>
+Store a domain-range mapping for a given domain (and index) in autorid database.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>IDMAP SET CONFIG &lt;config&gt; [--db=&lt;DB&gt;]</title>
+
+<para>
+Update CONFIG entry in autorid database.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>IDMAP GET RANGE &lt;SID&gt; [index] [--db=&lt;DB&gt;]</title>
+
+<para>
+Get the range for a given domain and index from autorid database.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>IDMAP GET RANGES [&lt;SID&gt;] [--db=&lt;DB&gt;]</title>
+
+<para>
+Get ranges for all domains or for one identified by given SID.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>IDMAP GET CONFIG [--db=&lt;DB&gt;]</title>
+
+<para>
+Get CONFIG entry from autorid database.
+</para>
+
+</refsect2>
+
+<refsect2>
+
+<title>IDMAP DELETE MAPPING [-f] [--db=&lt;DB&gt;] &lt;ID&gt;</title>
+
+<para>
+Delete a mapping sid &lt;-&gt; gid or sid &lt;-&gt; uid from the IDMAP database.
+The mapping is given by &lt;ID&gt; which may either be a sid: S-x-..., a gid: "GID number" or a uid: "UID number".
+Use -f to delete an invalid partial mapping &lt;ID&gt; -&gt; xx
+</para>
+<para>
+ Use "smbcontrol all idmap ..." to notify running smbd instances.
+ See the <citerefentry><refentrytitle>smbcontrol</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> manpage for details.
+</para>
+</refsect2>
+
+<refsect2>
+<title>IDMAP DELETE RANGE [-f] [--db=&lt;TDB&gt;] &lt;RANGE&gt;|(&lt;SID&gt; [&lt;INDEX&gt;])</title>
+
+<para>
+Delete a domain range mapping identified by 'RANGE' or "domain SID and INDEX" from autorid database.
+Use -f to delete invalid mappings.
+</para>
+
+</refsect2>
+
+<refsect2>
+<title>IDMAP DELETE RANGES [-f] [--db=&lt;TDB&gt;] &lt;SID&gt;</title>
+
+<para>
+Delete all domain range mappings for a domain identified by SID.
+Use -f to delete invalid mappings.
+</para>
+
+</refsect2>
+
+<refsect2>
+
+<title>IDMAP CHECK [-v] [-r] [-a] [-T] [-f] [-l] [--db=&lt;DB&gt;]</title>
+
+<para>
+ Check and repair the IDMAP database. If no option is given a read only check
+ of the database is done. Among others an interactive or automatic repair mode
+ may be chosen with one of the following options:
+
+ <variablelist>
+ <varlistentry><term>-r|--repair</term>
+ <listitem><para>
+ Interactive repair mode, ask a lot of questions.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>-a|--auto</term>
+ <listitem><para>
+ Noninteractive repair mode, use default answers.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>-v|--verbose</term>
+ <listitem><para>
+ Produce more output.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>-f|--force</term>
+ <listitem><para>
+ Try to apply changes, even if they do not apply cleanly.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>-T|--test</term>
+ <listitem><para>
+ Dry run, show what changes would be made but don't touch anything.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>-l|--lock</term>
+ <listitem><para>
+ Lock the database while doing the check.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>--db &lt;DB&gt;</term>
+ <listitem><para>
+ Check the specified database.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry><term></term>
+ <listitem><para>
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ It reports about the finding of the following errors:
+
+ <variablelist>
+ <varlistentry><term>Missing reverse mapping:</term>
+ <listitem><para>
+ A record with mapping A-&gt;B where there is no B-&gt;A. Default action
+ in repair mode is to "fix" this by adding the reverse mapping.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>Invalid mapping:</term>
+ <listitem><para>
+ A record with mapping A-&gt;B where B-&gt;C. Default action
+ is to "delete" this record.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>Missing or invalid HWM:</term>
+ <listitem><para>
+ A high water mark is not at least equal to the largest ID in the
+ database. Default action is to "fix" this by setting it to the
+ largest ID found +1.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>Invalid record:</term>
+ <listitem><para>
+ Something we failed to parse. Default action is to "edit" it
+ in interactive and "delete" it in automatic mode.
+ </para></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</refsect2>
+
+
+<refsect2>
+<title>USERSHARE</title>
+
+<para>Starting with version 3.0.23, a Samba server now supports the ability for
+non-root users to add user defined shares to be exported using the "net usershare"
+commands.
+</para>
+
+<para>
+To set this up, first set up your &smb.conf; by adding to the [global] section:
+
+usershare path = /usr/local/samba/lib/usershares
+
+Next create the directory /usr/local/samba/lib/usershares, change the owner to root and
+set the group owner to the UNIX group who should have the ability to create usershares,
+for example a group called "serverops".
+
+Set the permissions on /usr/local/samba/lib/usershares to 01770.
+
+(Owner and group all access, no access for others, plus the sticky bit,
+which means that a file in that directory can be renamed or deleted only
+by the owner of the file).
+
+Finally, tell smbd how many usershares you will allow by adding to the [global]
+section of &smb.conf; a line such as :
+
+usershare max shares = 100.
+
+To allow 100 usershare definitions. Now, members of the UNIX group "serverops"
+can create user defined shares on demand using the commands below.
+</para>
+
+<para>The usershare commands are:
+
+<simplelist>
+<member>net usershare add sharename path [comment [acl] [guest_ok=[y|n]]] - to add or change a user defined share.</member>
+<member>net usershare delete sharename - to delete a user defined share.</member>
+<member>net usershare info [--long] [wildcard sharename] - to print info about a user defined share.</member>
+<member>net usershare list [--long] [wildcard sharename] - to list user defined shares.</member>
+</simplelist>
+
+</para>
+
+<refsect3>
+<title>USERSHARE ADD <replaceable>sharename</replaceable> <replaceable>path</replaceable> <replaceable>[comment]</replaceable> <replaceable>[acl]</replaceable> <replaceable>[guest_ok=[y|n]]</replaceable></title>
+
+<para>
+Add or replace a new user defined share, with name "sharename".
+</para>
+
+<para>
+"path" specifies the absolute pathname on the system to be exported.
+Restrictions may be put on this, see the global &smb.conf; parameters:
+"usershare owner only", "usershare prefix allow list", and
+"usershare prefix deny list".
+</para>
+
+<para>
+The optional "comment" parameter is the comment that will appear
+on the share when browsed to by a client.
+</para>
+
+<para>The optional "acl" field
+specifies which users have read and write access to the entire share.
+Note that guest connections are not allowed unless the &smb.conf; parameter
+"usershare allow guests" has been set. The definition of a user
+defined share acl is: "user:permission", where user is a valid
+username on the system and permission can be "F", "R", or "D".
+"F" stands for "full permissions", ie. read and write permissions.
+"D" stands for "deny" for a user, ie. prevent this user from accessing
+this share.
+"R" stands for "read only", ie. only allow read access to this
+share (no creation of new files or directories or writing to files).
+</para>
+
+<para>
+The default if no "acl" is given is "Everyone:R", which means any
+authenticated user has read-only access.
+</para>
+
+<para>
+The optional "guest_ok" has the same effect as the parameter of the
+same name in &smb.conf;, in that it allows guest access to this user
+defined share. This parameter is only allowed if the global parameter
+"usershare allow guests" has been set to true in the &smb.conf;.
+</para>
+
+<para>
+There is no separate command to modify an existing user defined share,
+just use the "net usershare add [sharename]" command using the same
+sharename as the one you wish to modify and specify the new options
+you wish. The Samba smbd daemon notices user defined share modifications
+at connect time so will see the change immediately, there is no need
+to restart smbd on adding, deleting or changing a user defined share.
+</para>
+</refsect3>
+
+<refsect3>
+<title>USERSHARE DELETE <replaceable>sharename</replaceable></title>
+
+<para>
+Deletes the user defined share by name. The Samba smbd daemon
+immediately notices this change, although it will not disconnect
+any users currently connected to the deleted share.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>USERSHARE INFO <replaceable>[--long]</replaceable> <replaceable>[wildcard sharename]</replaceable></title>
+
+<para>
+Get info on user defined shares owned by the current user matching the given pattern, or all users.
+</para>
+
+<para>
+net usershare info on its own dumps out info on the user defined shares that were
+created by the current user, or restricts them to share names that match the given
+wildcard pattern ('*' matches one or more characters, '?' matches only one character).
+If the '--long' option is also given, it prints out info on user defined
+shares created by other users.
+</para>
+
+<para>
+The information given about a share looks like:
+
+[foobar]
+path=/home/jeremy
+comment=testme
+usershare_acl=Everyone:F
+guest_ok=n
+
+And is a list of the current settings of the user defined share that can be
+modified by the "net usershare add" command.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>USERSHARE LIST <replaceable>[--long]</replaceable> <replaceable>wildcard sharename</replaceable></title>
+
+<para>
+List all the user defined shares owned by the current user matching the given pattern, or all users.
+</para>
+
+<para>
+net usershare list on its own list out the names of the user defined shares that were
+created by the current user, or restricts the list to share names that match the given
+wildcard pattern ('*' matches one or more characters, '?' matches only one character).
+If the '--long' option is also given, it includes the names of user defined
+shares created by other users.
+</para>
+
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>[RPC] CONF</title>
+
+<para>Starting with version 3.2.0, a Samba server can be configured by data
+stored in registry. This configuration data can be edited with the new "net
+conf" commands. There is also the possibility to configure a remote Samba server
+by enabling the RPC conf mode and specifying the address of the remote server.
+</para>
+
+<para>
+The deployment of this configuration data can be activated in two levels from the
+<emphasis>&smb.conf;</emphasis> file: Share definitions from registry are
+activated by setting <parameter>registry shares</parameter> to
+<quote>yes</quote> in the [global] section and global configuration options are
+activated by setting <smbconfoption name="include">registry</smbconfoption> in
+the [global] section for a mixed configuration or by setting
+<smbconfoption name="config backend">registry</smbconfoption> in the [global]
+section for a registry-only configuration.
+See the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+<manvolnum>5</manvolnum></citerefentry> manpage for details.
+</para>
+
+<para>The conf commands are:
+<simplelist>
+<member>net [rpc] conf list - Dump the complete configuration in smb.conf like
+format.</member>
+<member>net [rpc] conf import - Import configuration from file in smb.conf
+format.</member>
+<member>net [rpc] conf listshares - List the registry shares.</member>
+<member>net [rpc] conf drop - Delete the complete configuration from
+registry.</member>
+<member>net [rpc] conf showshare - Show the definition of a registry share.</member>
+<member>net [rpc] conf addshare - Create a new registry share.</member>
+<member>net [rpc] conf delshare - Delete a registry share.</member>
+<member>net [rpc] conf setparm - Store a parameter.</member>
+<member>net [rpc] conf getparm - Retrieve the value of a parameter.</member>
+<member>net [rpc] conf delparm - Delete a parameter.</member>
+<member>net [rpc] conf getincludes - Show the includes of a share definition.</member>
+<member>net [rpc] conf setincludes - Set includes for a share.</member>
+<member>net [rpc] conf delincludes - Delete includes from a share definition.</member>
+</simplelist>
+</para>
+
+<refsect3>
+<title>[RPC] CONF LIST</title>
+
+<para>
+Print the configuration data stored in the registry in a smb.conf-like format to
+standard output.
+</para>
+</refsect3>
+
+<refsect3>
+<title>[RPC] CONF IMPORT <replaceable>[--test|-T]</replaceable> <replaceable>filename</replaceable> <replaceable>[section]</replaceable></title>
+
+<para>
+This command imports configuration from a file in smb.conf format.
+If a section encountered in the input file is present in registry,
+its contents is replaced. Sections of registry configuration that have
+no counterpart in the input file are not affected. If you want to delete these,
+you will have to use the "net conf drop" or "net conf delshare" commands.
+Optionally, a section may be specified to restrict the effect of the
+import command to that specific section. A test mode is enabled by specifying
+the parameter "-T" on the commandline. In test mode, no changes are made to the
+registry, and the resulting configuration is printed to standard output instead.
+</para>
+</refsect3>
+
+<refsect3>
+<title>[RPC] CONF LISTSHARES</title>
+
+<para>
+List the names of the shares defined in registry.
+</para>
+</refsect3>
+
+<refsect3>
+<title>[RPC] CONF DROP</title>
+
+<para>
+Delete the complete configuration data from registry.
+</para>
+</refsect3>
+
+<refsect3>
+<title>[RPC] CONF SHOWSHARE <replaceable>sharename</replaceable></title>
+
+<para>
+Show the definition of the share or section specified. It is valid to specify
+"global" as sharename to retrieve the global configuration options from
+registry.
+</para>
+</refsect3>
+
+<refsect3>
+<title>[RPC] CONF ADDSHARE <replaceable>sharename</replaceable> <replaceable>path</replaceable> [<replaceable>writeable={y|N}</replaceable> [<replaceable>guest_ok={y|N}</replaceable> [<replaceable>comment</replaceable>]]] </title>
+
+<para>Create a new share definition in registry.
+The sharename and path have to be given. The share name may
+<emphasis>not</emphasis> be "global". Optionally, values for the very
+common options "writeable", "guest ok" and a "comment" may be specified.
+The same result may be obtained by a sequence of "net conf setparm"
+commands.
+</para>
+</refsect3>
+
+<refsect3>
+<title>[RPC] CONF DELSHARE <replaceable>sharename</replaceable></title>
+
+<para>
+Delete a share definition from registry.
+</para>
+</refsect3>
+
+<refsect3>
+<title>[RPC] CONF SETPARM <replaceable>section</replaceable> <replaceable>parameter</replaceable> <replaceable>value</replaceable></title>
+
+<para>
+Store a parameter in registry. The section may be global or a sharename.
+The section is created if it does not exist yet.
+</para>
+</refsect3>
+
+<refsect3>
+<title>[RPC] CONF GETPARM <replaceable>section</replaceable> <replaceable>parameter</replaceable></title>
+
+<para>
+Show a parameter stored in registry.
+</para>
+</refsect3>
+
+<refsect3>
+<title>[RPC] CONF DELPARM <replaceable>section</replaceable> <replaceable>parameter</replaceable></title>
+
+<para>
+Delete a parameter stored in registry.
+</para>
+</refsect3>
+
+<refsect3>
+<title>[RPC] CONF GETINCLUDES <replaceable>section</replaceable></title>
+
+<para>
+Get the list of includes for the provided section (global or share).
+</para>
+
+<para>
+Note that due to the nature of the registry database and the nature of include directives,
+the includes need special treatment: Parameters are stored in registry by the parameter
+name as valuename, so there is only ever one instance of a parameter per share.
+Also, a specific order like in a text file is not guaranteed. For all real
+parameters, this is perfectly ok, but the include directive is rather a meta
+parameter, for which, in the smb.conf text file, the place where it is specified
+between the other parameters is very important. This can not be achieved by the
+simple registry smbconf data model, so there is one ordered list of includes
+per share, and this list is evaluated after all the parameters of the share.
+</para>
+
+<para>
+Further note that currently, only files can be included from registry
+configuration. In the future, there will be the ability to include configuration
+data from other registry keys.
+</para>
+</refsect3>
+
+<refsect3>
+<title>[RPC] CONF SETINCLUDES <replaceable>section</replaceable> [<replaceable>filename</replaceable>]+</title>
+
+<para>
+Set the list of includes for the provided section (global or share) to the given
+list of one or more filenames. The filenames may contain the usual smb.conf
+macros like %I.
+</para>
+</refsect3>
+
+<refsect3>
+<title>[RPC] CONF DELINCLUDES <replaceable>section</replaceable></title>
+
+<para>
+Delete the list of includes from the provided section (global or share).
+</para>
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>REGISTRY</title>
+<para>
+Manipulate Samba's registry.
+</para>
+
+<para>The registry commands are:
+<simplelist>
+<member>net registry enumerate - Enumerate registry keys and values.</member>
+<member>net registry enumerate_recursive - Enumerate registry key and its subkeys.</member>
+<member>net registry createkey - Create a new registry key.</member>
+<member>net registry deletekey - Delete a registry key.</member>
+<member>net registry deletekey_recursive - Delete a registry key with subkeys.</member>
+<member>net registry getvalue - Print a registry value.</member>
+<member>net registry getvalueraw - Print a registry value (raw format).</member>
+<member>net registry setvalue - Set a new registry value.</member>
+<member>net registry increment - Increment a DWORD registry value under a lock.
+</member>
+<member>net registry deletevalue - Delete a registry value.</member>
+<member>net registry getsd - Get security descriptor.</member>
+<member>net registry getsd_sdd1 - Get security descriptor in sddl format.
+</member>
+<member>net registry setsd_sdd1 - Set security descriptor from sddl format
+string.</member>
+<member>net registry import - Import a registration entries (.reg) file.
+</member>
+<member>net registry export - Export a registration entries (.reg) file.
+</member>
+<member>net registry convert - Convert a registration entries (.reg) file.
+</member>
+<member>net registry check - Check and repair a registry database.
+</member>
+</simplelist>
+</para>
+
+<refsect3>
+ <title>REGISTRY ENUMERATE <replaceable>key</replaceable> </title>
+ <para>Enumerate subkeys and values of <emphasis>key</emphasis>.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY ENUMERATE_RECURSIVE <replaceable>key</replaceable> </title>
+ <para>Enumerate values of <emphasis>key</emphasis> and its subkeys.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY CREATEKEY <replaceable>key</replaceable> </title>
+ <para>Create a new <emphasis>key</emphasis> if not yet existing.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY DELETEKEY <replaceable>key</replaceable> </title>
+ <para>Delete the given <emphasis>key</emphasis> and its
+ values from the registry, if it has no subkeys.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY DELETEKEY_RECURSIVE <replaceable>key</replaceable> </title>
+ <para>Delete the given <emphasis>key</emphasis> and all of its
+ subkeys and values from the registry.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY GETVALUE <replaceable>key</replaceable> <!--
+ --><replaceable>name</replaceable></title>
+
+ <para>Output type and actual value of the value <emphasis>name</emphasis>
+ of the given <emphasis>key</emphasis>.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY GETVALUERAW <replaceable>key</replaceable> <!--
+ --><replaceable>name</replaceable></title>
+ <para>Output the actual value of the value <emphasis>name</emphasis>
+ of the given <emphasis>key</emphasis>.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY SETVALUE <replaceable>key</replaceable> <!--
+ --><replaceable>name</replaceable> <replaceable>type</replaceable> <!--
+ --><replaceable>value</replaceable> ...<!--
+ --></title>
+
+ <para>Set the value <emphasis>name</emphasis>
+ of an existing <emphasis>key</emphasis>.
+ <emphasis>type</emphasis> may be one of
+ <emphasis>sz</emphasis>, <emphasis>multi_sz</emphasis> or
+ <emphasis>dword</emphasis>.
+ In case of <emphasis>multi_sz</emphasis> <replaceable>value</replaceable> may
+ be given multiple times.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY INCREMENT <replaceable>key</replaceable> <!--
+ --><replaceable>name</replaceable> <replaceable>[inc]</replaceable><!--
+ --></title>
+
+ <para>Increment the DWORD value <emphasis>name</emphasis>
+ of <emphasis>key</emphasis> by <replaceable>inc</replaceable>
+ while holding a g_lock.
+ <emphasis>inc</emphasis> defaults to 1.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY DELETEVALUE <replaceable>key</replaceable> <!--
+ --><replaceable>name</replaceable></title>
+
+ <para>Delete the value <emphasis>name</emphasis>
+ of the given <emphasis>key</emphasis>.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY GETSD <replaceable>key</replaceable></title>
+
+ <para>Get the security descriptor of the given <emphasis>key</emphasis>.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY GETSD_SDDL <replaceable>key</replaceable></title>
+
+ <para>Get the security descriptor of the given <emphasis>key</emphasis> as a
+ Security Descriptor Definition Language (SDDL) string.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY SETSD_SDDL <replaceable>key</replaceable><!--
+ --><replaceable>sd</replaceable></title>
+
+ <para>Set the security descriptor of the given <emphasis>key</emphasis> from a
+ Security Descriptor Definition Language (SDDL) string <emphasis>sd</emphasis>.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY IMPORT <replaceable>file</replaceable><!--
+ --><replaceable> [--precheck &lt;check-file&gt;] [opt]</replaceable></title>
+ <para>Import a registration entries (.reg) <emphasis>file</emphasis>.</para>
+ <para>The following options are available:</para>
+ <variablelist>
+ <varlistentry><term>--precheck <replaceable>check-file</replaceable></term>
+ <listitem><para>
+ This is a mechanism to check the existence or non-existence of
+ certain keys or values specified in a precheck file before applying
+ the import file.
+ The import file will only be applied if the precheck succeeds.
+ </para>
+ <para>
+ The check-file follows the normal registry file syntax with the
+ following semantics:
+ </para>
+ <itemizedlist>
+ <listitem><para>&lt;value name&gt;=&lt;value&gt; checks whether the
+ value exists and has the given value.</para></listitem>
+ <listitem><para>&lt;value name&gt;=- checks whether the value does
+ not exist.</para></listitem>
+ <listitem><para>[key] checks whether the key exists.</para>
+ </listitem>
+ <listitem><para>[-key] checks whether the key does not exist.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY EXPORT <replaceable>key</replaceable><!--
+ --><replaceable>file</replaceable><!--
+ --><replaceable>[opt]</replaceable></title>
+
+ <para>Export a <emphasis>key</emphasis> to a registration entries (.reg)
+ <emphasis>file</emphasis>.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY CONVERT <replaceable>in</replaceable> <!--
+ --><replaceable>out</replaceable> <!--
+ --><replaceable>[[inopt] outopt]</replaceable></title>
+
+ <para>Convert a registration entries (.reg) file <emphasis>in</emphasis>.
+ </para>
+</refsect3>
+
+<refsect3>
+ <title>REGISTRY CHECK [-ravTl] [-o &lt;ODB&gt;] [--wipe] [&lt;DB&gt;]</title>
+ <para>Check and repair the registry database. If no option is given a read only check of the database is done. Among others an interactive or automatic repair mode may be chosen with one of the following options
+
+ <variablelist>
+ <varlistentry><term>-r|--repair</term>
+ <listitem><para>
+ Interactive repair mode, ask a lot of questions.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>-a|--auto</term>
+ <listitem><para>
+ Noninteractive repair mode, use default answers.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>-v|--verbose</term>
+ <listitem><para>
+ Produce more output.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>-T|--test</term>
+ <listitem><para>
+ Dry run, show what changes would be made but don't touch anything.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>-l|--lock</term>
+ <listitem><para>
+ Lock the database while doing the check.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>--reg-version={1,2,3}</term>
+ <listitem><para>
+ Specify the format of the registry database. If not given it defaults to
+ the value of the binary or, if an registry.tdb is explicitly stated at
+ the commandline, to the value found in the INFO/version record.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>[--db] &lt;DB&gt;</term>
+ <listitem><para>
+ Check the specified database.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>-o|--output &lt;ODB&gt;</term>
+ <listitem><para>
+ Create a new registry database &lt;ODB&gt; instead of modifying the
+ input. If &lt;ODB&gt; is already existing --wipe may be used to
+ overwrite it.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term>--wipe</term>
+ <listitem><para>
+ Replace the registry database instead of modifying the input or
+ overwrite an existing output database.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term></term>
+ <listitem><para>
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>EVENTLOG</title>
+
+<para>Starting with version 3.4.0 net can read, dump, import and export native
+win32 eventlog files (usually *.evt). evt files are used by the native Windows eventviewer tools.
+</para>
+
+<para>
+The import and export of evt files can only succeed when <parameter>eventlog list</parameter> is used in
+<emphasis>&smb.conf;</emphasis> file.
+See the <citerefentry><refentrytitle>smb.conf</refentrytitle> <manvolnum>5</manvolnum></citerefentry> manpage for details.
+</para>
+
+<para>The eventlog commands are:
+<simplelist>
+<member>net eventlog dump - Dump a eventlog *.evt file on the screen.</member>
+<member>net eventlog import - Import a eventlog *.evt into the samba internal
+tdb based representation of eventlogs.</member>
+<member>net eventlog export - Export the samba internal tdb based representation
+of eventlogs into an eventlog *.evt file.</member>
+</simplelist>
+</para>
+
+<refsect3>
+<title>EVENTLOG DUMP <replaceable>filename</replaceable></title>
+
+<para>
+Prints a eventlog *.evt file to standard output.
+</para>
+</refsect3>
+
+<refsect3>
+<title>EVENTLOG IMPORT <replaceable>filename</replaceable> <replaceable>eventlog</replaceable></title>
+
+<para>
+Imports a eventlog *.evt file defined by <replaceable>filename</replaceable> into the
+samba internal tdb representation of eventlog defined by <replaceable>eventlog</replaceable>.
+<replaceable>eventlog</replaceable> needs to part of the <parameter>eventlog list</parameter>
+defined in &smb.conf;.
+See the <citerefentry><refentrytitle>smb.conf</refentrytitle> <manvolnum>5</manvolnum></citerefentry> manpage for details.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>EVENTLOG EXPORT <replaceable>filename</replaceable> <replaceable>eventlog</replaceable></title>
+
+<para>
+Exports the samba internal tdb representation of eventlog defined by <replaceable>eventlog</replaceable>
+to a eventlog *.evt file defined by <replaceable>filename</replaceable>.
+<replaceable>eventlog</replaceable> needs to part of the <parameter>eventlog list</parameter>
+defined in &smb.conf;.
+See the <citerefentry><refentrytitle>smb.conf</refentrytitle> <manvolnum>5</manvolnum></citerefentry> manpage for details.
+</para>
+
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>DOM</title>
+
+<para>Starting with version 3.2.0 Samba has support for remote join and unjoin APIs, both client and server-side. Windows supports remote join capabilities since Windows 2000.
+</para>
+<para>In order for Samba to be joined or unjoined remotely an account must be used that is either member of the Domain Admins group, a member of the local Administrators group or a user that is granted the SeMachineAccountPrivilege privilege.
+</para>
+
+<para>The client side support for remote join is implemented in the net dom commands which are:
+<simplelist>
+<member>net dom join - Join a remote computer into a domain.</member>
+<member>net dom unjoin - Unjoin a remote computer from a domain.</member>
+<member>net dom renamecomputer - Renames a remote computer joined to a domain.</member>
+</simplelist>
+</para>
+
+<refsect3>
+<title>DOM JOIN <replaceable>domain=DOMAIN</replaceable> <replaceable>ou=OU</replaceable> <replaceable>account=ACCOUNT</replaceable> <replaceable>password=PASSWORD</replaceable> <replaceable>reboot</replaceable></title>
+
+<para>
+Joins a computer into a domain. This command supports the following additional parameters:
+</para>
+
+<itemizedlist>
+
+<listitem><para><replaceable>DOMAIN</replaceable> can be a NetBIOS domain name (also known as short domain name) or a DNS domain name for Active Directory Domains. As in Windows, it is also possible to control which Domain Controller to use. This can be achieved by appending the DC name using the \ separator character. Example: MYDOM\MYDC. The <replaceable>DOMAIN</replaceable> parameter cannot be NULL.</para></listitem>
+
+<listitem><para><replaceable>OU</replaceable> can be set to a RFC 1779 LDAP DN, like <emphasis>ou=mymachines,cn=Users,dc=example,dc=com</emphasis> in order to create the machine account in a non-default LDAP container. This optional parameter is only supported when joining Active Directory Domains.</para></listitem>
+
+<listitem><para><replaceable>ACCOUNT</replaceable> defines a domain account that will be used to join the machine to the domain. This domain account needs to have sufficient privileges to join machines.</para></listitem>
+
+<listitem><para><replaceable>PASSWORD</replaceable> defines the password for the domain account defined with <replaceable>ACCOUNT</replaceable>.</para></listitem>
+
+<listitem><para><replaceable>REBOOT</replaceable> is an optional parameter that can be set to reboot the remote machine after successful join to the domain.</para></listitem>
+
+</itemizedlist>
+
+<para>
+Note that you also need to use standard net parameters to connect and authenticate to the remote machine that you want to join. These additional parameters include: -S computer and -U user.
+</para>
+<para>
+ Example:
+ net dom join -S xp -U XP\\administrator%secret domain=MYDOM account=MYDOM\\administrator password=topsecret reboot.
+</para>
+<para>
+This example would connect to a computer named XP as the local administrator using password secret, and join the computer into a domain called MYDOM using the MYDOM domain administrator account and password topsecret. After successful join, the computer would reboot.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>DOM UNJOIN <replaceable>account=ACCOUNT</replaceable> <replaceable>password=PASSWORD</replaceable> <replaceable>reboot</replaceable></title>
+
+<para>
+Unjoins a computer from a domain. This command supports the following additional parameters:
+</para>
+
+<itemizedlist>
+
+<listitem><para><replaceable>ACCOUNT</replaceable> defines a domain account that will be used to unjoin the machine from the domain. This domain account needs to have sufficient privileges to unjoin machines.</para></listitem>
+
+<listitem><para><replaceable>PASSWORD</replaceable> defines the password for the domain account defined with <replaceable>ACCOUNT</replaceable>.</para></listitem>
+
+<listitem><para><replaceable>REBOOT</replaceable> is an optional parameter that can be set to reboot the remote machine after successful unjoin from the domain.</para></listitem>
+
+</itemizedlist>
+
+<para>
+Note that you also need to use standard net parameters to connect and authenticate to the remote machine that you want to unjoin. These additional parameters include: -S computer and -U user.
+</para>
+<para>
+ Example:
+ net dom unjoin -S xp -U XP\\administrator%secret account=MYDOM\\administrator password=topsecret reboot.
+</para>
+<para>
+This example would connect to a computer named XP as the local administrator using password secret, and unjoin the computer from the domain using the MYDOM domain administrator account and password topsecret. After successful unjoin, the computer would reboot.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>DOM RENAMECOMPUTER <replaceable>newname=NEWNAME</replaceable> <replaceable>account=ACCOUNT</replaceable> <replaceable>password=PASSWORD</replaceable> <replaceable>reboot</replaceable></title>
+
+<para>
+Renames a computer that is joined to a domain. This command supports the following additional parameters:
+</para>
+
+<itemizedlist>
+
+<listitem><para><replaceable>NEWNAME</replaceable> defines the new name of the machine in the domain.</para></listitem>
+
+<listitem><para><replaceable>ACCOUNT</replaceable> defines a domain account that will be used to rename the machine in the domain. This domain account needs to have sufficient privileges to rename machines.</para></listitem>
+
+<listitem><para><replaceable>PASSWORD</replaceable> defines the password for the domain account defined with <replaceable>ACCOUNT</replaceable>.</para></listitem>
+
+<listitem><para><replaceable>REBOOT</replaceable> is an optional parameter that can be set to reboot the remote machine after successful rename in the domain.</para></listitem>
+
+</itemizedlist>
+
+<para>
+Note that you also need to use standard net parameters to connect and authenticate to the remote machine that you want to rename in the domain. These additional parameters include: -S computer and -U user.
+</para>
+<para>
+ Example:
+ net dom renamecomputer -S xp -U XP\\administrator%secret newname=XPNEW account=MYDOM\\administrator password=topsecret reboot.
+</para>
+<para>
+This example would connect to a computer named XP as the local administrator using password secret, and rename the joined computer to XPNEW using the MYDOM domain administrator account and password topsecret. After successful rename, the computer would reboot.
+</para>
+
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>G_LOCK</title>
+
+<para>Manage global locks.</para>
+
+<refsect3>
+<title>G_LOCK DO <replaceable>lockname</replaceable> <replaceable>timeout</replaceable> <replaceable>command</replaceable></title>
+
+<para>
+Execute a shell command under a global lock. This might be useful to define the
+order in which several shell commands will be executed. The locking information
+is stored in a file called <filename>g_lock.tdb</filename>. In setups with CTDB
+running, the locking information will be available on all cluster nodes.
+</para>
+
+<itemizedlist>
+<listitem><para><replaceable>LOCKNAME</replaceable> defines the name of the global lock.</para></listitem>
+<listitem><para><replaceable>TIMEOUT</replaceable> defines the timeout.</para></listitem>
+<listitem><para><replaceable>COMMAND</replaceable> defines the shell command to execute.</para></listitem>
+</itemizedlist>
+</refsect3>
+
+<refsect3>
+<title>G_LOCK LOCKS</title>
+
+<para>
+Print a list of all currently existing locknames.
+</para>
+</refsect3>
+
+<refsect3>
+<title>G_LOCK DUMP <replaceable>lockname</replaceable></title>
+
+<para>
+Dump the locking table of a certain global lock.
+</para>
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+ <title>TDB</title>
+
+ <para>Print information from tdb records.</para>
+
+ <refsect3>
+ <title>TDB LOCKING <replaceable>key</replaceable> [DUMP]</title>
+
+ <para>List sharename, filename and number of share modes
+ for a record from locking.tdb. With the optional DUMP options,
+ dump the complete record.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><replaceable>KEY</replaceable>
+ Key of the tdb record as hex string.</para>
+ </listitem>
+ </itemizedlist>
+
+ </refsect3>
+</refsect2>
+
+<refsect2>
+ <title>vfs</title>
+ <para>Access shared filesystem through the VFS.</para>
+
+ <refsect3>
+ <title>vfs stream2abouble [--recursive] [--verbose] [--continue] [--follow-symlinks] <replaceable>share</replaceable> <replaceable>path</replaceable></title>
+
+ <para>Convert file streams to AppleDouble files.</para>
+ <itemizedlist>
+ <listitem>
+ <para><replaceable>share</replaceable>
+ A Samba share.</para>
+ </listitem>
+ </itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <para><replaceable>path</replaceable> A relative path of something in
+ the Samba share. "." can be used for the root directory of the
+ share.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Options:</para>
+ <variablelist>
+ <varlistentry>
+ <term>--recursive</term>
+ <listitem><para>Traverse a directory hierarchy.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--verbose</term>
+ <listitem><para>Verbose output.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--continue</term>
+ <listitem><para>Continue traversing a directory hierarchy if a single
+ conversion fails.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--follow-symlinks</term>
+ <listitem><para>Follow symlinks encountered while traversing a
+ directory.</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect3>
+
+ <refsect3>
+ <title>vfs getntacl <replaceable>share</replaceable> <replaceable>path</replaceable></title>
+
+ <para>Display the security descriptor of a file or directory.</para>
+ <itemizedlist>
+ <listitem>
+ <para><replaceable>share</replaceable>
+ A Samba share.</para>
+ </listitem>
+ </itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <para><replaceable>path</replaceable> A relative path of something in
+ the Samba share. "." can be used for the root directory of the
+ share.</para>
+ </listitem>
+ </itemizedlist>
+ </refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>OFFLINEJOIN</title>
+
+<para>Starting with version 4.15 Samba has support for offline join APIs. Windows supports offline join capabilities since Windows 7 and Windows 2008 R2.
+</para>
+
+<para>The following offline commands are implemented:
+<simplelist>
+<member>net offlinejoin provision - Provisions a machine account in AD.</member>
+<member>net offlinejoin requestodj - Requests a domain offline join.</member>
+</simplelist>
+</para>
+
+<refsect3>
+ <title>OFFLINEJOIN PROVISION <replaceable>domain=DOMAIN</replaceable> <replaceable>machine_name=MACHINE_NAME</replaceable> <replaceable>machine_account_ou=MACHINE_ACCOUNT_OU</replaceable> <replaceable>dcname=DCNAME</replaceable> <replaceable>defpwd</replaceable> <replaceable>reuse</replaceable> <replaceable>savefile=FILENAME</replaceable> <replaceable>printblob</replaceable></title>
+
+<para>
+Provisions a machine account in AD. This command needs network connectivity to the domain controller to succeed. This command supports the following additional parameters:
+</para>
+
+<itemizedlist>
+
+<listitem><para><replaceable>DOMAIN</replaceable> can be a NetBIOS domain name (also known as short domain name) or a DNS domain name for Active Directory Domains. The <replaceable>DOMAIN</replaceable> parameter cannot be NULL.</para></listitem>
+
+<listitem><para><replaceable>MACHINE_NAME</replaceable> defines the machine account name that will be provisioned in AD. The <replaceable>MACHINE_NAME</replaceable> parameter cannot be NULL.</para></listitem>
+
+<listitem><para><replaceable>MACHINE_ACCOUNT_OU</replaceable> can be set to a RFC 1779 LDAP DN, like <emphasis>ou=mymachines,cn=Users,dc=example,dc=com</emphasis> in order to create the machine account in a non-default LDAP container. This optional parameter is only supported when joining Active Directory Domains.</para></listitem>
+
+<listitem><para><replaceable>DCNAME</replaceable> defines a specific domain controller for creating the machine account in AD.</para></listitem>
+
+<listitem><para><replaceable>DEFPWD</replaceable> is an optional parameter that can be set to enforce using the default machine account password. The use of this parameter is not recommended as the default machine account password can be easily guessed. </para></listitem>
+
+<listitem><para><replaceable>REUSE</replaceable> is an optional parameter that can be set to enforce reusing an existing machine account in AD.</para></listitem>
+
+<listitem><para><replaceable>SAVEFILE</replaceable> is an optional parameter to store the generated provisioning data on disk.</para></listitem>
+
+<listitem><para><replaceable>PRINTBLOB</replaceable> is an optional parameter to print the generated provisioning data on stdout.</para></listitem>
+
+</itemizedlist>
+
+<para>
+ Example:
+ net offlinejoin provision -U administrator%secret domain=MYDOM machine_name=MYHOST savefile=provisioning.txt
+</para>
+</refsect3>
+
+<refsect3>
+ <title>OFFLINEJOIN REQUESTODJ <replaceable>loadfile=FILENAME</replaceable></title>
+
+<para>
+Requests an offline domain join by providing file-based provisioning data. This command supports the following additional parameters:
+</para>
+
+<itemizedlist>
+
+<listitem><para><replaceable>LOADFILE</replaceable> is a required parameter to load the provisioning from a file.</para></listitem>
+
+</itemizedlist>
+
+<para>
+ Example:
+ net offlinejoin requestodj -U administrator%secret loadfile=provisioning.txt
+</para>
+
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>WITNESS</title>
+
+<para>Starting with version 4.20 Samba has support for the SMB Witness service in a cluster.
+</para>
+
+<para>The following witness commands are implemented:
+<simplelist>
+<member>
+net witness list List witness registrations from rpcd_witness_registration.tdb.
+</member>
+<member>
+net witness client-move Generate client move notifications for witness registrations to a new ip or node.
+</member>
+<member>
+net witness share-move Generate share move notifications for witness registrations to a new ip or node.
+</member>
+<member>
+net witness force-unregister Force unregistrations for witness registrations.
+</member>
+<member>
+net witness force-response Force an AsyncNotify response based on json input (mostly for testing).
+</member>
+
+</simplelist>
+</para>
+
+<refsect3>
+<title>WITNESS LIST</title>
+<para>
+ List witness registrations from rpcd_witness_registration.tdb
+</para>
+<para>
+ Note: Only supported with clustering=yes!
+</para>
+<para>
+ Machine readable output can be generated with the following option:
+</para>
+<para>
+ --json
+</para>
+<para>
+ The selection of registrations can be limited by the following options:
+</para>
+<para>
+ --witness-registration=REGISTRATION_UUID
+</para>
+<para>
+ This does a direct lookup for REGISTRATION_UUID
+ instead of doing a database traversal.
+</para>
+<para>
+ The following options all take a POSIX Extended Regular Expression,
+ which can further filter the selection of registrations.
+ These options are applied as logical AND, but each REGEX
+ allows specifying multiple strings using the pipe symbol.
+</para>
+<para>
+ --witness-net-name=REGEX
+</para>
+<para>
+ This specifies the 'server name' the client
+ registered for monitoring.
+</para>
+<para>
+ --witness-share-name=REGEX
+</para>
+<para>
+ This specifies the 'share name' the client
+ registered for monitoring.
+ Note that the share name is optional in the
+ registration, otherwise an empty string is
+ matched.
+</para>
+<para>
+ --witness-ip-address=REGEX
+</para>
+<para>
+ This specifies the ip address the client
+ registered for monitoring.
+</para>
+<para>
+ --witness-client-computer-name=REGEX
+</para>
+<para>
+ This specifies the client computer name the client
+ specified in the registration.
+ Note it is just a string chosen by the client itself.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>WITNESS CLIENT-MOVE</title>
+<para>
+ Generate client move notifications for witness registrations to a new ip or node
+</para>
+<para>
+ Note: Only supported with clustering=yes!
+</para>
+<para>
+ Machine readable output can be generated with the following option:
+</para>
+<para>
+ --json
+</para>
+<para>
+ The selection of registrations can be limited by the following options:
+</para>
+<para>
+ --witness-registration=REGISTRATION_UUID
+</para>
+<para>
+ This does a direct lookup for REGISTRATION_UUID
+ instead of doing a database traversal.
+</para>
+<para>
+ The following options all take a POSIX Extended Regular Expression,
+ which can further filter the selection of registrations.
+ These options are applied as logical AND, but each REGEX
+ allows specifying multiple strings using the pipe symbol.
+</para>
+<para>
+ --witness-net-name=REGEX
+</para>
+<para>
+ This specifies the 'server name' the client
+ registered for monitoring.
+</para>
+<para>
+ --witness-share-name=REGEX
+</para>
+<para>
+ This specifies the 'share name' the client
+ registered for monitoring.
+ Note that the share name is optional in the
+ registration, otherwise an empty string is
+ matched.
+</para>
+<para>
+ --witness-ip-address=REGEX
+</para>
+<para>
+ This specifies the ip address the client
+ registered for monitoring.
+</para>
+<para>
+ --witness-client-computer-name=REGEX
+</para>
+<para>
+ This specifies the client computer name the client
+ specified in the registration.
+ Note it is just a string chosen by the client itself.
+</para>
+<para>
+ If the update should be applied to all registrations
+ it needs to be explicitly specified:
+</para>
+<para>
+ --witness-apply-to-all
+</para>
+<para>
+ This selects all registrations.
+ Note: This is mutual exclusive to the above options.
+</para>
+<para>
+ The content of the CLIENT_MOVE notification contains ip addresses
+ specified by (exactly one) of the following options:
+</para>
+<para>
+ --witness-new-node=NODEID
+</para>
+<para>
+ By specifying a NODEID all ip addresses
+ currently available on the given node are
+ included in the response.
+ By specifying '-1' as NODEID all ip addresses
+ of the cluster are included in the response.
+</para>
+<para>
+ --witness-new-ip=IPADDRESS
+</para>
+<para>
+ By specifying an IPADDRESS only the specified
+ ip address is included in the response.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>WITNESS SHARE-MOVE</title>
+<para>
+ Generate share move notifications for witness registrations to a new ip or node
+</para>
+<para>
+ Note: Only supported with clustering=yes!
+</para>
+<para>
+ Machine readable output can be generated with the following option:
+</para>
+<para>
+ --json
+</para>
+<para>
+ The selection of registrations can be limited by the following options:
+</para>
+<para>
+ --witness-registration=REGISTRATION_UUID
+</para>
+<para>
+ This does a direct lookup for REGISTRATION_UUID
+ instead of doing a database traversal.
+</para>
+<para>
+ The following options all take a POSIX Extended Regular Expression,
+ which can further filter the selection of registrations.
+ These options are applied as logical AND, but each REGEX
+ allows specifying multiple strings using the pipe symbol.
+</para>
+<para>
+ --witness-net-name=REGEX
+</para>
+<para>
+ This specifies the 'server name' the client
+ registered for monitoring.
+</para>
+<para>
+ --witness-share-name=REGEX
+</para>
+<para>
+ This specifies the 'share name' the client
+ registered for monitoring.
+ Note that the share name is optional in the
+ registration, otherwise an empty string is
+ matched.
+</para>
+<para>
+ --witness-ip-address=REGEX
+</para>
+<para>
+ This specifies the ip address the client
+ registered for monitoring.
+</para>
+<para>
+ --witness-client-computer-name=REGEX
+</para>
+<para>
+ This specifies the client computer name the client
+ specified in the registration.
+ Note it is just a string chosen by the client itself.
+</para>
+<para>
+ If the update should be applied to all registrations
+ it needs to be explicitly specified:
+</para>
+<para>
+ --witness-apply-to-all
+</para>
+<para>
+ This selects all registrations.
+ Note: This is mutual exclusive to the above options.
+</para>
+<para>
+ Note: This only applies to registrations with a non empty share name!
+</para>
+<para>
+ The content of the SHARE_MOVE notification contains ip addresses
+ specified by (exactly one) of the following options:
+</para>
+<para>
+ --witness-new-node=NODEID
+</para>
+<para>
+ By specifying a NODEID all ip addresses
+ currently available on the given node are
+ included in the response.
+ By specifying '-1' as NODEID all ip addresses
+ of the cluster are included in the response.
+</para>
+<para>
+ --witness-new-ip=IPADDRESS
+</para>
+<para>
+ By specifying an IPADDRESS only the specified
+ ip address is included in the response.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>WITNESS FORCE-UNREGISTER</title>
+<para>
+ Force unregistrations for witness registrations
+</para>
+<para>
+ Note: Only supported with clustering=yes!
+</para>
+<para>
+ Machine readable output can be generated with the following option:
+</para>
+<para>
+ --json
+</para>
+<para>
+ The selection of registrations can be limited by the following options:
+</para>
+<para>
+ --witness-registration=REGISTRATION_UUID
+</para>
+<para>
+ This does a direct lookup for REGISTRATION_UUID
+ instead of doing a database traversal.
+</para>
+<para>
+ The following options all take a POSIX Extended Regular Expression,
+ which can further filter the selection of registrations.
+ These options are applied as logical AND, but each REGEX
+ allows specifying multiple strings using the pipe symbol.
+</para>
+<para>
+ --witness-net-name=REGEX
+</para>
+<para>
+ This specifies the 'server name' the client
+ registered for monitoring.
+</para>
+<para>
+ --witness-share-name=REGEX
+</para>
+<para>
+ This specifies the 'share name' the client
+ registered for monitoring.
+ Note that the share name is optional in the
+ registration, otherwise an empty string is
+ matched.
+</para>
+<para>
+ --witness-ip-address=REGEX
+</para>
+<para>
+ This specifies the ip address the client
+ registered for monitoring.
+</para>
+<para>
+ --witness-client-computer-name=REGEX
+</para>
+<para>
+ This specifies the client computer name the client
+ specified in the registration.
+ Note it is just a string chosen by the client itself.
+</para>
+<para>
+ If the update should be applied to all registrations
+ it needs to be explicitly specified:
+</para>
+<para>
+ --witness-apply-to-all
+</para>
+<para>
+ This selects all registrations.
+ Note: This is mutual exclusive to the above options.
+</para>
+<para>
+ The selected registrations are removed on the server and
+ any pending AsyncNotify request will get a NOT_FOUND error.
+</para>
+<para>
+ Typically this triggers a clean re-registration on the client.
+</para>
+
+</refsect3>
+
+<refsect3>
+<title>WITNESS FORCE-RESPONSE</title>
+<para>
+ Force an AsyncNotify response based on json input (mostly for testing)
+</para>
+<para>
+ Note: Only supported with clustering=yes!
+</para>
+<para>
+ Machine readable output can be generated with the following option:
+</para>
+<para>
+ --json
+</para>
+<para>
+ The selection of registrations can be limited by the following options:
+</para>
+<para>
+ --witness-registration=REGISTRATION_UUID
+</para>
+<para>
+ This does a direct lookup for REGISTRATION_UUID
+ instead of doing a database traversal.
+</para>
+<para>
+ The following options all take a POSIX Extended Regular Expression,
+ which can further filter the selection of registrations.
+ These options are applied as logical AND, but each REGEX
+ allows specifying multiple strings using the pipe symbol.
+</para>
+<para>
+ --witness-net-name=REGEX
+</para>
+<para>
+ This specifies the 'server name' the client
+ registered for monitoring.
+</para>
+<para>
+ --witness-share-name=REGEX
+</para>
+<para>
+ This specifies the 'share name' the client
+ registered for monitoring.
+ Note that the share name is optional in the
+ registration, otherwise an empty string is
+ matched.
+</para>
+<para>
+ --witness-ip-address=REGEX
+</para>
+<para>
+ This specifies the ip address the client
+ registered for monitoring.
+</para>
+<para>
+ --witness-client-computer-name=REGEX
+</para>
+<para>
+ This specifies the client computer name the client
+ specified in the registration.
+ Note it is just a string chosen by the client itself.
+</para>
+<para>
+ If the update should be applied to all registrations
+ it needs to be explicitly specified:
+</para>
+<para>
+ --witness-apply-to-all
+</para>
+<para>
+ This selects all registrations.
+ Note: This is mutual exclusive to the above options.
+</para>
+<para>
+ Note this is designed for testing and debugging!
+</para>
+<para>
+ In short it is not designed to be used by administrators,
+ but developers and automated tests.
+</para>
+<para>
+ By default an empty response with WERR_OK is generated,
+ but basically any valid response can be specified by a
+ specifying a JSON string:
+</para>
+<para>
+ --witness-forced-response=JSON
+</para>
+<para>
+ This allows the generation of very complex
+ witness_notifyResponse structures.
+</para>
+<para>
+ As this is for developers, please read the code
+ in order to understand all possible values
+ of the JSON string format...
+</para>
+<para>
+ See 'net help witness force-response' for further details.
+</para>
+
+</refsect3>
+
+</refsect2>
+
+<refsect2>
+<title>HELP [COMMAND]</title>
+
+<para>Gives usage information for the specified command.</para>
+
+</refsect2>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is complete for version 3 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 net manpage was written by Jelmer Vernooij.</para>
+
+</refsect1>
+
+</refentry>