summaryrefslogtreecommitdiffstats
path: root/docs-xml/manpages
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs-xml/manpages/cifsdd.8.xml101
-rw-r--r--docs-xml/manpages/dbwrap_tool.1.xml198
-rw-r--r--docs-xml/manpages/eventlogadm.8.xml291
-rw-r--r--docs-xml/manpages/idmap_ad.8.xml176
-rw-r--r--docs-xml/manpages/idmap_autorid.8.xml184
-rw-r--r--docs-xml/manpages/idmap_hash.8.xml93
-rw-r--r--docs-xml/manpages/idmap_ldap.8.xml145
-rw-r--r--docs-xml/manpages/idmap_nss.8.xml98
-rw-r--r--docs-xml/manpages/idmap_rfc2307.8.xml164
-rw-r--r--docs-xml/manpages/idmap_rid.8.xml126
-rw-r--r--docs-xml/manpages/idmap_script.8.xml173
-rw-r--r--docs-xml/manpages/idmap_tdb.8.xml75
-rw-r--r--docs-xml/manpages/idmap_tdb2.8.xml137
-rw-r--r--docs-xml/manpages/libsmbclient.7.xml141
-rw-r--r--docs-xml/manpages/lmhosts.5.xml118
-rw-r--r--docs-xml/manpages/log2pcap.1.xml138
-rw-r--r--docs-xml/manpages/mdsearch.1.xml179
-rw-r--r--docs-xml/manpages/mvxattr.1.xml100
-rw-r--r--docs-xml/manpages/net.8.xml3694
-rw-r--r--docs-xml/manpages/nfs4.xml.include57
-rw-r--r--docs-xml/manpages/nmbd.8.xml291
-rw-r--r--docs-xml/manpages/nmblookup.1.xml225
-rw-r--r--docs-xml/manpages/ntlm_auth.1.xml460
-rw-r--r--docs-xml/manpages/pam_winbind.8.xml319
-rw-r--r--docs-xml/manpages/pam_winbind.conf.5.xml241
-rw-r--r--docs-xml/manpages/pdbedit.8.xml567
-rw-r--r--docs-xml/manpages/profiles.1.xml98
-rw-r--r--docs-xml/manpages/rpcclient.1.xml757
-rw-r--r--docs-xml/manpages/samba-bgqd.8.xml48
-rw-r--r--docs-xml/manpages/samba-dcerpcd.8.xml210
-rw-r--r--docs-xml/manpages/samba-log-parser.1.xml156
-rw-r--r--docs-xml/manpages/samba-regedit.8.xml99
-rw-r--r--docs-xml/manpages/samba-tool.8.xml2906
-rw-r--r--docs-xml/manpages/samba.7.xml332
-rw-r--r--docs-xml/manpages/samba.8.xml260
-rw-r--r--docs-xml/manpages/samba_downgrade_db.8.xml95
-rw-r--r--docs-xml/manpages/sharesec.1.xml256
-rw-r--r--docs-xml/manpages/smb.conf.5.xml924
-rw-r--r--docs-xml/manpages/smbcacls.1.xml482
-rw-r--r--docs-xml/manpages/smbclient.1.xml1210
-rw-r--r--docs-xml/manpages/smbcontrol.1.xml372
-rw-r--r--docs-xml/manpages/smbcquotas.1.xml199
-rw-r--r--docs-xml/manpages/smbd.8.xml448
-rw-r--r--docs-xml/manpages/smbget.1.xml214
-rw-r--r--docs-xml/manpages/smbpasswd.5.xml203
-rw-r--r--docs-xml/manpages/smbpasswd.8.xml422
-rw-r--r--docs-xml/manpages/smbspool.8.xml125
-rw-r--r--docs-xml/manpages/smbspool_krb5_wrapper.8.xml64
-rw-r--r--docs-xml/manpages/smbstatus.1.xml431
-rw-r--r--docs-xml/manpages/smbtar.1.xml237
-rw-r--r--docs-xml/manpages/smbtree.1.xml107
-rw-r--r--docs-xml/manpages/testparm.1.xml215
-rw-r--r--docs-xml/manpages/traffic_learner.7.xml199
-rw-r--r--docs-xml/manpages/traffic_replay.7.xml621
-rw-r--r--docs-xml/manpages/vfs_acl_tdb.8.xml132
-rw-r--r--docs-xml/manpages/vfs_acl_xattr.8.xml170
-rw-r--r--docs-xml/manpages/vfs_aio_fork.8.xml86
-rw-r--r--docs-xml/manpages/vfs_aio_pthread.8.xml97
-rw-r--r--docs-xml/manpages/vfs_audit.8.xml120
-rw-r--r--docs-xml/manpages/vfs_btrfs.8.xml137
-rw-r--r--docs-xml/manpages/vfs_cacheprime.8.xml110
-rw-r--r--docs-xml/manpages/vfs_cap.8.xml78
-rw-r--r--docs-xml/manpages/vfs_catia.8.xml142
-rw-r--r--docs-xml/manpages/vfs_ceph.8.xml167
-rw-r--r--docs-xml/manpages/vfs_ceph_snapshots.8.xml130
-rw-r--r--docs-xml/manpages/vfs_commit.8.xml110
-rw-r--r--docs-xml/manpages/vfs_crossrename.8.xml118
-rw-r--r--docs-xml/manpages/vfs_default_quota.8.xml136
-rw-r--r--docs-xml/manpages/vfs_dirsort.8.xml69
-rw-r--r--docs-xml/manpages/vfs_expand_msdfs.8.xml69
-rw-r--r--docs-xml/manpages/vfs_extd_audit.8.xml68
-rw-r--r--docs-xml/manpages/vfs_fake_perms.8.xml73
-rw-r--r--docs-xml/manpages/vfs_fileid.8.xml282
-rw-r--r--docs-xml/manpages/vfs_fruit.8.xml467
-rw-r--r--docs-xml/manpages/vfs_full_audit.8.xml304
-rw-r--r--docs-xml/manpages/vfs_glusterfs.8.xml213
-rw-r--r--docs-xml/manpages/vfs_glusterfs_fuse.8.xml111
-rw-r--r--docs-xml/manpages/vfs_gpfs.8.xml398
-rw-r--r--docs-xml/manpages/vfs_io_uring.8.xml107
-rw-r--r--docs-xml/manpages/vfs_linux_xfs_sgid.8.xml77
-rw-r--r--docs-xml/manpages/vfs_media_harmony.8.xml142
-rw-r--r--docs-xml/manpages/vfs_nfs4acl_xattr.8.xml172
-rw-r--r--docs-xml/manpages/vfs_offline.8.xml72
-rw-r--r--docs-xml/manpages/vfs_prealloc.8.xml107
-rw-r--r--docs-xml/manpages/vfs_preopen.8.xml275
-rw-r--r--docs-xml/manpages/vfs_readahead.8.xml115
-rw-r--r--docs-xml/manpages/vfs_readonly.8.xml101
-rw-r--r--docs-xml/manpages/vfs_recycle.8.xml220
-rw-r--r--docs-xml/manpages/vfs_shadow_copy.8.xml121
-rw-r--r--docs-xml/manpages/vfs_shadow_copy2.8.xml494
-rw-r--r--docs-xml/manpages/vfs_shell_snap.8.xml154
-rw-r--r--docs-xml/manpages/vfs_snapper.8.xml123
-rw-r--r--docs-xml/manpages/vfs_streams_depot.8.xml97
-rw-r--r--docs-xml/manpages/vfs_streams_xattr.8.xml98
-rw-r--r--docs-xml/manpages/vfs_syncops.8.xml99
-rw-r--r--docs-xml/manpages/vfs_time_audit.8.xml101
-rw-r--r--docs-xml/manpages/vfs_tsmsm.8.xml135
-rw-r--r--docs-xml/manpages/vfs_unityed_media.8.xml115
-rw-r--r--docs-xml/manpages/vfs_virusfilter.8.xml381
-rw-r--r--docs-xml/manpages/vfs_widelinks.8.xml90
-rw-r--r--docs-xml/manpages/vfs_worm.8.xml93
-rw-r--r--docs-xml/manpages/vfs_xattr_tdb.8.xml69
-rw-r--r--docs-xml/manpages/vfs_zfsacl.8.xml173
-rw-r--r--docs-xml/manpages/vfstest.1.xml168
-rw-r--r--docs-xml/manpages/wbinfo.1.xml641
-rw-r--r--docs-xml/manpages/winbind_krb5_localauth.8.xml86
-rw-r--r--docs-xml/manpages/winbind_krb5_locator.8.xml95
-rw-r--r--docs-xml/manpages/winbindd.8.xml531
-rw-r--r--docs-xml/manpages/winexe.1.xml200
-rw-r--r--docs-xml/manpages/wspsearch.1.xml190
110 files changed, 29610 insertions, 0 deletions
diff --git a/docs-xml/manpages/cifsdd.8.xml b/docs-xml/manpages/cifsdd.8.xml
new file mode 100644
index 0000000..d8d4bbc
--- /dev/null
+++ b/docs-xml/manpages/cifsdd.8.xml
@@ -0,0 +1,101 @@
+<?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="cifsdd.8">
+
+<refmeta>
+ <refentrytitle>cifsdd</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>cifsdd</refname>
+ <refpurpose>convert and copy a file over SMB</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>cifsdd</command>
+ <arg choice="opt">OPERAND</arg>...
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <command>cifsdd</command>
+ <arg choice="plain">OPTION</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>Copy a file, converting and formatting according to the operands.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>bs=BYTES</term>
+ <listitem><para>read and write up to BYTES bytes at a time (default: 4096)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ibs=BYTES</term>
+ <listitem><para>read up to BYTES bytes at a time (default: 4096)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>obs=BYTES</term>
+ <listitem><para>write BYTES bytes at a time (default: 4096)</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>if=FILE</term>
+ <listitem><para>read from FILE instead of stdin</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>of=FILE</term>
+ <listitem><para>write to FILE instead of stdout</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>count=N</term>
+ <listitem><para>copy only N input blocks</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>seek=N</term>
+ <listitem><para>skip N obs-sized blocks at start of output</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>skip=N</term>
+ <listitem><para>skip N ibs-sized blocks at start of input</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>direct</term>
+ <listitem><para>use direct I/O for data</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>sync</term>
+ <listitem><para>use synchronous writes</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>oplock</term>
+ <listitem><para>take oplocks on the input and output files</para></listitem>
+ </varlistentry>
+ </variablelist>
+</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 cifsdd manpage was written by Andreas
+ Schneider.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/dbwrap_tool.1.xml b/docs-xml/manpages/dbwrap_tool.1.xml
new file mode 100644
index 0000000..c6a69f8
--- /dev/null
+++ b/docs-xml/manpages/dbwrap_tool.1.xml
@@ -0,0 +1,198 @@
+<?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="dbwrap_tool.1">
+
+<refmeta>
+ <refentrytitle>dbwrap_tool</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">System Administration tools</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>dbwrap_tool</refname>
+ <refpurpose>low level TDB/CTDB manipulation tool using the dbwrap interface</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>dbwrap_tool</command>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</arg>
+ <arg choice="opt">--persistent</arg>
+ <arg choice="opt">--non-persistent</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="req">&lt;database&gt;</arg>
+ <arg choice="req">&lt;operation&gt;</arg>
+ <arg choice="opt">&lt;key&gt;
+ <arg choice="opt">&lt;type&gt;
+ <arg choice="opt">&lt;value&gt;</arg></arg></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 dbwrap_tool program is used to read and manipulate
+ TDB/CTDB databases using the dbwrap interface.</para>
+
+ <para>The following database operations are available:
+ <itemizedlist>
+ <listitem><para>fetch: fetch a record</para></listitem>
+ <listitem><para>store: create or modify a record</para></listitem>
+ <listitem><para>delete: remove a record</para></listitem>
+ <listitem><para>exists: test for existence of a record</para></listitem>
+ <listitem><para>erase: remove all records</para></listitem>
+ <listitem><para>listkeys: list all available records</para></listitem>
+ <listitem><para>listwatchers: list processes, which are waiting for changes in a record</para></listitem>
+ </itemizedlist>
+ </para>
+ <para>The following types are available:
+ <itemizedlist>
+ <listitem><para>int32: signed 32bit integer</para></listitem>
+ <listitem><para>uint32: unsigned 32bit integer</para></listitem>
+ <listitem><para>string: "hello world"</para></listitem>
+ <listitem><para>hex: hex strings like "68656C6C6F20776F726C6400" ("hello world")</para></listitem>
+ </itemizedlist>
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>--persistent</term>
+ <listitem><para>Open the database as a persistent database.
+ </para>
+ <para>
+ Exactly one of --persistent and --non-persistent must be
+ specified.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--non-persistent</term>
+ <listitem><para>Open the database as a non-persistent database.
+ </para>
+ <para>
+ Caveat: opening a database as non-persistent when there
+ is currently no other opener will wipe the database.
+ </para>
+ <para>
+ Exactly one of --persistent and --non-persistent must be
+ specified.
+ </para></listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>COMMANDS</title>
+ <refsect2>
+ <title>fetch</title>
+ <cmdsynopsis>
+ <command>dbwrap_tool</command> &lt;database&gt; fetch &lt;key&gt; &lt;type&gt;
+ </cmdsynopsis>
+ </refsect2>
+ <refsect2>
+ <title>store</title>
+ <cmdsynopsis>
+ <command>dbwrap_tool</command> &lt;database&gt; store &lt;key&gt; &lt;type&gt; &lt;value&gt;
+ </cmdsynopsis>
+ </refsect2>
+ <refsect2>
+ <title>delete</title>
+ <cmdsynopsis>
+ <command>dbwrap_tool</command> &lt;database&gt; delete &lt;key&gt;
+ </cmdsynopsis>
+ </refsect2>
+ <refsect2>
+ <title>exists</title>
+ <cmdsynopsis>
+ <command>dbwrap_tool</command> &lt;database&gt; exists &lt;key&gt;
+ </cmdsynopsis>
+ </refsect2>
+ <refsect2>
+ <title>erase</title>
+ <cmdsynopsis>
+ <command>dbwrap_tool</command> &lt;database&gt; erase </cmdsynopsis>
+ </refsect2>
+ <refsect2>
+ <title>listkeys</title>
+ <cmdsynopsis>
+ <command>dbwrap_tool</command> &lt;database&gt; listkeys
+ </cmdsynopsis>
+ </refsect2>
+ <refsect2>
+ <title>listwatchers</title>
+ <cmdsynopsis>
+ <command>dbwrap_tool</command> &lt;database&gt; listwatchers
+ </cmdsynopsis>
+ </refsect2>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+ <variablelist>
+ <varlistentry><term>List all keys from winbindd_idmap.tdb</term>
+ <listitem><para><command>dbwrap_tool</command> --persistent winbindd_idmap.tdb listkeys</para></listitem>
+ </varlistentry>
+ <varlistentry><term>Fetch record with key "USER HWM" as uint32</term>
+ <listitem><para><command>dbwrap_tool</command> --persistent winbindd_idmap.tdb fetch "USER HWM" uint32</para></listitem>
+ </varlistentry>
+ <varlistentry><term>Remove record with key "USER HWM"</term>
+ <listitem><para><command>dbwrap_tool</command> --persistent winbindd_idmap.tdb remove "USER HWM"</para></listitem>
+ </varlistentry>
+ <varlistentry><term>Store and overwrite record "USER HWM" with value 214</term>
+ <listitem><para>uint32: <command>dbwrap_tool</command> --persistent winbindd_idmap.tdb store "USER HWM" uint32 214</para></listitem>
+ <listitem><para>hex: <command>dbwrap_tool</command> --persistent winbindd_idmap.tdb store "USER HWM" hex D6000000</para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>NOTES</title>
+
+ <para>Use with caution!</para>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry></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 dbwrap_tool manpage was written by Bjoern Baumbach.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/eventlogadm.8.xml b/docs-xml/manpages/eventlogadm.8.xml
new file mode 100644
index 0000000..f567d92
--- /dev/null
+++ b/docs-xml/manpages/eventlogadm.8.xml
@@ -0,0 +1,291 @@
+<?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="eventlogadm.8">
+
+<refmeta>
+ <refentrytitle>eventlogadm</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>eventlogadm</refname>
+ <refpurpose>push records into the Samba event log store</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+
+ <command>eventlogadm</command>
+ <arg><option>-s</option></arg>
+ <arg><option>-d</option></arg>
+ <arg><option>-h</option></arg>
+ <arg choice="plain"><option>-o</option>
+ <literal>addsource</literal>
+ <replaceable>EVENTLOG</replaceable>
+ <replaceable>SOURCENAME</replaceable>
+ <replaceable>MSGFILE</replaceable>
+ </arg>
+
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <command>eventlogadm</command>
+ <arg><option>-s</option></arg>
+ <arg><option>-d</option></arg>
+ <arg><option>-h</option></arg>
+ <arg choice="plain"><option>-o</option>
+ <literal>write</literal>
+ <replaceable>EVENTLOG</replaceable>
+ </arg>
+
+ </cmdsynopsis>
+ <cmdsynopsis>
+ <command>eventlogadm</command>
+ <arg><option>-s</option></arg>
+ <arg><option>-d</option></arg>
+ <arg><option>-h</option></arg>
+ <arg choice="plain"><option>-o</option>
+ <literal>dump</literal>
+ <replaceable>EVENTLOG</replaceable>
+ <replaceable>RECORD_NUMBER</replaceable>
+ </arg>
+
+ </cmdsynopsis>
+
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> suite.</para>
+
+ <para><command>eventlogadm</command> is a filter that accepts
+ formatted event log records on standard input and writes them
+ to the Samba event log store. Windows client can then manipulate
+ these record using the usual administration tools.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>
+ <option>-s</option>
+ <replaceable>FILENAME</replaceable>
+ </term>
+ <listitem><para>
+ The <command>-s</command> option causes <command>eventlogadm</command> to load the
+ configuration file given as FILENAME instead of the default one used by Samba.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-d</option></term>
+ <listitem><para>
+ The <command>-d</command> option causes <command>eventlogadm</command> to emit debugging
+ information.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>-o</option>
+ <literal>addsource</literal>
+ <replaceable>EVENTLOG</replaceable>
+ <replaceable>SOURCENAME</replaceable>
+ <replaceable>MSGFILE</replaceable>
+ </term>
+ <listitem><para>
+ The <command>-o addsource</command> option creates a
+ new event log source.
+ </para> </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>-o</option>
+ <literal>write</literal>
+ <replaceable>EVENTLOG</replaceable>
+ </term>
+ <listitem><para>
+ The <command>-o write</command> reads event log
+ records from standard input and writes them to the Samba
+ event log store named by EVENTLOG.
+ </para> </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>-o</option>
+ <literal>dump</literal>
+ <replaceable>EVENTLOG</replaceable>
+ <replaceable>RECORD_NUMBER</replaceable>
+ </term>
+ <listitem><para>
+ The <command>-o dump</command> reads event log
+ records from a EVENTLOG tdb and dumps them to standard
+ output on screen.
+ </para> </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-h</option></term>
+ <listitem><para>
+ Print usage information.
+ </para></listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>EVENTLOG RECORD FORMAT</title>
+
+ <para>For the write operation, <command>eventlogadm</command>
+ expects to be able to read structured records from standard
+ input. These records are a sequence of lines, with the record key
+ and data separated by a colon character. Records are separated
+ by at least one or more blank line.</para>
+
+ <para>The event log record field are:</para>
+ <itemizedlist>
+
+ <listitem><para>
+ <command>LEN</command> - This field should be 0, since <command>eventlogadm</command> will calculate this value.
+ </para></listitem>
+
+ <listitem><para>
+ <command>RS1</command> - This must be the value 1699505740.
+ </para></listitem>
+
+ <listitem><para>
+ <command>RCN</command> - This field should be 0.
+ </para></listitem>
+
+ <listitem><para>
+ <command>TMG</command> - The time the eventlog record
+ was generated; format is the number of seconds since
+ 00:00:00 January 1, 1970, UTC.
+ </para></listitem>
+
+ <listitem><para>
+ <command>TMW</command> - The time the eventlog record was
+ written; format is the number of seconds since 00:00:00
+ January 1, 1970, UTC.
+ </para></listitem>
+
+ <listitem><para>
+ <command>EID</command> - The eventlog ID.
+ </para></listitem>
+
+ <listitem><para>
+ <command>ETP</command> - The event type -- one of
+ &quot;INFO&quot;,
+ &quot;ERROR&quot;, &quot;WARNING&quot;, &quot;AUDIT
+ SUCCESS&quot; or &quot;AUDIT FAILURE&quot;.
+ </para></listitem>
+
+ <listitem><para>
+ <command>ECT</command> - The event category; this depends
+ on the message file. It is primarily used as a means of
+ filtering in the eventlog viewer.
+ </para></listitem>
+
+ <listitem><para>
+ <command>RS2</command> - This field should be 0.
+ </para></listitem>
+
+ <listitem><para>
+ <command>CRN</command> - This field should be 0.
+ </para></listitem>
+
+ <listitem><para>
+ <command>USL</command> - This field should be 0.
+ </para></listitem>
+
+ <listitem><para>
+ <command>SRC</command> - This field contains the source
+ name associated with the event log. If a message file is
+ used with an event log, there will be a registry entry
+ for associating this source name with a message file DLL.
+ </para></listitem>
+
+ <listitem><para>
+ <command>SRN</command> - The name of the machine on
+ which the eventlog was generated. This is typically the
+ host name.
+ </para></listitem>
+
+ <listitem><para>
+ <command>STR</command> - The text associated with the
+ eventlog. There may be more than one string in a record.
+ </para></listitem>
+
+ <listitem><para>
+ <command>DAT</command> - This field should be left unset.
+ </para></listitem>
+
+ </itemizedlist>
+
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+ <para>An example of the record format accepted by <command>eventlogadm</command>:</para>
+
+ <programlisting>
+ LEN: 0
+ RS1: 1699505740
+ RCN: 0
+ TMG: 1128631322
+ TMW: 1128631322
+ EID: 1000
+ ETP: INFO
+ ECT: 0
+ RS2: 0
+ CRN: 0
+ USL: 0
+ SRC: cron
+ SRN: dmlinux
+ STR: (root) CMD ( rm -f /var/spool/cron/lastrun/cron.hourly)
+ DAT:
+ </programlisting>
+
+ <para>Set up an eventlog source, specifying a message file DLL:</para>
+ <programlisting>
+ eventlogadm -o addsource Application MyApplication | \\
+ %SystemRoot%/system32/MyApplication.dll
+ </programlisting>
+
+ <para>Filter messages from the system log into an event log:</para>
+ <programlisting>
+ tail -f /var/log/messages | \\
+ my_program_to_parse_into_eventlog_records | \\
+ eventlogadm SystemLogEvents
+ </programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is part of version &doc.version; 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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/idmap_ad.8.xml b/docs-xml/manpages/idmap_ad.8.xml
new file mode 100644
index 0000000..32df8d0
--- /dev/null
+++ b/docs-xml/manpages/idmap_ad.8.xml
@@ -0,0 +1,176 @@
+<?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="idmap_ad.8">
+
+<refmeta>
+ <refentrytitle>idmap_ad</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>idmap_ad</refname>
+ <refpurpose>Samba's idmap_ad Backend for Winbind</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <title>DESCRIPTION</title>
+ <para>The idmap_ad plugin provides a way for Winbind to read
+ id mappings from an AD server that uses RFC2307/SFU schema
+ extensions. This module implements only the &quot;idmap&quot;
+ API, and is READONLY. Mappings must be provided in advance
+ by the administrator by adding the uidNumber attributes for
+ users and gidNumber attributes for groups in the AD. Winbind
+ will only map users that have a uidNumber and whose primary
+ group have a gidNumber attribute set. It is however
+ recommended that all groups in use have gidNumber attributes
+ assigned, otherwise they are not working.</para>
+
+ <para>
+ Currently, the <parameter>ad</parameter> backend
+ does not work as the default idmap backend, but one has
+ to configure it separately for each domain for which one wants
+ to use it, using disjoint ranges. One usually needs to configure
+ a writeable default idmap range, using for example the
+ <parameter>tdb</parameter> or <parameter>ldap</parameter>
+ backend, in order to be able to map the BUILTIN sids and
+ possibly other trusted domains. The writeable default config
+ is also needed in order to be able to create group mappings.
+ This catch-all default idmap configuration should have a range
+ that is disjoint from any explicitly configured domain with
+ idmap backend <parameter>ad</parameter>. See the example below.
+ </para>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>IDMAP OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>range = low - high</term>
+ <listitem><para>
+ Defines the available matching UID and GID range for which the
+ backend is authoritative. Note that the range acts as a filter.
+ If specified any UID or GID stored in AD that fall outside the
+ range is ignored and the corresponding map is discarded.
+ It is intended as a way to avoid accidental UID/GID overlaps
+ between local and remotely defined IDs.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>schema_mode = &lt;rfc2307 | sfu | sfu20&gt;</term>
+ <listitem>
+ <para>
+ Defines the schema that idmap_ad should use when querying
+ Active Directory regarding user and group information.
+ This can be either the RFC2307 schema support included
+ in Windows Server 2003 R2 and newer or the Service for
+ Unix (SFU) schema for versions before Windows Server
+ 2003 R2.
+ For SFU 3.0 or 3.5 please choose "sfu", for SFU 2.0
+ please choose "sfu20".
+
+ Please note that the behavior of primary group membership is
+ controlled by the <emphasis>unix_primary_group</emphasis> option.
+ </para>
+ <para>Default: rfc2307</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>unix_primary_group = yes/no</term>
+ <listitem><para>
+ Defines whether the user's primary group is fetched from the SFU
+ attributes or the AD primary group. If set to
+ <parameter>yes</parameter> the primary group membership is fetched
+ from the LDAP attributes (gidNumber).
+ If set to <parameter>no</parameter> the primary group membership is
+ calculated via the "primaryGroupID" LDAP attribute.
+ </para>
+ <para>Default: no</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>unix_nss_info = yes/no</term>
+ <listitem><para>
+ If set to <parameter>yes</parameter> winbind will retrieve the login
+ shell and home directory from the LDAP attributes. If set to
+ <parameter>no</parameter> or the AD LDAP entry lacks the SFU
+ attributes the options <emphasis>template shell</emphasis> and
+ <emphasis>template homedir</emphasis> are used.
+ </para>
+ <para>Default: no</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>deny ous</term>
+ <listitem><para>This parameter is a list of OUs from
+ which objects will not be mapped via the ad idmap
+ module. If <parameter>deny ous</parameter> is set but
+ <parameter>allow ous</parameter> is not set, every
+ object outside the OUs listed in <parameter>deny
+ ous</parameter> is allowed.
+ </para>
+ <para>Default: none</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>allow ous</term>
+ <listitem><para>This parameter is a list of OUs from
+ which objects will be mapped via the ad idmap
+ module. If <parameter>allow ous</parameter> is set but
+ <parameter>deny ous</parameter> is not set, every
+ object outside the OUs <parameter>allow
+ ous</parameter> is denied.
+ </para>
+ <para>
+ If both <parameter>allow ous</parameter> and
+ <parameter>deny ous</parameter> are set,
+ <parameter>deny ous</parameter> is evaluated first,
+ then <parameter>allow ous</parameter> is looked at. If
+ an AD object matches neither, it is denied.
+ </para>
+ <para>Default: none</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+ <para>
+ The following example shows how to retrieve idmappings from our principal and
+ trusted AD domains. If trusted domains are present id conflicts must be
+ resolved beforehand, there is no
+ guarantee on the order conflicting mappings would be resolved at this point.
+
+ This example also shows how to leave a small non conflicting range for local
+ id allocation that may be used in internal backends like BUILTIN.
+ </para>
+
+ <programlisting>
+ [global]
+ workgroup = CORP
+
+ idmap config * : backend = tdb
+ idmap config * : range = 1000000-1999999
+
+ idmap config CORP : backend = ad
+ idmap config CORP : range = 1000-999999
+ </programlisting>
+</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/idmap_autorid.8.xml b/docs-xml/manpages/idmap_autorid.8.xml
new file mode 100644
index 0000000..9fe73d5
--- /dev/null
+++ b/docs-xml/manpages/idmap_autorid.8.xml
@@ -0,0 +1,184 @@
+<?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="idmap_autorid.8">
+
+<refmeta>
+ <refentrytitle>idmap_autorid</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>idmap_autorid</refname>
+ <refpurpose>Samba's idmap_autorid Backend for Winbind</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <title>DESCRIPTION</title>
+ <para>The idmap_autorid backend provides a way to use an algorithmic
+ mapping scheme to map UIDs/GIDs and SIDs that is more deterministic
+ than idmap_tdb and easier to configure than idmap_rid.</para>
+ <para>The module works similar to idmap_rid, but it automatically
+ configures the range to be used for each domain, so there is no need
+ to specify a specific range for each domain in the forest, the only
+ configuration that is needed is the range of uid/gids that shall
+ be used for user/group mappings and an optional size of the ranges
+ to be used.</para>
+ <para>The mappings of which domain is mapped to which range is stored
+ in autorid.tdb, thus you should backup this database regularly.</para>
+ <para>Due to the algorithm being used, it is the module that is
+ most easy to use as it only requires a minimal configuration.</para>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>IDMAP OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>range = low - high</term>
+ <listitem><para>
+ Defines the available matching uid and gid
+ range for which the backend is
+ authoritative. Note that the range acts as a
+ filter. If algorithmically determined UID or
+ GID fall outside the range, they are ignored
+ and the corresponding map is discarded. It is
+ intended as a way to avoid accidental UID/GID
+ overlaps between local and remotely defined
+ IDs. Note that the range should be a multiple
+ of the rangesize and needs to be at least twice
+ as large in order to have sufficient id range
+ space for the mandatory BUILTIN domain.
+ With a default rangesize of 100000 the range
+ needs to span at least 200000.
+ This would be: range = 100000 - 299999.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>rangesize = numberofidsperrange</term>
+ <listitem><para>
+ Defines the number of uids/gids available per
+ domain range. The minimum needed value is 2000.
+ SIDs with RIDs larger than this value will be mapped
+ into extension ranges depending upon number of available
+ ranges. If the autorid backend runs out of available
+ ranges, mapping requests for new domains (or new
+ extension ranges for domains already known) are ignored
+ and the corresponding map is discarded.
+ </para>
+ <para>
+ Example: with rangesize set to 10000, users/groups with
+ a RID up to 10000 will be put into the first range for the
+ domain. When attempting to map the an object with a RID
+ of 25000, an extension range will be allocated that
+ will then be used to map all RIDs from 20000-29999.
+ </para>
+ <para>One range will be used for local users and groups and for
+ non-domain well-known SIDs like Everyone (S-1-1-0) or Creator Owner (S-1-3-0).
+ A chosen list of well-known SIDs will be preallocated on first start
+ to create deterministic mappings for those.</para>
+ <para>
+ Thus the number of local users and groups that can be created is
+ limited by this option as well. If you plan to create a large amount
+ of local users or groups, you will need set this parameter accordingly.
+ </para>
+ <para>The default value is 100000.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>read only = [ yes | no ]</term>
+ <listitem><para>Turn the module into read-only mode. No new ranges will be allocated
+ nor will new mappings be created in the idmap pool. Defaults to no.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ignore builtin = [ yes | no ]</term>
+ <listitem><para>Ignore any mapping requests for the BUILTIN domain.
+ Defaults to no.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>THE MAPPING FORMULAS</title>
+ <para>
+ The Unix ID for a RID is calculated this way:
+ <programlisting>
+ ID = REDUCED RID + IDMAP RANGE LOW VALUE + RANGE NUMBER * RANGE SIZE
+ </programlisting>
+ where REDUCED RID = RID % RANGE_SIZE
+ and a DOMAIN RANGE INDEX = RID / RANGE_SIZE is used together with the
+ domain sid to determine the RANGE NUMBER (stored in the database).
+ </para>
+ <para>
+ Correspondingly, the formula for calculating the RID for a
+ given Unix ID is this:
+ <programlisting>
+ RID = (ID - LOW ID) % RANGE SIZE + DOMAIN RANGE INDEX * RANGE SIZE
+ </programlisting>
+ Where the DOMAIN RANGE INDEX is retrieved from the database along with the
+ domain sid by the RANGE NUMBER = (ID - LOW ID) / RANGE SIZE .
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+ <para>
+ This example shows you the minimal configuration that will
+ work for the principal domain and 19 trusted domains / range
+ extensions.
+ </para>
+
+ <programlisting>
+ [global]
+ security = ads
+ workgroup = CUSTOMER
+ realm = CUSTOMER.COM
+
+ idmap config * : backend = autorid
+ idmap config * : range = 1000000-1999999
+
+ </programlisting>
+
+ <para>
+ This example shows how to configure idmap_autorid as default
+ for all domains with a potentially large amount of users
+ plus a specific configuration for a trusted domain
+ that uses the SFU mapping scheme. Please note that idmap
+ ranges and sfu ranges are not allowed to overlap.
+ </para>
+
+ <programlisting>
+ [global]
+ security = ads
+ workgroup = CUSTOMER
+ realm = CUSTOMER.COM
+
+ idmap config * : backend = autorid
+ idmap config * : range = 1000000-19999999
+ idmap config * : rangesize = 1000000
+
+ idmap config TRUSTED : backend = ad
+ idmap config TRUSTED : range = 50000 - 99999
+ idmap config TRUSTED : schema_mode = sfu
+ </programlisting>
+
+</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/idmap_hash.8.xml b/docs-xml/manpages/idmap_hash.8.xml
new file mode 100644
index 0000000..03ff02a
--- /dev/null
+++ b/docs-xml/manpages/idmap_hash.8.xml
@@ -0,0 +1,93 @@
+<?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="idmap_hash.8">
+
+<refmeta>
+ <refentrytitle>idmap_hash</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>idmap_hash</refname>
+ <refpurpose>DO NOT USE THIS BACKEND</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <title>DESCRIPTION</title>
+ <para>DO NOT USE THIS PLUGIN
+
+ The idmap_hash plugin implements a hashing algorithm used to map
+ SIDs for domain users and groups to 31-bit uids and gids, respectively.
+ This plugin also implements the nss_info API and can be used
+ to support a local name mapping files if enabled via the
+ &quot;winbind normalize names&quot; and &quot;winbind nss info&quot;
+ parameters in &smb.conf;.
+ The module divides the range into subranges for each domain that is being
+ handled by the idmap config.
+
+ The module needs the complete UID and GID range to be able to map all
+ SIDs. The lowest value for the range should be the smallest ID
+ available in the system. This is normally 1000. The highest ID should
+ be set to 2147483647.
+
+ A smaller range will lead to issues because of the hashing algorithm
+ used. The overall range to map all SIDs is 0 - 2147483647. Any range
+ smaller than 0 - 2147483647 will filter some SIDs. As we can normally
+ only start with 1000, we are not able to map 1000 SIDs. This already
+ can lead to issues. The smaller the range the less SIDs can be mapped.
+
+ We do not recommend to use this plugin. It will be removed in a future
+ release of Samba.
+ </para>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>IDMAP OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>name_map</term>
+ <listitem><para>
+ Specifies the absolute path to the name mapping
+ file used by the nss_info API. Entries in the file
+ are of the form &quot;<replaceable>unix name</replaceable>
+ = <replaceable>qualified domain name</replaceable>&quot;.
+ Mapping of both user and group names is supported.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+ <para>The following example utilizes the idmap_hash plugin for
+ the idmap and nss_info information.
+ </para>
+
+ <programlisting>
+ [global]
+ idmap config * : backend = hash
+ idmap config * : range = 1000-2147483647
+
+ winbind nss info = hash
+ winbind normalize names = yes
+ idmap_hash:name_map = /etc/samba/name_map.cfg
+ </programlisting>
+</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/idmap_ldap.8.xml b/docs-xml/manpages/idmap_ldap.8.xml
new file mode 100644
index 0000000..80f272d
--- /dev/null
+++ b/docs-xml/manpages/idmap_ldap.8.xml
@@ -0,0 +1,145 @@
+<?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="idmap_ldap.8">
+
+<refmeta>
+ <refentrytitle>idmap_ldap</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>idmap_ldap</refname>
+ <refpurpose>Samba's idmap_ldap Backend for Winbind</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <title>DESCRIPTION</title>
+
+ <para>The idmap_ldap plugin provides a means for Winbind to
+ store and retrieve SID/uid/gid mapping tables in an LDAP directory
+ service.
+ </para>
+
+ <para>
+ In contrast to read only backends like idmap_rid, it is an allocating
+ backend: This means that it needs to allocate new user and group IDs in
+ order to create new mappings.
+ </para>
+
+</refsynopsisdiv>
+
+<refsect1>
+ <title>IDMAP OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>ldap_base_dn = DN</term>
+ <listitem><para>
+ Defines the directory base suffix to use for
+ SID/uid/gid mapping entries. If not defined, idmap_ldap will default
+ to using the &quot;ldap idmap suffix&quot; option from &smb.conf;.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ldap_user_dn = DN</term>
+ <listitem><para>
+ Defines the user DN to be used for authentication.
+ The secret for authenticating this user should be
+ stored with net idmap secret
+ (see <citerefentry><refentrytitle>net</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>).
+ If absent, the ldap credentials from the ldap passdb configuration
+ are used, and if these are also absent, an anonymous
+ bind will be performed as last fallback.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ldap_url = ldap://server/</term>
+ <listitem><para>
+ Specifies the LDAP server to use for
+ SID/uid/gid map entries. If not defined, idmap_ldap will
+ assume that ldap://localhost/ should be used.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>range = low - high</term>
+ <listitem><para>
+ Defines the available matching uid and gid range for which the
+ backend is authoritative.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>
+ The following example shows how an ldap directory is used as the
+ default idmap backend. It also configures the idmap range and base
+ directory suffix. The secret for the ldap_user_dn has to be set with
+ &quot;net idmap secret '*' password&quot;.
+ </para>
+
+ <programlisting>
+ [global]
+ idmap config * : backend = ldap
+ idmap config * : range = 1000000-1999999
+ idmap config * : ldap_url = ldap://localhost/
+ idmap config * : ldap_base_dn = ou=idmap,dc=example,dc=com
+ idmap config * : ldap_user_dn = cn=idmap_admin,dc=example,dc=com
+ </programlisting>
+
+ <para>
+ This example shows how ldap can be used as a readonly backend while
+ tdb is the default backend used to store the mappings.
+ It adds an explicit configuration for some domain DOM1, that
+ uses the ldap idmap backend. Note that a range disjoint from the
+ default range is used.
+ </para>
+
+ <programlisting>
+ [global]
+ # "backend = tdb" is redundant here since it is the default
+ idmap config * : backend = tdb
+ idmap config * : range = 1000000-1999999
+
+ idmap config DOM1 : backend = ldap
+ idmap config DOM1 : range = 2000000-2999999
+ idmap config DOM1 : read only = yes
+ idmap config DOM1 : ldap_url = ldap://server/
+ idmap config DOM1 : ldap_base_dn = ou=idmap,dc=dom1,dc=example,dc=com
+ idmap config DOM1 : ldap_user_dn = cn=idmap_admin,dc=dom1,dc=example,dc=com
+ </programlisting>
+</refsect1>
+
+<refsynopsisdiv>
+ <title>NOTE</title>
+
+ <para>In order to use authentication against ldap servers you may
+ need to provide a DN and a password. To avoid exposing the password
+ in plain text in the configuration file we store it into a security
+ store. The &quot;net idmap &quot; command is used to store a secret
+ for the DN specified in a specific idmap domain.
+ </para>
+</refsynopsisdiv>
+
+<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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/idmap_nss.8.xml b/docs-xml/manpages/idmap_nss.8.xml
new file mode 100644
index 0000000..a9c6ece
--- /dev/null
+++ b/docs-xml/manpages/idmap_nss.8.xml
@@ -0,0 +1,98 @@
+<?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="idmap_nss.8">
+
+<refmeta>
+ <refentrytitle>idmap_nss</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>idmap_nss</refname>
+ <refpurpose>Samba's idmap_nss Backend for Winbind</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <title>DESCRIPTION</title>
+
+ <para>The idmap_nss plugin provides a means to map Unix users and groups
+ to Windows accounts. This provides a simple means of ensuring that the SID
+ for a Unix user named jsmith is reported as the one assigned to
+ DOMAIN\jsmith which is necessary for reporting ACLs on files and printers
+ stored on a Samba member server.
+ </para>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>IDMAP OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>range = low - high</term>
+ <listitem><para>
+ Defines the available matching UID and GID range for which the
+ backend is authoritative. Note that the range acts as a filter.
+ Returned UIDs or GIDs by NSS modules that fall outside the range
+ are ignored and the corresponding maps discarded. It is intended
+ as a way to avoid accidental UID/GID overlaps between local and
+ remotely defined IDs.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>use_upn = &lt;yes | no&gt;</term>
+ <listitem>
+ <para>
+ Some NSS modules can return and handle UPNs and/or down-level
+ logon names (e.g., DOMAIN\user or user@REALM).
+ </para>
+ <para>
+ If this parameter is enabled the returned names from NSS will be
+ parsed and the resulting namespace will be used as the authoritative
+ namespace instead of the IDMAP domain name. Also, down-level logon
+ names will be sent to NSS instead of the plain username to give NSS
+ modules a hint about the user's correct domain.
+ </para>
+ <para>Default: no</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>
+ This example shows how to use idmap_nss to obtain the local account ID's
+ for its own domain (SAMBA) from NSS, whilst allocating new mappings for
+ the default domain (*) and any trusted domains.
+ </para>
+
+ <programlisting>
+ [global]
+ idmap config * : backend = tdb
+ idmap config * : range = 1000000-1999999
+
+ idmap config SAMBA : backend = nss
+ idmap config SAMBA : range = 1000-999999
+ </programlisting>
+</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/idmap_rfc2307.8.xml b/docs-xml/manpages/idmap_rfc2307.8.xml
new file mode 100644
index 0000000..1393b04
--- /dev/null
+++ b/docs-xml/manpages/idmap_rfc2307.8.xml
@@ -0,0 +1,164 @@
+<?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="idmap_rfc2307.8">
+
+<refmeta>
+ <refentrytitle>idmap_rfc2307</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>idmap_rfc2307</refname>
+ <refpurpose>Samba's idmap_rfc2307 Backend for Winbind</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <title>DESCRIPTION</title>
+
+ <para>The idmap_rfc2307 plugin provides a way for winbind to
+ read id mappings from records in an LDAP server as defined in
+ RFC 2307. The LDAP server can be stand-alone or the LDAP
+ server provided by the AD server. An AD server is always
+ required to provide the mapping between name and SID, and the
+ LDAP server is queried for the mapping between name and
+ uid/gid. This module implements only the &quot;idmap&quot;
+ API, and is READONLY.</para>
+
+ <para>Mappings must be provided in advance by the
+ administrator by creating the user accounts in the Active
+ Directory server and the posixAccount and posixGroup objects
+ in the LDAP server. The names in the Active Directory server
+ and in the LDAP server have to be the same.</para>
+
+ <para>This id mapping approach allows the reuse of existing
+ LDAP authentication servers that store records in the RFC 2307
+ format.</para>
+
+ <para>When connecting to the LDAP server provided by an AD
+ server, the parameter <smbconfoption name="ldap ssl ads"/>
+ determines whether SSL should be used. When using a
+ stand-alone LDAP server, <smbconfoption name="ldap ssl"/>
+ applies.</para>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>IDMAP OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>range = low - high</term>
+ <listitem><para> Defines the available
+ matching UID and GID range for which the
+ backend is authoritative. Note that the range
+ acts as a filter. If specified any UID or GID
+ stored in AD that fall outside the range is
+ ignored and the corresponding map is
+ discarded. It is intended as a way to avoid
+ accidental UID/GID overlaps between local and
+ remotely defined IDs.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ldap_server = &lt;ad | stand-alone &gt;</term>
+ <listitem><para>Defines the type of LDAP
+ server to use. This can either be the LDAP
+ server provided by the Active Directory server
+ (ad) or a stand-alone LDAP
+ server.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bind_path_user</term>
+ <listitem><para>Specifies the search base where
+ user objects can be found in the LDAP
+ server.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>bind_path_group</term>
+ <listitem><para>Specifies the search base where
+ group objects can be found in the LDAP
+ server.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>user_cn = &lt;yes | no&gt;</term>
+ <listitem><para>Query cn attribute instead of
+ uid attribute for the user name in LDAP. This
+ option is not required, the default is
+ no.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>realm</term>
+ <listitem><para>Append @realm to cn for groups
+ (and users if user_cn is set) in
+ LDAP queries. This option is not required, the default
+ is not to append the realm.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ldap_domain</term>
+ <listitem><para>When using the LDAP server in
+ the Active Directory server, this allows one to
+ specify the domain where to access the Active
+ Directory server. This allows using trust
+ relationships while keeping all RFC 2307
+ records in one place. This parameter is
+ optional, the default is to access the AD
+ server in the current domain to query LDAP
+ records.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ldap_url</term>
+ <listitem><para>When using a stand-alone LDAP
+ server, this parameter specifies the ldap URL
+ for accessing the LDAP
+ server.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ldap_user_dn</term>
+ <listitem><para>Defines the user DN to be used
+ for authentication. The secret for
+ authenticating this user should be stored with
+ net idmap secret (see
+ <citerefentry><refentrytitle>net</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>). If
+ absent, an anonymous bind will be
+ performed.</para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>The following example shows how to retrieve id mappings
+ from a stand-alone LDAP server. This example also shows how
+ to leave a small non conflicting range for local id allocation
+ that may be used in internal backends like BUILTIN.</para>
+
+ <programlisting>
+ [global]
+ idmap config * : backend = tdb
+ idmap config * : range = 1000000-1999999
+
+ idmap config DOMAIN : backend = rfc2307
+ idmap config DOMAIN : range = 2000000-2999999
+ idmap config DOMAIN : ldap_server = stand-alone
+ idmap config DOMAIN : ldap_url = ldap://ldap1.example.com
+ idmap config DOMAIN : ldap_user_dn = cn=ldapmanager,dc=example,dc=com
+ idmap config DOMAIN : bind_path_user = ou=People,dc=example,dc=com
+ idmap config DOMAIN : bind_path_group = ou=Group,dc=example,dc=com
+ </programlisting>
+</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/idmap_rid.8.xml b/docs-xml/manpages/idmap_rid.8.xml
new file mode 100644
index 0000000..de2f89d
--- /dev/null
+++ b/docs-xml/manpages/idmap_rid.8.xml
@@ -0,0 +1,126 @@
+<?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="idmap_rid.8">
+
+<refmeta>
+ <refentrytitle>idmap_rid</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>idmap_rid</refname>
+ <refpurpose>Samba's idmap_rid Backend for Winbind</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <title>DESCRIPTION</title>
+ <para>The idmap_rid backend provides a way to use an algorithmic
+ mapping scheme to map UIDs/GIDs and SIDs. No database is required
+ in this case as the mapping is deterministic.</para>
+
+ <para>
+ Currently, there should to be an explicit idmap configuration for each
+ domain that should use the idmap_rid backend, using disjoint ranges.
+ </para>
+
+ <para>
+ NOTE: The idmap_rid backend can NOT be used as the default backend.
+ One usually needs to define a writeable default idmap range, using
+ a backend like <parameter>tdb</parameter> or <parameter>ldap</parameter>
+ that can create unix ids, in order to be able to map the BUILTIN sids
+ and other domains, and also in order to be able to create group mappings.
+ See the example below.
+ </para>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>IDMAP OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>range = low - high</term>
+ <listitem><para>
+ Defines the available matching uid and gid range for which the
+ backend is authoritative. Note that the range acts as a filter.
+ If algorithmically determined UID or GID fall outside the
+ range, they are ignored and the corresponding map is discarded.
+ It is intended as a way to avoid accidental UID/GID overlaps
+ between local and remotely defined IDs.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>base_rid = INTEGER</term>
+ <listitem><para>
+ Defines the base integer used to build SIDs out of a UID or a GID,
+ and to rebase the UID or GID to be obtained from a SID.
+ This means SIDs with a RID less than the base rid are filtered.
+ The default is not to restrict the allowed rids at all,
+ i.e. a base_rid value of 0.
+ </para>
+ <para>
+ Use of this parameter is deprecated.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>THE MAPPING FORMULAS</title>
+ <para>
+ The Unix ID for a RID is calculated this way:
+ <programlisting>
+ ID = RID - BASE_RID + LOW_RANGE_ID.
+ </programlisting>
+ </para>
+ <para>
+ Correspondingly, the formula for calculating the RID for a
+ given Unix ID is this:
+ <programlisting>
+ RID = ID + BASE_RID - LOW_RANGE_ID.
+ </programlisting>
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+ <para>
+ This example shows how to configure two domains with idmap_rid,
+ the principal domain and a trusted domain, leaving the default
+ id mapping scheme at tdb. The example also demonstrates the use
+ of the base_rid parameter for the trusted domain.
+ </para>
+
+ <programlisting>
+ [global]
+ security = domain
+ workgroup = MAIN
+
+ idmap config * : backend = tdb
+ idmap config * : range = 1000000-1999999
+
+ idmap config MAIN : backend = rid
+ idmap config MAIN : range = 10000 - 49999
+
+ idmap config TRUSTED : backend = rid
+ idmap config TRUSTED : range = 50000 - 99999
+ idmap config TRUSTED : base_rid = 500000
+ </programlisting>
+</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/idmap_script.8.xml b/docs-xml/manpages/idmap_script.8.xml
new file mode 100644
index 0000000..332eb90
--- /dev/null
+++ b/docs-xml/manpages/idmap_script.8.xml
@@ -0,0 +1,173 @@
+<?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="idmap_script.8">
+
+<refmeta>
+ <refentrytitle>idmap_script</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>idmap_script</refname>
+ <refpurpose>Samba's idmap_script Backend for Winbind</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <title>DESCRIPTION</title>
+
+ <para>
+ The idmap_script plugin is a substitute for the idmap_tdb2
+ backend used by winbindd for storing SID/uid/gid mapping tables
+ in clustered environments with Samba and CTDB. It is a read only
+ backend that uses a script to perform mapping.
+ </para>
+
+ <para>
+ It was developed out of the idmap_tdb2 back end and does not store
+ SID/uid/gid mappings in a TDB, since the winbind_cache tdb will
+ store the mappings once they are provided.
+ </para>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>IDMAP OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>range = low - high</term>
+ <listitem><para>
+ Defines the available matching uid and gid range for which the
+ backend is authoritative.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>script</term>
+ <listitem><para>
+ This option can be used to configure an external program
+ for performing id mappings.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>IDMAP SCRIPT</title>
+
+ <para>
+ The script idmap backend supports an external program for performing id mappings
+ through the &smb.conf; option <parameter>idmap config * : script</parameter> or
+ its deprecated legacy form <parameter>idmap : script</parameter>.
+ </para>
+
+ <para>
+ The script should accept the following command line options.
+ </para>
+
+ <programlisting>
+ SIDTOID S-1-xxxx
+ IDTOSID UID xxxx
+ IDTOSID GID xxxx
+ IDTOSID XID xxxx
+ </programlisting>
+
+ <para>
+ And it should return one of the following responses as a single line of
+ text.
+ </para>
+
+ <programlisting>
+ UID:yyyy
+ GID:yyyy
+ XID:yyyy
+ SID:ssss
+ ERR:yyyy
+ </programlisting>
+
+ <para>
+ XID indicates that the ID returned should be both a UID and a GID.
+ That is, it requests an ID_TYPE_BOTH, but it is ultimately up to
+ the script whether or not it can honor that request. It can choose
+ to return a UID or a GID mapping only.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>
+ This example shows how script is used as the default idmap backend
+ using an external program via the script parameter:
+ </para>
+
+ <programlisting>
+ [global]
+ idmap config * : backend = script
+ idmap config * : range = 1000000-2000000
+ idmap config * : script = /usr/local/samba/bin/idmap_script.sh
+ </programlisting>
+
+ <para>
+ This shows a simple script to partially perform the task:
+ </para>
+
+ <programlisting>
+ #!/bin/sh
+ #
+ # Uncomment this if you want some logging
+ #echo $@ >> /tmp/idmap.sh.log
+ if [ "$1" == "SIDTOID" ]
+ then
+ # Note. The number returned has to be within the range defined
+ #echo "Sending UID:1000005" >> /tmp/idmap.sh.log
+ echo "UID:1000005"
+ exit 0
+ else
+ #echo "Sending ERR: No idea what to do" >> /tmp/idmap.sh.log
+ echo "ERR: No idea what to do"
+ exit 1
+ fi
+ </programlisting>
+
+ <para>
+ Clearly, this script is not enough, as it should probably use wbinfo
+ to determine if an incoming SID is a user or group SID and then
+ look up the mapping in a table or use some other mechanism for
+ mapping SIDs to UIDs and etc.
+ </para>
+
+ <para>
+ Please be aware that the script is called with the
+ _NO_WINBINDD environment variable set to 1. This prevents
+ recursive calls into winbind from the script both via
+ explicit calls to wbinfo and via implicit calls via
+ nss_winbind. For example a call to <command>ls -l</command>
+ could trigger such an infinite recursion.
+ </para>
+
+ <para>
+ It is safe to call <command>wbinfo -n</command> and
+ <command>wbinfo -s</command> from within an idmap script. To
+ do so, the script must unset the _NO_WINBINDD environment
+ variable right before the call to <command>wbinfo</command>
+ and set it to 1 again right after <command>wbinfo</command>
+ has returned to protect against the recursion.
+ </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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/idmap_tdb.8.xml b/docs-xml/manpages/idmap_tdb.8.xml
new file mode 100644
index 0000000..a99830d
--- /dev/null
+++ b/docs-xml/manpages/idmap_tdb.8.xml
@@ -0,0 +1,75 @@
+<?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="idmap_tdb.8">
+
+<refmeta>
+ <refentrytitle>idmap_tdb</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>idmap_tdb</refname>
+ <refpurpose>Samba's idmap_tdb Backend for Winbind</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <title>DESCRIPTION</title>
+
+ <para>
+ The idmap_tdb plugin is the default backend used by winbindd
+ for storing SID/uid/gid mapping tables.
+ </para>
+
+ <para>
+ In contrast to read only backends like idmap_rid, it is an allocating
+ backend: This means that it needs to allocate new user and group IDs in
+ order to create new mappings.
+ </para>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>IDMAP OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>range = low - high</term>
+ <listitem><para>
+ Defines the available matching uid and gid range for which the
+ backend is authoritative.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>
+ This example shows how tdb is used as the default idmap backend.
+ This configured range is used for uid and gid allocation.
+ </para>
+
+ <programlisting>
+ [global]
+ # "backend = tdb" is redundant here since it is the default
+ idmap config * : backend = tdb
+ idmap config * : range = 1000000-2000000
+ </programlisting>
+</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/idmap_tdb2.8.xml b/docs-xml/manpages/idmap_tdb2.8.xml
new file mode 100644
index 0000000..ee253ce
--- /dev/null
+++ b/docs-xml/manpages/idmap_tdb2.8.xml
@@ -0,0 +1,137 @@
+<?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="idmap_tdb2.8">
+
+<refmeta>
+ <refentrytitle>idmap_tdb2</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>idmap_tdb2</refname>
+ <refpurpose>Samba's idmap_tdb2 Backend for Winbind</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <title>DESCRIPTION</title>
+
+ <para>
+ The idmap_tdb2 plugin is a substitute for the default idmap_tdb
+ backend used by winbindd for storing SID/uid/gid mapping tables
+ in clustered environments with Samba and CTDB.
+ </para>
+
+ <para>
+ In contrast to read only backends like idmap_rid, it is an allocating
+ backend: This means that it needs to allocate new user and group IDs in
+ order to create new mappings.
+ </para>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>IDMAP OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>range = low - high</term>
+ <listitem><para>
+ Defines the available matching uid and gid range for which the
+ backend is authoritative.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>script</term>
+ <listitem><para>
+ This option can be used to configure an external program
+ for performing id mappings instead of using the tdb
+ counter. The mappings are then stored int tdb2 idmap
+ database. For details see the section on IDMAP SCRIPT below.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>IDMAP SCRIPT</title>
+
+ <para>
+ The tdb2 idmap backend supports an external program for performing id mappings
+ through the smb.conf option <parameter>idmap config * : script</parameter> or
+ its deprecated legacy form <parameter>idmap : script</parameter>.
+ </para>
+
+ <para>
+ The mappings obtained by the script are then stored in the idmap tdb2
+ database instead of mappings created by the incrementing id counters.
+ It is therefore important that the script covers the complete range of
+ SIDs that can be passed in for SID to Unix ID mapping, since otherwise
+ SIDs unmapped by the script might get mapped to IDs that had
+ previously been mapped by the script.
+ </para>
+
+ <para>
+ The script should accept the following command line options.
+ </para>
+
+ <programlisting>
+ SIDTOID S-1-xxxx
+ IDTOSID UID xxxx
+ IDTOSID GID xxxx
+ </programlisting>
+
+ <para>
+ And it should return one of the following responses as a single line of
+ text.
+ </para>
+
+ <programlisting>
+ UID:yyyy
+ GID:yyyy
+ SID:yyyy
+ ERR:yyyy
+ </programlisting>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>
+ This example shows how tdb2 is used as the default idmap backend.
+ </para>
+
+ <programlisting>
+ [global]
+ idmap config * : backend = tdb2
+ idmap config * : range = 1000000-2000000
+ </programlisting>
+
+ <para>
+ This example shows how tdb2 is used as the default idmap backend
+ using an external program via the script parameter:
+ </para>
+
+ <programlisting>
+ [global]
+ idmap config * : backend = tdb2
+ idmap config * : range = 1000000-2000000
+ idmap config * : script = /usr/local/samba/bin/idmap_script.sh
+ </programlisting>
+</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/libsmbclient.7.xml b/docs-xml/manpages/libsmbclient.7.xml
new file mode 100644
index 0000000..a08a4ae
--- /dev/null
+++ b/docs-xml/manpages/libsmbclient.7.xml
@@ -0,0 +1,141 @@
+<?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="libsmbclient.7">
+
+<refmeta>
+ <refentrytitle>libsmbclient</refentrytitle>
+ <manvolnum>7</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">7</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>libsmbclient</refname>
+ <refpurpose>An extension library for browsers and that can be used as a generic browsing API.</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <para>
+ Browser URL:
+ <command moreinfo="none">smb://[[[domain:]user[:password@]]server[/share[/path[/file]]]] [?options]
+ </command>
+ </para>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>
+ This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.
+ </para>
+
+ <para>
+ <command>libsmbclient</command> is a library toolset that permits applications to manipulate CIFS/SMB network
+ resources using many of the standards POSIX functions available for manipulating local UNIX/Linux files. It
+ permits much more than just browsing, files can be opened and read or written, permissions changed, file times
+ modified, attributes and ACL's can be manipulated, and so on. Of course, its functionality includes all the
+ capabilities commonly called browsing.
+ </para>
+
+ <para>
+ <command>libsmbclient</command> can not be used directly from the command line, instead it provides an
+ extension of the capabilities of tools such as file managers and browsers. This man page describes the
+ configuration options for this tool so that the user may obtain greatest utility of use.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <para>
+ What the URLs mean:
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>smb://</term>
+ <listitem><para>
+ Shows all workgroups or domains that are visible in the network. The behavior matches
+ that of the Microsoft Windows Explorer.
+ </para>
+
+ <para>
+ The method of locating the list of workgroups (domains also) varies depending on the setting of
+ the context variable <literal>(context-&gt;options.browse_max_lmb_count)</literal>. It is the
+ responsibility of the application that calls this library to set this to a sensible value. This
+ is a compile-time option. This value determines the maximum number of local master browsers to
+ query for the list of workgroups. In order to ensure that the list is complete for those present
+ on the network, all master browsers must be queried. If there are a large number of workgroups
+ on the network, the time spent querying will be significant. For small networks (just a few
+ workgroups), it is suggested to set this value to 0, instructing libsmbclient to query all local
+ master browsers. In an environment that has many workgroups a more reasonable setting may be around 3.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>smb://name/</term>
+ <listitem><para>
+ This command causes libsmbclient to perform a name look-up. If the NAME&lt;1D&gt; or
+ NAME&lt;1B&gt; exists (workgroup name), libsmbclient will list all servers in the
+ workgroup (or domain). Otherwise, a name look-up for the NAME&lt;20&gt; (machine name)
+ will be performed, and the list of shared resources on the server will be displayed.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>
+ When libsmbclient is invoked by an application it searches for a directory called
+ <filename>.smb</filename> in the $HOME directory that is specified in the users shell
+ environment. It then searches for a file called <filename>smb.conf</filename> which,
+ if present, will fully over-ride the system &smb.conf; file. If
+ instead libsmbclient finds a file called <filename>~/.smb/smb.conf.append</filename>,
+ it will read the system <filename>/etc/samba/smb.conf</filename> and then append the
+ contents of the <filename>~/.smb/smb.conf.append</filename> to it.
+ </para>
+
+ <para>
+ <command>libsmbclient</command> will check the users shell environment for the <literal>USER</literal>
+ parameter and will use its value when if the <literal>user</literal> parameter was not included
+ in the URL.
+ </para>
+
+</refsect1>
+
+<refsect1>
+ <title>PROGRAMMERS GUIDE</title>
+
+ <para>
+ Watch this space for future updates.
+ </para>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>
+ This man page is part of version &doc.version; 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 libsmbclient manpage page was written by John H Terpstra.
+ </para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/lmhosts.5.xml b/docs-xml/manpages/lmhosts.5.xml
new file mode 100644
index 0000000..39bfcf8
--- /dev/null
+++ b/docs-xml/manpages/lmhosts.5.xml
@@ -0,0 +1,118 @@
+<?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="lmhosts.5">
+
+<refmeta>
+ <refentrytitle>lmhosts</refentrytitle>
+ <manvolnum>5</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">File Formats and Conventions</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>lmhosts</refname>
+ <refpurpose>The Samba NetBIOS hosts file</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <para><filename>lmhosts</filename> is the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> NetBIOS name to IP address mapping file.</para>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This file is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para><filename>lmhosts</filename> is the <emphasis>Samba
+ </emphasis> NetBIOS name to IP address mapping file. It
+ is very similar to the <filename>/etc/hosts</filename> file
+ format, except that the hostname component must correspond
+ to the NetBIOS naming format.</para>
+</refsect1>
+
+<refsect1>
+ <title>FILE FORMAT</title>
+ <para>It is an ASCII file containing one line for NetBIOS name.
+ The two fields on each line are separated from each other by
+ white space. Any entry beginning with '#' is ignored. Each line
+ in the lmhosts file contains the following information:</para>
+
+ <itemizedlist>
+ <listitem><para>IP Address - in dotted decimal format.</para>
+ </listitem>
+
+ <listitem><para>NetBIOS Name - This name format is a
+ maximum fifteen character host name, with an optional
+ trailing '#' character followed by the NetBIOS name type
+ as two hexadecimal digits.</para>
+
+ <para>If the trailing '#' is omitted then the given IP
+ address will be returned for all names that match the given
+ name, whatever the NetBIOS name type in the lookup.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>An example follows:
+<programlisting>
+#
+# Sample Samba lmhosts file.
+#
+192.9.200.1 TESTPC
+192.9.200.20 NTSERVER#20
+192.9.200.21 SAMBASERVER
+</programlisting>
+ </para>
+
+ <para>Contains three IP to NetBIOS name mappings. The first
+ and third will be returned for any queries for the names "TESTPC"
+ and "SAMBASERVER" respectively, whatever the type component of
+ the NetBIOS name requested.</para>
+
+ <para>The second mapping will be returned only when the "0x20" name
+ type for a name "NTSERVER" is queried. Any other name type will not
+ be resolved.</para>
+
+ <para>The default location of the <filename>lmhosts</filename> file
+ is in the same directory as the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> file.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>FILES</title>
+
+ <para>lmhosts is loaded from the configuration directory. This is
+ usually <filename>/etc/samba</filename> or <filename>/usr/local/samba/lib</filename>.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry>
+ <refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum>
+ </citerefentry>, <citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
+ </citerefentry>, and <citerefentry><refentrytitle>smbpasswd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>
+ </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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/log2pcap.1.xml b/docs-xml/manpages/log2pcap.1.xml
new file mode 100644
index 0000000..fafe6de
--- /dev/null
+++ b/docs-xml/manpages/log2pcap.1.xml
@@ -0,0 +1,138 @@
+<?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="log2pcap.1">
+
+<refmeta>
+ <refentrytitle>log2pcap</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>log2pcap</refname>
+ <refpurpose>Extract network traces from Samba log files</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>log2pcap</command>
+ <arg choice="opt">-h</arg>
+ <arg choice="opt">-q</arg>
+ <arg choice="opt">logfile</arg>
+ <arg choice="opt">pcap_file</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><command>log2pcap</command> reads in a
+ samba log file and generates a pcap file (readable
+ by most sniffers, such as ethereal or tcpdump) based on the packet
+ dumps in the log file.</para>
+
+ <para>The log file must have a <parameter>log level</parameter>
+ of at least <constant>5</constant> to get the SMB header/parameters
+ right, <constant>10</constant> to get the first 512 data bytes of the
+ packet and <constant>50</constant> to get the whole packet.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-h</term>
+ <listitem><para>If this parameter is
+ specified the output file will be a
+ hex dump, in a format that is readable
+ by the <application>text2pcap</application> utility.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-q</term>
+ <listitem><para>Be quiet. No warning messages about missing
+ or incomplete data will be given.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>logfile</term>
+ <listitem><para>
+ Samba log file. log2pcap will try to read the log from stdin
+ if the log file is not specified.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>pcap_file</term>
+ <listitem><para>
+ Name of the output file to write the pcap (or hexdump) data to.
+ If this argument is not specified, output data will be written
+ to stdout.
+ </para></listitem>
+ </varlistentry>
+
+ &stdarg.help;
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Extract all network traffic from all samba log files:</para>
+
+ <para><programlisting>
+ <prompt>$</prompt> log2pcap &lt; /var/log/* &gt; trace.pcap
+ </programlisting></para>
+
+ <para>Convert to pcap using text2pcap:</para>
+
+ <para><programlisting>
+ <prompt>$</prompt> log2pcap -h samba.log | text2pcap -T 139,139 - trace.pcap
+ </programlisting></para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>BUGS</title>
+
+ <para>Only SMB data is extracted from the samba logs, no LDAP,
+ NetBIOS lookup or other data.</para>
+
+ <para>The generated TCP and IP headers don't contain a valid
+ checksum.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>text2pcap</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>ethereal</refentrytitle><manvolnum>1</manvolnum></citerefentry></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>This manpage was written by Jelmer Vernooij.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/mdsearch.1.xml b/docs-xml/manpages/mdsearch.1.xml
new file mode 100644
index 0000000..e5b443f
--- /dev/null
+++ b/docs-xml/manpages/mdsearch.1.xml
@@ -0,0 +1,179 @@
+<?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="mdsearch.1">
+
+ <refmeta>
+ <refentrytitle>mdsearch</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname>mdsearch</refname>
+ <refpurpose>Run Spotlight searches against an SMB server</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>mdfine</command>
+ <arg choice="req">server</arg>
+ <arg choice="req">sharename</arg>
+ <arg choice="req">query</arg>
+ <arg choice="opt">-p, --path=STRING</arg>
+ <arg choice="opt">-L, --live</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</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>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> suite.</para>
+
+ <para>mdsearch is a simple utility to run Spotlight searches against an SMB server
+ that runs the Spotlight <emphasis>mdssvc</emphasis> RPC service.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>server</term>
+ <listitem>
+ <para>The SMB server name or IP address to connect to.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>sharename</term>
+ <listitem>
+ <para>The name of a share on the server.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>query</term>
+ <listitem>
+ <para>The query expression syntax is a simplified form of filename
+ globbing familiar to shell users. Queries have the following
+ format:</para>
+
+ <para>attribute=="value"</para>
+
+ <para>For queries against a Samba server with Spotlight enabled using
+ the Elasticsearch backend, the list of supported metadata attributes
+ is given by the JSON attribute mapping file, typically installed at
+ <filename>/usr/share/samba/mdssvc/elasticsearch_mappings.json</filename>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-p PATH, --path=PATH</term>
+ <listitem>
+ <para>Server side path to search, defaults to
+ <emphasis>"/"</emphasis></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-L, --live</term>
+ <listitem><para>Query remains running.</para></listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ &cmdline.common.credentials;
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Search all indexed metadata attributes, exact match:</para>
+ <programlisting>
+ '*=="Samba"'
+ </programlisting>
+
+ <para>Search all indexed metadata attributes, prefix match:</para>
+ <programlisting>
+ '*=="Samba*"'
+ </programlisting>
+
+ <para>Search by filename:</para>
+ <programlisting>
+ 'kMDItemFSName=="Samba*"'
+ </programlisting>
+
+ <para>Search by date:</para>
+ <programlisting>
+ 'kMDItemFSContentChangeDate&lt;$time.iso(2018-10-01T10:00:00Z)'
+ </programlisting>
+
+ <para>Search files's content:</para>
+ <programlisting>
+ 'kMDItemTextContent=="Samba*"'
+ </programlisting>
+
+ <para>Expressions:</para>
+ <programlisting>
+ kMDItemFSName=="Samba*"||kMDItemTextContent=="Tango*"'
+ </programlisting>
+ </refsect1>
+
+ <refsect1>
+ <title>SEE ALSO</title>
+
+ <para>File Metadata Search Programming Guide
+ <ulink url="https://developer.apple.com/library/archive/documentation/Carbon/Conceptual/SpotlightQuery/Concepts/Introduction.html">
+ https://developer.apple.com/library/archive/documentation/Carbon/Conceptual/SpotlightQuery/Concepts/Introduction.html</ulink>
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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 mdsearch manpage was written by Ralph Boehme.</para>
+ </refsect1>
+</refentry>
diff --git a/docs-xml/manpages/mvxattr.1.xml b/docs-xml/manpages/mvxattr.1.xml
new file mode 100644
index 0000000..59048ce
--- /dev/null
+++ b/docs-xml/manpages/mvxattr.1.xml
@@ -0,0 +1,100 @@
+<?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="mvxattr.1">
+
+<refmeta>
+ <refentrytitle>mvxattr</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>mvxattr</refname>
+ <refpurpose>Recursively rename extended attributes</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>mvxattr</command>
+ <arg choice="req">-s STRING, --from=STRING</arg>
+ <arg choice="req">-d STRING, --to=STRING</arg>
+ <arg choice="opt">-l, --follow-symlinks</arg>
+ <arg choice="opt">-p, --print</arg>
+ <arg choice="opt">-v, --verbose</arg>
+ <arg choice="opt">-f, --force</arg>
+ <arg choice="req">PATH [PATH ...]</arg>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> suite.</para>
+
+ <para>mvxattr is a simple utility to recursively rename extended
+ attributes.</para>
+
+ <para>By default all symlinks are ignored, use <option>-l</option> to
+ follow them.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-s STRING, --from=STRING</term>
+ <listitem><para>Source xattr name</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-d STRING, --to=STRING</term>
+ <listitem><para>Destination xattr name</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-l, --follow-symlinks</term>
+ <listitem><para>Follow symlinks, the default is to ignore
+ them.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-p, --print</term>
+ <listitem><para>Print files where the xattr got renamed.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-v, --verbose</term>
+ <listitem><para>Print files as they are checked.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-f, --force</term>
+ <listitem><para>Force overwriting of destination xattr.</para></listitem>
+ </varlistentry>
+ </variablelist>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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 mvxattr manpage was written by Ralph Boehme.</para>
+
+</refsect1>
+
+</refentry>
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>
diff --git a/docs-xml/manpages/nfs4.xml.include b/docs-xml/manpages/nfs4.xml.include
new file mode 100644
index 0000000..29cad9e
--- /dev/null
+++ b/docs-xml/manpages/nfs4.xml.include
@@ -0,0 +1,57 @@
+<variablelist>
+
+<varlistentry>
+ <term>nfs4:mode = [ simple | special ]</term>
+ <listitem>
+ <para>
+ Controls substitution of special IDs (OWNER@ and GROUP@) on NFS4 ACLs.
+ The use of mode simple is recommended.
+ In this mode only non inheriting ACL entries for the file owner
+ and group are mapped to special IDs.
+ </para>
+
+ <para>The following MODEs are understood by the module:</para>
+ <itemizedlist>
+ <listitem><para><command>simple(default)</command> - use OWNER@ and GROUP@ special IDs for non inheriting ACEs only.</para></listitem>
+ <listitem><para><command>special(deprecated)</command> - use OWNER@ and GROUP@ special IDs in ACEs for all file owner and group ACEs.</para></listitem>
+ </itemizedlist>
+ </listitem>
+
+</varlistentry>
+
+<varlistentry>
+ <term>nfs4:acedup = [dontcare|reject|ignore|merge]</term>
+ <listitem>
+ <para>
+ This parameter configures how Samba handles duplicate ACEs encountered in NFS4 ACLs.
+ They allow creating duplicate ACEs with different bits for same ID, which may confuse the Windows clients.
+ </para>
+
+ <para>Following is the behaviour of Samba for different values :</para>
+ <itemizedlist>
+ <listitem><para><command>dontcare</command> - copy the ACEs as they come</para></listitem>
+ <listitem><para><command>reject (deprecated)</command> - stop operation and exit with error on ACL set op</para></listitem>
+ <listitem><para><command>ignore (deprecated)</command> - don't include the second matching ACE</para></listitem>
+ <listitem><para><command>merge (default)</command> - bitwise OR the 2 ace.flag fields and 2 ace.mask fields of the 2 duplicate ACEs into 1 ACE</para></listitem>
+ </itemizedlist>
+ </listitem>
+</varlistentry>
+
+
+<varlistentry>
+ <term>nfs4:chown = [yes|no]</term>
+ <listitem>
+ <para>This parameter allows enabling or disabling the chown supported
+ by the underlying filesystem. This parameter should be enabled with
+ care as it might leave your system insecure.</para>
+ <para>Some filesystems allow chown as a) giving b) stealing. It is the latter
+ that is considered a risk.</para>
+ <para>Following is the behaviour of Samba for different values : </para>
+ <itemizedlist>
+ <listitem><para><command>yes</command> - Enable chown if as supported by the under filesystem</para></listitem>
+ <listitem><para><command>no (default)</command> - Disable chown</para></listitem>
+ </itemizedlist>
+ </listitem>
+</varlistentry>
+
+</variablelist>
diff --git a/docs-xml/manpages/nmbd.8.xml b/docs-xml/manpages/nmbd.8.xml
new file mode 100644
index 0000000..5400a67
--- /dev/null
+++ b/docs-xml/manpages/nmbd.8.xml
@@ -0,0 +1,291 @@
+<?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="nmbd.8">
+
+<refmeta>
+ <refentrytitle>nmbd</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>nmbd</refname>
+ <refpurpose>NetBIOS name server to provide NetBIOS
+ over IP naming services to clients</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>nmbd</command>
+ <arg choice="opt">-D|--daemon</arg>
+ <arg choice="opt">-i|--interactive</arg>
+ <arg choice="opt">-F|--foreground</arg>
+ <arg choice="opt">--no-process-group</arg>
+ <arg choice="opt">-b|--build-options</arg>
+ <arg choice="opt">-p &lt;port number(s)&gt;</arg>
+ <arg choice="opt">-P &lt;profiling level&gt;</arg>
+ <arg choice="opt">-d &lt;debug level&gt;</arg>
+ <arg choice="opt">--debug-stdout</arg>
+ <arg choice="opt">--configfile=&lt;configuration file&gt;</arg>
+ <arg choice="opt">--option=&lt;name&gt;=&lt;value&gt;</arg>
+ <arg choice="opt">-l|--log-basename &lt;log directory&gt;</arg>
+ <arg choice="opt">--leak-report</arg>
+ <arg choice="opt">--leak-report-full</arg>
+ <arg choice="opt">-V|--version</arg>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+ <para>This program is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para><command>nmbd</command> is a server that understands
+ and can reply to NetBIOS over IP name service requests, like
+ those produced by SMB/CIFS clients such as Windows 95/98/ME,
+ Windows NT, Windows 2000, Windows XP and LanManager clients. It also
+ participates in the browsing protocols which make up the
+ Windows "Network Neighborhood" view.</para>
+
+ <para>SMB/CIFS clients, when they start up, may wish to
+ locate an SMB/CIFS server. That is, they wish to know what
+ IP number a specified host is using.</para>
+
+ <para>Amongst other services, <command>nmbd</command> will
+ listen for such requests, and if its own NetBIOS name is
+ specified it will respond with the IP number of the host it
+ is running on. Its "own NetBIOS name" is by
+ default the primary DNS name of the host it is running on,
+ but this can be overridden by the <smbconfoption name="netbios name"/>
+ in &smb.conf;. Thus <command>nmbd</command> will
+ reply to broadcast queries for its own name(s). Additional
+ names for <command>nmbd</command> to respond on can be set
+ via parameters in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> configuration file.</para>
+
+ <para><command>nmbd</command> can also be used as a WINS
+ (Windows Internet Name Server) server. What this basically means
+ is that it will act as a WINS database server, creating a
+ database from name registration requests that it receives and
+ replying to queries from clients for these names.</para>
+
+ <para>In addition, <command>nmbd</command> can act as a WINS
+ proxy, relaying broadcast queries from clients that do
+ not understand how to talk the WINS protocol to a WINS
+ server.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-D|--daemon</term>
+ <listitem><para>If specified, this parameter causes
+ <command>nmbd</command> to operate as a daemon. That is,
+ it detaches itself and runs in the background, fielding
+ requests on the appropriate port. By default, <command>nmbd</command>
+ will operate as a daemon if launched from a command shell.
+ nmbd can also be operated from the <command>inetd</command>
+ meta-daemon, although this is not recommended.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-F|--foreground</term>
+ <listitem><para>If specified, this parameter causes
+ the main <command>nmbd</command> process to not daemonize,
+ i.e. double-fork and disassociate with the terminal.
+ Child processes are still created as normal to service
+ each connection request, but the main process does not
+ exit. This operation mode is suitable for running
+ <command>nmbd</command> under process supervisors such
+ as <command>supervise</command> and <command>svscan</command>
+ from Daniel J. Bernstein's <command>daemontools</command>
+ package, or the AIX process monitor.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-i|--interactive</term>
+ <listitem><para>If this parameter is specified it causes the
+ server to run "interactively", not as a daemon, even if the
+ server is executed on the command line of a shell. Setting this
+ parameter negates the implicit daemon mode when run from the
+ command line. <command>nmbd</command> also logs to standard
+ output, as if the <constant>-S</constant> parameter had been
+ given. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-H|--hosts &lt;filename&gt;</term>
+ <listitem><para>NetBIOS lmhosts file. The lmhosts
+ file is a list of NetBIOS names to IP addresses that
+ is loaded by the nmbd server and used via the name
+ resolution mechanism <smbconfoption name="name resolve order"/> described in <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> to resolve any
+ NetBIOS name queries needed by the server. Note
+ that the contents of this file are <emphasis>NOT</emphasis>
+ used by <command>nmbd</command> to answer any name queries.
+ Adding a line to this file affects name NetBIOS resolution
+ from this host <emphasis>ONLY</emphasis>.</para>
+
+ <para>The default path to this file is compiled into
+ Samba as part of the build process. Common defaults
+ are <filename>/usr/local/samba/lib/lmhosts</filename>,
+ <filename>/usr/samba/lib/lmhosts</filename> or
+ <filename>/etc/samba/lmhosts</filename>. See the <citerefentry><refentrytitle>lmhosts</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> man page for details on the contents of this file.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-p|--port &lt;UDP port number&gt;</term>
+ <listitem><para>UDP port number is a positive integer value.
+ This option changes the default UDP port number (normally 137)
+ that <command>nmbd</command> responds to name queries on. Don't
+ use this option unless you are an expert, in which case you
+ won't need help!</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--no-process-group</term>
+ <listitem><para>Do not create a new process group for nmbd.
+ </para></listitem>
+ </varlistentry>
+
+ &cmdline.common.samba.server;
+ &popt.autohelp;
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>FILES</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><filename>/etc/inetd.conf</filename></term>
+ <listitem><para>If the server is to be run by the
+ <command>inetd</command> meta-daemon, this file
+ must contain suitable startup information for the
+ meta-daemon.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>/etc/rc</filename></term>
+ <listitem><para>or whatever initialization script your
+ system uses).</para>
+
+ <para>If running the server as a daemon at startup,
+ this file will need to contain an appropriate startup
+ sequence for the server.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>/etc/services</filename></term>
+ <listitem><para>If running the server via the
+ meta-daemon <command>inetd</command>, this file
+ must contain a mapping of service name (e.g., netbios-ssn)
+ to service port (e.g., 139) and protocol type (e.g., tcp).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>/usr/local/samba/lib/smb.conf</filename></term>
+ <listitem><para>This is the default location of
+ the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> server
+ configuration file. Other common places that systems
+ install this file are <filename>/usr/samba/lib/smb.conf</filename>
+ and <filename>/etc/samba/smb.conf</filename>.</para>
+
+ <para>When run as a WINS server (see the
+ <smbconfoption name="wins support"/>
+ parameter in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> man page),
+ <command>nmbd</command>
+ will store the WINS database in the file <filename>wins.dat</filename>
+ in the <filename>var/locks</filename> directory configured under
+ wherever Samba was configured to install itself.</para>
+
+ <para>If <command>nmbd</command> is acting as a <emphasis>
+ browse master</emphasis> (see the <smbconfoption name="local master"/>
+ parameter in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> man page, <command>nmbd</command>
+ will store the browsing database in the file <filename>browse.dat
+ </filename> in the <filename>var/locks</filename> directory
+ configured under wherever Samba was configured to install itself.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>SIGNALS</title>
+
+ <para>To shut down an <command>nmbd</command> process it is recommended
+ that SIGKILL (-9) <emphasis>NOT</emphasis> be used, except as a last
+ resort, as this may leave the name database in an inconsistent state.
+ The correct way to terminate <command>nmbd</command> is to send it
+ a SIGTERM (-15) signal and wait for it to die on its own.</para>
+
+ <para><command>nmbd</command> will accept SIGHUP, which will cause
+ it to dump out its namelists into the file <filename>namelist.debug
+ </filename> in the <filename>/usr/local/samba/var/locks</filename>
+ directory (or the <filename>var/locks</filename> directory configured
+ under wherever Samba was configured to install itself). This will also
+ cause <command>nmbd</command> to dump out its server database in
+ the <filename>log.nmb</filename> file. Additionally, the signal will
+ cause reloading <command>nmbd</command> configuration.</para>
+
+ <para>
+ Instead of sending a SIGHUP signal, a request to dump namelists
+ into the file and reload a configuration file may be sent using
+ <citerefentry><refentrytitle>smbcontrol</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> program.
+ </para>
+
+ <para>The debug log level of nmbd may be raised or lowered
+ using <citerefentry><refentrytitle>smbcontrol</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> (SIGUSR[1|2] signals
+ are no longer used since Samba 2.2). This is to allow
+ transient problems to be diagnosed, whilst still running
+ at a normally low log level.</para>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of
+ the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para>
+ <citerefentry><refentrytitle>inetd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbclient</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>testparm</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, and the Internet
+ RFC's <filename>rfc1001.txt</filename>, <filename>rfc1002.txt</filename>.
+ In addition the CIFS (formerly SMB) specification is available
+ as a link from the Web page <ulink noescape="1" url="https://www.samba.org/cifs/">
+ https://www.samba.org/cifs/</ulink>.</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/nmblookup.1.xml b/docs-xml/manpages/nmblookup.1.xml
new file mode 100644
index 0000000..08b0882
--- /dev/null
+++ b/docs-xml/manpages/nmblookup.1.xml
@@ -0,0 +1,225 @@
+<?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="nmblookup">
+
+<refmeta>
+ <refentrytitle>nmblookup</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>nmblookup</refname>
+ <refpurpose>NetBIOS over TCP/IP client used to lookup NetBIOS
+ names</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>nmblookup</command>
+ <arg choice="opt">-M|--master-browser</arg>
+ <arg choice="opt">--recursion</arg>
+ <arg choice="opt">-S|--status</arg>
+ <arg choice="opt">-r|--root-port</arg>
+ <arg choice="opt">-A|--lookup-by-ip</arg>
+ <arg choice="opt">-B|--broadcast=BROADCAST-ADDRESS</arg>
+ <arg choice="opt">-U|--unicast=UNICAST-ADDRESS</arg>
+ <arg choice="opt">-T|--translate</arg>
+ <arg choice="opt">-f|--flags</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</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="req">name</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><command>nmblookup</command> is used to query NetBIOS names
+ and map them to IP addresses in a network using NetBIOS over TCP/IP
+ queries. The options allow the name queries to be directed at a
+ particular IP broadcast area or to a particular machine. All queries
+ are done over UDP.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-M|--master-browser</term>
+ <listitem><para>Searches for a master browser by looking
+ up the NetBIOS <replaceable>name</replaceable> with a
+ type of <constant>0x1d</constant>. If <replaceable>
+ name</replaceable> is "-" then it does a lookup on the special name
+ <constant>__MSBROWSE__</constant>. Please note that in order to
+ use the name "-", you need to make sure "-" isn't parsed as an
+ argument, e.g. use :
+ <userinput>nmblookup -M -- -</userinput>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--recursion</term>
+ <listitem><para>Set the recursion desired bit in the packet
+ to do a recursive lookup. This is used when sending a name
+ query to a machine running a WINS server and the user wishes
+ to query the names in the WINS server. If this bit is unset
+ the normal (broadcast responding) NetBIOS processing code
+ on a machine is used instead. See RFC1001, RFC1002 for details.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-S|--status</term>
+ <listitem><para>Once the name query has returned an IP
+ address then do a node status query as well. A node status
+ query returns the NetBIOS names registered by a host.
+ </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-r|--root-port</term>
+ <listitem><para>Try and bind to UDP port 137 to send and receive UDP
+ datagrams. The reason for this option is a bug in Windows 95
+ where it ignores the source port of the requesting packet
+ and only replies to UDP port 137. Unfortunately, on most UNIX
+ systems root privilege is needed to bind to this port, and
+ in addition, if the <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon is running on this machine it also binds to this port.
+ </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-A|--lookup-by-ip</term>
+ <listitem><para>Interpret <replaceable>name</replaceable> as
+ an IP Address and do a node status query on this address.</para>
+ </listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-B|--broadcast &lt;broadcast address&gt;</term>
+ <listitem><para>Send the query to the given broadcast address. Without
+ this option the default behavior of nmblookup is to send the
+ query to the broadcast address of the network interfaces as
+ either auto-detected or defined in the <ulink
+ url="smb.conf.5.html#INTERFACES"><parameter>interfaces</parameter>
+ </ulink> parameter of the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> file.
+ </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-U|--unicast &lt;unicast address&gt;</term>
+ <listitem><para>Do a unicast query to the specified address or
+ host <replaceable>unicast address</replaceable>. This option
+ (along with the <parameter>-R</parameter> option) is needed to
+ query a WINS server.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-T|--translate</term>
+ <listitem><para>This causes any IP addresses found in the
+ lookup to be looked up via a reverse DNS lookup into a
+ DNS name, and printed out before each</para>
+
+ <para><emphasis>IP address .... NetBIOS name</emphasis></para>
+
+ <para> pair that is the normal output.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-f|--flags</term>
+ <listitem><para>
+ Show which flags apply to the name that has been looked up. Possible
+ answers are zero or more of: Response, Authoritative,
+ Truncated, Recursion_Desired, Recursion_Available, Broadcast.
+ </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>name</term>
+ <listitem><para>This is the NetBIOS name being queried. Depending
+ upon the previous options this may be a NetBIOS name or IP address.
+ If a NetBIOS name then the different name types may be specified
+ by appending '#&lt;type&gt;' to the name. This name may also be
+ '*', which will return all registered names within a broadcast
+ area.</para></listitem>
+ </varlistentry>
+
+ &cmdline.common.samba.client;
+ &cmdline.common.connection;
+ &popt.autohelp;
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para><command>nmblookup</command> can be used to query
+ a WINS server (in the same way <command>nslookup</command> is
+ used to query DNS servers). To query a WINS server, <command>nmblookup</command>
+ must be called like this:</para>
+
+ <para><command>nmblookup -U server -R 'name'</command></para>
+
+ <para>For example, running :</para>
+
+ <para><command>nmblookup -U samba.org -R 'IRIX#1B'</command></para>
+
+ <para>would query the WINS server samba.org for the domain
+ master browser (1B name type) for the IRIX workgroup.</para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of
+ the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry>, and <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>.</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/ntlm_auth.1.xml b/docs-xml/manpages/ntlm_auth.1.xml
new file mode 100644
index 0000000..c7f810e
--- /dev/null
+++ b/docs-xml/manpages/ntlm_auth.1.xml
@@ -0,0 +1,460 @@
+<?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="ntlm-auth.1">
+
+<refmeta>
+ <refentrytitle>ntlm_auth</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>ntlm_auth</refname>
+ <refpurpose>tool to allow external access to Winbind's NTLM authentication function</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>ntlm_auth</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para><command>ntlm_auth</command> is a helper utility that authenticates
+ users using NT/LM authentication. It returns 0 if the users is authenticated
+ successfully and 1 if access was denied. ntlm_auth uses winbind to access
+ the user and authentication data for a domain. This utility
+ is only intended to be used by other programs (currently
+ <ulink url="https://www.squid-cache.org/">Squid</ulink>
+ and <ulink url="https://www.samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/">mod_ntlm_winbind</ulink>).
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPERATIONAL REQUIREMENTS</title>
+
+ <para>
+ The <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon must be operational
+ for many of these commands to function.</para>
+
+ <para>Some of these commands also require access to the directory
+ <filename>winbindd_privileged</filename> in
+ <filename>$LOCKDIR</filename>. This should be done either by running
+ this command as root or providing group access
+ to the <filename>winbindd_privileged</filename> directory. For
+ security reasons, this directory should not be world-accessable. </para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>--helper-protocol=PROTO</term>
+ <listitem><para>
+ Operate as a stdio-based helper. Valid helper protocols are:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>squid-2.4-basic</term>
+ <listitem><para>
+ Server-side helper for use with Squid 2.4's basic (plaintext)
+ authentication. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>squid-2.5-basic</term>
+ <listitem><para>
+ Server-side helper for use with Squid 2.5's basic (plaintext)
+ authentication. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>squid-2.5-ntlmssp</term>
+ <listitem><para>
+ Server-side helper for use with Squid 2.5's NTLMSSP
+ authentication. </para>
+ <para>Requires access to the directory
+ <filename>winbindd_privileged</filename> in
+ <filename>$LOCKDIR</filename>. The protocol used is
+ described here: <ulink
+ url="http://devel.squid-cache.org/ntlm/squid_helper_protocol.html">http://devel.squid-cache.org/ntlm/squid_helper_protocol.html</ulink>.
+ This protocol has been extended to allow the
+ NTLMSSP Negotiate packet to be included as an argument
+ to the <command>YR</command> command. (Thus avoiding
+ loss of information in the protocol exchange).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ntlmssp-client-1</term>
+ <listitem><para>
+ Client-side helper for use with arbitrary external
+ programs that may wish to use Samba's NTLMSSP
+ authentication knowledge. </para>
+ <para>This helper is a client, and as such may be run by any
+ user. The protocol used is
+ effectively the reverse of the previous protocol. A
+ <command>YR</command> command (without any arguments)
+ starts the authentication exchange.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>gss-spnego</term>
+ <listitem><para>
+ Server-side helper that implements GSS-SPNEGO. This
+ uses a protocol that is almost the same as
+ <command>squid-2.5-ntlmssp</command>, but has some
+ subtle differences that are undocumented outside the
+ source at this stage.
+ </para>
+ <para>Requires access to the directory
+ <filename>winbindd_privileged</filename> in
+ <filename>$LOCKDIR</filename>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>gss-spnego-client</term>
+ <listitem><para>
+ Client-side helper that implements GSS-SPNEGO. This
+ also uses a protocol similar to the above helpers, but
+ is currently undocumented.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ntlm-server-1</term>
+ <listitem><para>
+ Server-side helper protocol, intended for use by a
+ RADIUS server or the 'winbind' plugin for pppd, for
+ the provision of MSCHAP and MSCHAPv2 authentication.
+ </para>
+ <para>This protocol consists of lines in the form:
+ <command>Parameter: value</command> and <command>Parameter::
+ Base64-encode value</command>. The presence of a single
+ period <command>.</command> indicates that one side has
+ finished supplying data to the other. (Which in turn
+ could cause the helper to authenticate the
+ user). </para>
+
+ <para>Currently implemented parameters from the
+ external program to the helper are:</para>
+ <variablelist>
+ <varlistentry>
+ <term>Username</term>
+ <listitem><para>The username, expected to be in
+ Samba's <smbconfoption name="unix charset"/>.
+ </para>
+ <varlistentry>
+ <term>Examples:</term>
+ <para>Username: bob</para>
+ <para>Username:: Ym9i</para>
+ </varlistentry>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>NT-Domain</term>
+ <listitem><para>The user's domain, expected to be in
+ Samba's <smbconfoption name="unix charset"/>.
+ </para>
+
+ <varlistentry>
+ <term>Examples:</term>
+ <para>NT-Domain: WORKGROUP</para>
+ <para>NT-Domain:: V09SS0dST1VQ</para>
+ </varlistentry>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Full-Username</term>
+ <listitem><para>The fully qualified username, expected to be
+ in Samba's <smbconfoption name="unix charset"/> and qualified
+ with the <smbconfoption name="winbind separator"/>.</para>
+ <varlistentry>
+ <term>Examples:</term>
+ <para>Full-Username: WORKGROUP\bob</para>
+ <para>Full-Username:: V09SS0dST1VQYm9i</para>
+ </varlistentry>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>LANMAN-Challenge</term>
+ <listitem><para>The 8 byte <command>LANMAN Challenge</command>
+ value, generated randomly by the server, or (in cases such
+ as MSCHAPv2) generated in some way by both the server and
+ the client.</para>
+ <varlistentry>
+ <term>Examples:</term>
+ <para>LANMAN-Challenge: 0102030405060708</para>
+ </varlistentry>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>LANMAN-Response</term>
+ <listitem><para>The 24 byte <command>LANMAN Response</command> value,
+ calculated from the user's password and the supplied
+ <command>LANMAN Challenge</command>. Typically, this
+ is provided over the network by a client wishing to authenticate.
+ </para>
+ <varlistentry>
+ <term>Examples:</term>
+ <para>LANMAN-Response: 0102030405060708090A0B0C0D0E0F101112131415161718</para>
+ </varlistentry>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>NT-Response</term>
+ <listitem><para>The >= 24 byte <command>NT Response</command>
+ calculated from the user's password and the supplied
+ <command>LANMAN Challenge</command>. Typically, this is
+ provided over the network by a client wishing to authenticate.
+ </para>
+ <varlistentry>
+ <term>Examples:</term>
+ <para>NT-Response: 0102030405060708090A0B0C0D0E0F10111213141516171</para>
+ </varlistentry>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Password</term>
+ <listitem><para>The user's password. This would be
+ provided by a network client, if the helper is being
+ used in a legacy situation that exposes plaintext
+ passwords in this way.</para>
+ <varlistentry>
+ <term>Examples:</term>
+ <para>Password: samba2</para>
+ <para>Password:: c2FtYmEy</para>
+ </varlistentry>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Request-User-Session-Key</term>
+ <listitem><para>Upon successful authentication, return
+ the user session key associated with the login.</para>
+ <varlistentry>
+ <term>Examples:</term>
+ <para>Request-User-Session-Key: Yes</para>
+ </varlistentry>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Request-LanMan-Session-Key</term>
+ <listitem><para>Upon successful authentication, return
+ the LANMAN session key associated with the login.
+ </para>
+ <varlistentry>
+ <term>Examples:</term>
+ <para>Request-LanMan-Session-Key: Yes</para>
+ </varlistentry>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <warning><para>Implementers should take care to base64 encode
+ any data (such as usernames/passwords) that may contain malicious user data, such as
+ a newline. They may also need to decode strings from
+ the helper, which likewise may have been base64 encoded.</para></warning>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--username=USERNAME</term>
+ <listitem><para>
+ Specify username of user to authenticate
+ </para></listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+ <term>--domain=DOMAIN</term>
+ <listitem><para>
+ Specify domain of user to authenticate
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--workstation=WORKSTATION</term>
+ <listitem><para>
+ Specify the workstation the user authenticated from
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--challenge=STRING</term>
+ <listitem><para>NTLM challenge (in HEXADECIMAL)</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--lm-response=RESPONSE</term>
+ <listitem><para>LM Response to the challenge (in HEXADECIMAL)</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--nt-response=RESPONSE</term>
+ <listitem><para>NT or NTLMv2 Response to the challenge (in HEXADECIMAL)</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--password=PASSWORD</term>
+ <listitem><para>User's plaintext password</para><para>If
+ not specified on the command line, this is prompted for when
+ required. </para>
+
+ <para>For the NTLMSSP based server roles, this parameter
+ specifies the expected password, allowing testing without
+ winbindd operational.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--request-lm-key</term>
+ <listitem><para>Retrieve LM session key</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--request-nt-key</term>
+ <listitem><para>Request NT key</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--diagnostics</term>
+ <listitem><para>Perform Diagnostics on the authentication
+ chain. Uses the password from <command>--password</command>
+ or prompts for one.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--require-membership-of={SID|Name}</term>
+ <listitem><para>Require that a user be a member of specified
+ group (either name or SID) for authentication to succeed.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--pam-winbind-conf=FILENAME</term>
+ <listitem><para>Define the path to the pam_winbind.conf file.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--target-hostname=HOSTNAME</term>
+ <listitem><para>Define the target hostname.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--target-service=SERVICE</term>
+ <listitem><para>Define the target service.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--use-cached-creds</term>
+ <listitem><para>Whether to use credentials cached by winbindd.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--allow-mschapv2</term>
+ <listitem><para>Explicitly allow MSCHAPv2.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--offline-logon</term>
+ <listitem><para>Allow offline logons for plain text auth.
+ </para></listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.debug.client;
+ &cmdline.common.config.client;
+ &cmdline.common.option;
+ &cmdline.version;
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLE SETUP</title>
+
+ <para>To setup ntlm_auth for use by squid 2.5, with both basic and
+ NTLMSSP authentication, the following
+ should be placed in the <filename>squid.conf</filename> file.
+<programlisting>
+auth_param ntlm program ntlm_auth --helper-protocol=squid-2.5-ntlmssp
+auth_param basic program ntlm_auth --helper-protocol=squid-2.5-basic
+auth_param basic children 5
+auth_param basic realm Squid proxy-caching web server
+auth_param basic credentialsttl 2 hours
+</programlisting></para>
+
+<note><para>This example assumes that ntlm_auth has been installed into your
+ path, and that the group permissions on
+ <filename>winbindd_privileged</filename> are as described above.</para></note>
+
+ <para>To setup ntlm_auth for use by squid 2.5 with group limitation in addition to the above
+ example, the following should be added to the <filename>squid.conf</filename> file.
+<programlisting>
+auth_param ntlm program ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of='WORKGROUP\Domain Users'
+auth_param basic program ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of='WORKGROUP\Domain Users'
+</programlisting></para>
+
+</refsect1>
+
+<refsect1>
+ <title>TROUBLESHOOTING</title>
+
+ <para>If you're experiencing problems with authenticating Internet Explorer running
+ under MS Windows 9X or Millennium Edition against ntlm_auth's NTLMSSP authentication
+ helper (--helper-protocol=squid-2.5-ntlmssp), then please read
+ <ulink url="http://support.microsoft.com/support/kb/articles/Q239/8/69.ASP">
+ the Microsoft Knowledge Base article #239869 and follow instructions described there</ulink>.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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 ntlm_auth manpage was written by Jelmer Vernooij and
+ Andrew Bartlett.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/pam_winbind.8.xml b/docs-xml/manpages/pam_winbind.8.xml
new file mode 100644
index 0000000..171bb40
--- /dev/null
+++ b/docs-xml/manpages/pam_winbind.8.xml
@@ -0,0 +1,319 @@
+<?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="pam_winbind.8">
+
+<refmeta>
+ <refentrytitle>pam_winbind</refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">8</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>pam_winbind</refname>
+ <refpurpose>PAM module for Winbind</refpurpose>
+</refnamediv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>
+ pam_winbind is a PAM module that can authenticate users against the local domain by talking to the Winbind daemon.
+ </para>
+
+</refsect1>
+
+<refsect1>
+ <title>SYNOPSIS</title>
+
+ <para>
+ Edit the PAM system config /etc/pam.d/service and modify it as the following example shows:
+ <programlisting>
+ ...
+ auth required pam_env.so
+ auth sufficient pam_unix2.so
+ +++ auth required pam_winbind.so use_first_pass
+ account requisite pam_unix2.so
+ +++ account required pam_winbind.so use_first_pass
+ +++ password sufficient pam_winbind.so
+ password requisite pam_pwcheck.so cracklib
+ password required pam_unix2.so use_authtok
+ session required pam_unix2.so
+ +++ session required pam_winbind.so
+ ...
+ </programlisting>
+
+ Make sure that pam_winbind is one of the first modules in the session part. It may retrieve
+ kerberos tickets which are needed by other modules.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+ <para>
+
+ pam_winbind supports several options which can either be set in
+ the PAM configuration files or in the pam_winbind configuration
+ file situated at
+ <filename>/etc/security/pam_winbind.conf</filename>. Options
+ from the PAM configuration file take precedence to those from
+ the configuration file. See
+ <citerefentry><refentrytitle>pam_winbind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for further details.
+
+ <variablelist>
+
+ <varlistentry>
+ <term>debug</term>
+ <listitem><para>Gives debugging output to syslog.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>debug_state</term>
+ <listitem><para>Gives detailed PAM state debugging output to syslog.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>require_membership_of=[SID or NAME]</term>
+ <listitem><para>
+ If this option is set, pam_winbind will only succeed if the user is a member of the given SID or NAME. A SID
+ can be either a group-SID, an alias-SID or even an user-SID. It is also possible to give a NAME instead of the
+ SID. That name must have the form: <parameter>MYDOMAIN\mygroup</parameter> or
+ <parameter>MYDOMAIN\myuser</parameter> (where '\' character corresponds to the value of
+ <parameter>winbind separator</parameter> parameter). It is also possible to use a UPN in the form
+ <parameter>user@REALM</parameter> or <parameter>group@REALM</parameter>. pam_winbind will, in that case, lookup
+ the SID internally. Note that NAME may not contain any spaces. It is thus recommended to only use SIDs. You can
+ verify the list of SIDs a user is a member of with <command>wbinfo --user-sids=SID</command>.
+ </para>
+
+ <para>
+ This option must only be specified on a auth
+ module declaration, as it only operates in conjunction
+ with password authentication.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>use_first_pass</term>
+ <listitem><para>
+ By default, pam_winbind tries to get the authentication token from a previous module. If no token is available
+ it asks the user for the old password. With this option, pam_winbind aborts with an error if no authentication
+ token from a previous module is available.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>try_first_pass</term>
+ <listitem><para>
+ Same as the use_first_pass option (previous item), except that if the primary password is not
+ valid, PAM will prompt for a password.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>use_authtok</term>
+ <listitem><para>
+ Set the new password to the one provided by the previously stacked password module. If this option is not set
+ pam_winbind will ask the user for the new password.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>try_authtok</term>
+ <listitem><para>
+ Same as the use_authtok option (previous item), except that if the new password is not
+ valid, PAM will prompt for a password.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>krb5_auth</term>
+ <listitem><para>
+
+ pam_winbind can authenticate using Kerberos when winbindd is
+ talking to an Active Directory domain controller. Kerberos
+ authentication must be enabled with this parameter. When
+ Kerberos authentication can not succeed (e.g. due to clock
+ skew), winbindd will fallback to samlogon authentication over
+ MSRPC. When this parameter is used in conjunction with
+ <parameter>winbind refresh tickets</parameter>, winbind will
+ keep your Ticket Granting Ticket (TGT) up-to-date by refreshing
+ it whenever necessary.
+
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>krb5_ccache_type=[type]</term>
+ <listitem><para>
+
+ When pam_winbind is configured to try kerberos authentication
+ by enabling the <parameter>krb5_auth</parameter> option, it can
+ store the retrieved Ticket Granting Ticket (TGT) in a
+ credential cache. The type of credential cache can be
+ controlled with this option. The supported values are:
+ <parameter>KCM</parameter> or <parameter>KEYRING</parameter>
+ (when supported by the system's Kerberos library and
+ operating system),
+ <parameter>FILE</parameter> and <parameter>DIR</parameter>
+ (when the DIR type is supported by the system's Kerberos
+ library). In case of FILE a credential cache in the form of
+ /tmp/krb5cc_UID will be created - in case of DIR you NEED
+ to specify a directory which must exist, the UID directory
+ will be created in the specified directory.
+ In all cases UID is replaced with the numeric user id.
+ Check the details of the Kerberos implementation.</para>
+
+ <para>When using the KEYRING type, the supported mechanism is
+ <quote>KEYRING:persistent:UID</quote>, which uses the Linux
+ kernel keyring to store credentials on a per-UID basis.
+ KEYRING has limitations. For example, it is secure kernel memory,
+ so bulk storage of credentials is not possible.</para>
+
+ <para>When using the KCM type, the supported mechanism is
+ <quote>KCM:UID</quote>, which uses a Kerberos credential
+ manager to store credentials on a per-UID basis similar to
+ KEYRING. This is the recommended choice on latest Linux
+ distributions that offer a Kerberos Credential Manager. If not,
+ we suggest to use KEYRING, as those are the most secure and
+ predictable method.</para>
+
+ <para>It is also possible to define custom filepaths and use the "%u"
+ pattern in order to substitute the numeric user id.
+ Examples:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>krb5_ccache_type = DIR:/run/user/%u/krb5cc</term>
+ <listitem><para>This will create a credential cache file in the specified directory.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>krb5_ccache_type = FILE:/tmp/krb5cc_%u</term>
+ <listitem><para>This will create a credential cache file.</para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Leave empty to just do kerberos authentication without
+ having a ticket cache after the logon has succeeded.
+ This setting is empty by default.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>cached_login</term>
+ <listitem><para>
+ Winbind allows one to logon using cached credentials when <parameter>winbind offline logon</parameter> is enabled. To use this feature from the PAM module this option must be set.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>silent</term>
+ <listitem><para>
+ Do not emit any messages.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>mkhomedir</term>
+ <listitem><para>
+ Create homedirectory for a user on-the-fly, option is valid in
+ PAM session block.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>warn_pwd_expire</term>
+ <listitem><para>
+ Defines number of days before pam_winbind starts to warn about passwords that are
+ going to expire. Defaults to 14 days.
+ </para></listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </para>
+
+</refsect1>
+
+<refsect1>
+ <title>PAM DATA EXPORTS</title>
+
+ <para>This section describes the data exported in the PAM stack which could be used in other PAM modules.</para>
+
+ <varlistentry>
+ <term>PAM_WINBIND_HOMEDIR</term>
+ <listitem>
+ <para>
+ This is the Windows Home Directory set in the profile tab in the user settings
+ on the Active Directory Server. This could be a local path or a directory on a
+ share mapped to a drive.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>PAM_WINBIND_LOGONSCRIPT</term>
+ <listitem>
+ <para>
+ The path to the logon script which should be executed if a user logs in. This is
+ normally a relative path to the script stored on the server.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>PAM_WINBIND_LOGONSERVER</term>
+ <listitem>
+ <para>
+ This exports the Active Directory server we are authenticating against. This can be
+ used as a variable later.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>PAM_WINBIND_PROFILEPATH</term>
+ <listitem>
+ <para>
+ This is the profile path set in the profile tab in the user settings. Normally
+ the home directory is synced with this directory on a share.
+ </para>
+ </listitem>
+ </varlistentry>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry>
+ <refentrytitle>pam_winbind.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>wbinfo</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry></para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of Samba.</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>This manpage was written by Jelmer Vernooij and Guenther Deschner.</para>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/pam_winbind.conf.5.xml b/docs-xml/manpages/pam_winbind.conf.5.xml
new file mode 100644
index 0000000..3d9cb49
--- /dev/null
+++ b/docs-xml/manpages/pam_winbind.conf.5.xml
@@ -0,0 +1,241 @@
+<?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="pam_winbind.conf.5">
+
+<refmeta>
+ <refentrytitle>pam_winbind.conf</refentrytitle>
+ <manvolnum>5</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">5</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>pam_winbind.conf</refname>
+ <refpurpose>Configuration file of PAM module for Winbind</refpurpose>
+</refnamediv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This configuration file is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>
+ pam_winbind.conf is the configuration file for the pam_winbind PAM
+ module. See
+ <citerefentry><refentrytitle>pam_winbind</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for further details.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>SYNOPSIS</title>
+
+ <para>
+ The pam_winbind.conf configuration file is a classic ini-style
+ configuration file. There is only one section (global) where
+ various options are defined.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+ <para>
+
+ pam_winbind supports several options which can either be set in
+ the PAM configuration files or in the pam_winbind configuration
+ file situated at
+ <filename>/etc/security/pam_winbind.conf</filename>. Options
+ from the PAM configuration file take precedence to those from
+ the pam_winbind.conf configuration file.
+
+ <variablelist>
+
+ <varlistentry>
+ <term>debug = yes|no</term>
+ <listitem><para>Gives debugging output to syslog. Defaults to "no".</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>debug_state = yes|no</term>
+ <listitem><para>Gives detailed PAM state debugging output to syslog. Defaults to "no".</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>require_membership_of = [SID or NAME]</term>
+ <listitem><para>
+ If this option is set, pam_winbind will only succeed if the user is a member of the given SID or NAME. A SID
+ can be either a group-SID, an alias-SID or even an user-SID. It is also possible to give a NAME instead of the
+ SID. That name must have the form: <parameter>MYDOMAIN\mygroup</parameter> or
+ <parameter>MYDOMAIN\myuser</parameter> (where '\' character corresponds to the value of
+ <parameter>winbind separator</parameter> parameter). It is also possible to use a UPN in the form
+ <parameter>user@REALM</parameter> or <parameter>group@REALM</parameter>. pam_winbind will, in that case, lookup
+ the SID internally. Note that NAME may not contain any spaces. It is thus recommended to only use SIDs. You can
+ verify the list of SIDs a user is a member of with <command>wbinfo --user-sids=SID</command>.
+ This setting is empty by default.
+ </para>
+ <para>This option only operates during password authentication, and will not restrict access if a password is not required for any reason (such as SSH key-based login).</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>try_first_pass = yes|no</term>
+ <listitem><para>
+ By default, pam_winbind tries to get the authentication token from a previous module. If no token is available
+ it asks the user for the old password. With this option, pam_winbind aborts with an error if no authentication
+ token from a previous module is available. If a primary password is not valid, PAM will prompt for a password.
+ Default to "no".
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>krb5_auth = yes|no</term>
+ <listitem><para>
+
+ pam_winbind can authenticate using Kerberos when winbindd is
+ talking to an Active Directory domain controller. Kerberos
+ authentication must be enabled with this parameter. When
+ Kerberos authentication can not succeed (e.g. due to clock
+ skew), winbindd will fallback to samlogon authentication over
+ MSRPC. When this parameter is used in conjunction with
+ <parameter>winbind refresh tickets</parameter>, winbind will
+ keep your Ticket Granting Ticket (TGT) up-to-date by refreshing
+ it whenever necessary. Defaults to "no".
+
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>krb5_ccache_type = [type]</term>
+ <listitem><para>
+
+ When pam_winbind is configured to try kerberos authentication
+ by enabling the <parameter>krb5_auth</parameter> option, it can
+ store the retrieved Ticket Granting Ticket (TGT) in a
+ credential cache. The type of credential cache can be
+ controlled with this option. The supported values are:
+ <parameter>KCM</parameter> or <parameter>KEYRING</parameter>
+ (when supported by the system's Kerberos library and
+ operating system),
+ <parameter>FILE</parameter> and <parameter>DIR</parameter>
+ (when the DIR type is supported by the system's Kerberos
+ library). In case of FILE a credential cache in the form of
+ /tmp/krb5cc_UID will be created - in case of DIR you NEED
+ to specify a directory. UID is replaced with the numeric
+ user id. The UID directory is being created. The path up to
+ the directory should already exist. Check the details of the
+ Kerberos implementation.</para>
+
+ <para>When using the KEYRING type, the supported mechanism is
+ <quote>KEYRING:persistent:UID</quote>, which uses the Linux
+ kernel keyring to store credentials on a per-UID basis.
+ The KEYRING has its limitations. As it is secure kernel memory,
+ for example bulk storage of credentials is not possible.</para>
+
+ <para>When using the KCM type, the supported mechanism is
+ <quote>KCM:UID</quote>, which uses a Kerberos credential
+ manager to store credentials on a per-UID basis similar to
+ KEYRING. This is the recommended choice on latest Linux
+ distributions, offering a Kerberos Credential Manager. If not
+ we suggest to use KEYRING as that is the most secure and
+ predictable method.</para>
+
+ <para>It is also possible to define custom filepaths and use the "%u"
+ pattern in order to substitute the numeric user id.
+ Examples:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>krb5_ccache_type = DIR:/run/user/%u/krb5cc</term>
+ <listitem><para>This will create a credential cache file in the specified directory.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>krb5_ccache_type = FILE:/tmp/krb5cc_%u</term>
+ <listitem><para>This will create a credential cache file.</para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para> Leave empty to just do kerberos authentication without
+ having a ticket cache after the logon has succeeded.
+ This setting is empty by default.
+
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>cached_login = yes|no</term>
+ <listitem><para>
+ Winbind allows one to logon using cached credentials when <parameter>winbind offline logon</parameter> is enabled. To use this feature from the PAM module this option must be set. Defaults to "no".
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>silent = yes|no</term>
+ <listitem><para>
+ Do not emit any messages. Defaults to "no".
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>mkhomedir = yes|no</term>
+ <listitem><para>
+ Create homedirectory for a user on-the-fly, option is valid in
+ PAM session block. Defaults to "no".
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>warn_pwd_expire = days</term>
+ <listitem><para>
+ Defines number of days before pam_winbind starts to warn about passwords that are
+ going to expire. Defaults to 14 days.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>pwd_change_prompt = yes|no</term>
+ <listitem><para>
+ Generate prompt for changing an expired password. Defaults to "no".
+ </para></listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </para>
+
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry>
+ <refentrytitle>pam_winbind</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>wbinfo</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry></para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of Samba.</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>This manpage was written by Jelmer Vernooij and Guenther Deschner.</para>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/pdbedit.8.xml b/docs-xml/manpages/pdbedit.8.xml
new file mode 100644
index 0000000..5849498
--- /dev/null
+++ b/docs-xml/manpages/pdbedit.8.xml
@@ -0,0 +1,567 @@
+<?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="pdbedit.8">
+
+<refmeta>
+ <refentrytitle>pdbedit</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>pdbedit</refname>
+ <refpurpose>manage the SAM database (Database of Samba Users)</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>pdbedit</command>
+ <arg choice="opt">-L|--list</arg>
+ <arg choice="opt">-v|--verbose</arg>
+ <arg choice="opt">-w|--smbpasswd-style</arg>
+ <arg choice="opt">-u|--user=USER</arg>
+ <arg choice="opt">-N|--account-desc=STRING</arg>
+ <arg choice="opt">-f|--fullname=STRING</arg>
+ <arg choice="opt">-h|--homedir=STRING</arg>
+ <arg choice="opt">-D|--drive=STRING</arg>
+ <arg choice="opt">-S|--script=STRING</arg>
+ <arg choice="opt">-p|--profile=STRING</arg>
+ <arg choice="opt">-I|--domain=STRING</arg>
+ <arg choice="opt">-U|--user SID=STRING</arg>
+ <arg choice="opt">-M|--machine SID=STRING</arg>
+ <arg choice="opt">-a|--create</arg>
+ <arg choice="opt">-r|--modify</arg>
+ <arg choice="opt">-m|--machine</arg>
+ <arg choice="opt">-x|--delete</arg>
+ <arg choice="opt">-b|--backend=STRING</arg>
+ <arg choice="opt">-i|--import=STRING</arg>
+ <arg choice="opt">-e|--export=STRING</arg>
+ <arg choice="opt">-g|--group</arg>
+ <arg choice="opt">-y|--policies</arg>
+ <arg choice="opt">--policies-reset</arg>
+ <arg choice="opt">-P|--account-policy=STRING</arg>
+ <arg choice="opt">-C|--value=LONG</arg>
+ <arg choice="opt">-c|--account-control=STRING</arg>
+ <arg choice="opt">--force-initialized-passwords</arg>
+ <arg choice="opt">-z|--bad-password-count-reset</arg>
+ <arg choice="opt">-Z|--logon-hours-reset</arg>
+ <arg choice="opt">--time-format=STRING</arg>
+ <arg choice="opt">-t|--password-from-stdin</arg>
+ <arg choice="opt">-K|--kickoff-time=STRING</arg>
+ <arg choice="opt">--set-nt-hash=STRING</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</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>
+ </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 pdbedit program is used to manage the users accounts
+ stored in the sam database and can only be run by root.</para>
+
+ <para>The pdbedit tool uses the passdb modular interface and is
+ independent from the kind of users database used (currently there
+ are smbpasswd, ldap, nis+ and tdb based and more can be added
+ without changing the tool).</para>
+
+ <para>There are five main ways to use pdbedit: adding a user account,
+ removing a user account, modifying a user account, listing user
+ accounts, importing users accounts.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+ <variablelist>
+ <varlistentry>
+ <term>-L|--list</term>
+ <listitem><para>This option lists all the user accounts
+ present in the users database.
+ This option prints a list of user/uid pairs separated by
+ the ':' character.</para>
+ <para>Example: <command>pdbedit -L</command></para>
+ <para><programlisting>
+sorce:500:Simo Sorce
+samba:45:Test User
+</programlisting></para>
+ </listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-v|--verbose</term>
+ <listitem><para>This option enables the verbose listing format.
+ It causes pdbedit to list the users in the database, printing
+ out the account fields in a descriptive format. Used together
+ with -w also shows passwords hashes.</para>
+
+ <para>Example: <command>pdbedit -L -v</command></para>
+ <para><programlisting>
+---------------
+username: sorce
+user ID/Group: 500/500
+user RID/GRID: 2000/2001
+Full Name: Simo Sorce
+Home Directory: \\BERSERKER\sorce
+HomeDir Drive: H:
+Logon Script: \\BERSERKER\netlogon\sorce.bat
+Profile Path: \\BERSERKER\profile
+---------------
+username: samba
+user ID/Group: 45/45
+user RID/GRID: 1090/1091
+Full Name: Test User
+Home Directory: \\BERSERKER\samba
+HomeDir Drive:
+Logon Script:
+Profile Path: \\BERSERKER\profile
+</programlisting></para>
+ </listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-w|--smbpasswd-style</term>
+ <listitem><para>This option sets the "smbpasswd" listing format.
+ It will make pdbedit list the users in the database, printing
+ out the account fields in a format compatible with the
+ <filename>smbpasswd</filename> file format. (see the
+ <citerefentry><refentrytitle>smbpasswd</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> for details).
+ Instead used together with (-v) displays the passwords
+ hashes in verbose output.</para>
+
+ <para>Example: <command>pdbedit -L -w</command></para>
+ <programlisting>
+sorce:500:508818B733CE64BEAAD3B435B51404EE:
+ D2A2418EFC466A8A0F6B1DBB5C3DB80C:
+ [UX ]:LCT-00000000:
+samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:
+ BC281CE3F53B6A5146629CD4751D3490:
+ [UX ]:LCT-3BFA1E8D:
+</programlisting>
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-u|--user username</term>
+ <listitem><para>This option specifies the username to be
+ used for the operation requested (listing, adding, removing).
+ It is <emphasis>required</emphasis> in add, remove and modify
+ operations and <emphasis>optional</emphasis> in list
+ operations.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-f|--fullname fullname</term>
+ <listitem><para>This option can be used while adding or
+ modifying a user account. It will specify the user's full
+ name. </para>
+
+ <para>Example: <command>-f "Simo Sorce"</command></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-h|--homedir homedir</term>
+ <listitem><para>This option can be used while adding or
+ modifying a user account. It will specify the user's home
+ directory network path.</para>
+
+ <para>Example: <command>-h "\\\\BERSERKER\\sorce"</command>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-D|--drive drive</term>
+ <listitem><para>This option can be used while adding or
+ modifying a user account. It will specify the windows drive
+ letter to be used to map the home directory.</para>
+
+ <para>Example: <command>-D "H:"</command>
+ </para>
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-S|--script script</term>
+ <listitem><para>This option can be used while adding or
+ modifying a user account. It will specify the user's logon
+ script path.</para>
+
+ <para>Example: <command>-S "\\\\BERSERKER\\netlogon\\sorce.bat"</command>
+ </para>
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>--set-nt-hash</term>
+ <listitem><para>This option can be used while modifying
+ a user account. It will set the user's password using
+ the nt-hash value given as hexadecimal string.
+ Useful to synchronize passwords.</para>
+
+ <para>Example: <command>--set-nt-hash 8846F7EAEE8FB117AD06BDD830B7586C</command>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-p|--profile profile</term>
+ <listitem><para>This option can be used while adding or
+ modifying a user account. It will specify the user's profile
+ directory.</para>
+
+ <para>Example: <command>-p "\\\\BERSERKER\\netlogon"</command>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-M|'--machine SID' SID|rid</term>
+ <listitem><para>
+ This option can be used while adding or modifying a machine account. It
+ will specify the machines' new primary group SID (Security Identifier) or
+ rid. </para>
+
+ <para>Example: <command>-M S-1-5-21-2447931902-1787058256-3961074038-1201</command></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-U|'--user SID' SID|rid</term>
+ <listitem><para>
+ This option can be used while adding or modifying a user account. It
+ will specify the users' new SID (Security Identifier) or
+ rid. </para>
+
+ <para>Example: <command>-U S-1-5-21-2447931902-1787058256-3961074038-5004</command></para>
+ <para>Example: <command>'--user SID' S-1-5-21-2447931902-1787058256-3961074038-5004</command></para>
+ <para>Example: <command>-U 5004</command></para>
+ <para>Example: <command>'--user SID' 5004</command></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-c|--account-control account-control</term>
+ <listitem><para>This option can be used while adding or modifying a user
+ account. It will specify the users' account control property. Possible flags are listed below.
+ </para>
+
+ <para>
+ <itemizedlist>
+ <listitem><para>N: No password required</para></listitem>
+ <listitem><para>D: Account disabled</para></listitem>
+ <listitem><para>H: Home directory required</para></listitem>
+ <listitem><para>T: Temporary duplicate of other account</para></listitem>
+ <listitem><para>U: Regular user account</para></listitem>
+ <listitem><para>M: MNS logon user account</para></listitem>
+ <listitem><para>W: Workstation Trust Account</para></listitem>
+ <listitem><para>S: Server Trust Account</para></listitem>
+ <listitem><para>L: Automatic Locking</para></listitem>
+ <listitem><para>X: Password does not expire</para></listitem>
+ <listitem><para>I: Domain Trust Account</para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para>Example: <command>-c "[X ]"</command></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-K|--kickoff-time</term>
+ <listitem><para>This option is used to modify the kickoff
+ time for a certain user. Use "never" as argument to set the
+ kickoff time to unlimited.
+ </para>
+ <para>Example: <command>pdbedit -K never user</command></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-a|--create</term>
+ <listitem><para>This option is used to add a user into the
+ database. This command needs a user name specified with
+ the -u switch. When adding a new user, pdbedit will also
+ ask for the password to be used.</para>
+
+ <para>Example: <command>pdbedit -a -u sorce</command>
+<programlisting>new password:
+retype new password
+</programlisting>
+</para>
+
+ <note><para>pdbedit does not call the unix password synchronization
+ script if <smbconfoption name="unix password sync"/>
+ has been set. It only updates the data in the Samba
+ user database.
+ </para>
+
+ <para>If you wish to add a user and synchronise the password
+ that immediately, use <command>smbpasswd</command>'s <option>-a</option> option.
+ </para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-t|--password-from-stdin</term>
+ <listitem><para>This option causes pdbedit to read the password
+ from standard input, rather than from /dev/tty (like the
+ <command>passwd(1)</command> program does). The password has
+ to be submitted twice and terminated by a newline each.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-r|--modify</term>
+ <listitem><para>This option is used to modify an existing user
+ in the database. This command needs a user name specified with the -u
+ switch. Other options can be specified to modify the properties of
+ the specified user. This flag is kept for backwards compatibility, but
+ it is no longer necessary to specify it.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-m|--machine</term>
+ <listitem><para>This option may only be used in conjunction
+ with the <parameter>-a</parameter> option. It will make
+ pdbedit to add a machine trust account instead of a user
+ account (-u username will provide the machine name).</para>
+
+ <para>Example: <command>pdbedit -a -m -u w2k-wks</command>
+ </para>
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-x|--delete</term>
+ <listitem><para>This option causes pdbedit to delete an account
+ from the database. It needs a username specified with the
+ -u switch.</para>
+
+ <para>Example: <command>pdbedit -x -u bob</command></para>
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-i|--import passdb-backend</term>
+ <listitem><para>Use a different passdb backend to retrieve users
+ than the one specified in smb.conf. Can be used to import data into
+ your local user database.</para>
+
+ <para>This option will ease migration from one passdb backend to
+ another.</para>
+
+ <para>Example: <command>pdbedit -i smbpasswd:/etc/smbpasswd.old
+ </command></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-e|--export passdb-backend</term>
+ <listitem><para>Exports all currently available users to the
+ specified password database backend.</para>
+
+ <para>This option will ease migration from one passdb backend to
+ another and will ease backing up.</para>
+
+ <para>Example: <command>pdbedit -e smbpasswd:/root/samba-users.backup</command></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-g|--group</term>
+ <listitem><para>If you specify <parameter>-g</parameter>,
+ then <parameter>-i in-backend -e out-backend</parameter>
+ applies to the group mapping instead of the user database.</para>
+
+ <para>This option will ease migration from one passdb backend to
+ another and will ease backing up.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-b|--backend passdb-backend</term>
+ <listitem><para>Use a different default passdb backend. </para>
+
+ <para>Example: <command>pdbedit -b xml:/root/pdb-backup.xml -l</command></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-P|--account-policy account-policy</term>
+ <listitem><para>Display an account policy</para>
+ <para>Valid policies are: minimum password age, reset count minutes, disconnect time,
+ user must logon to change password, password history, lockout duration, min password length,
+ maximum password age and bad lockout attempt.</para>
+
+ <para>Example: <command>pdbedit -P "bad lockout attempt"</command></para>
+<para><programlisting>
+account policy value for bad lockout attempt is 0
+</programlisting></para>
+
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-C|--value account-policy-value</term>
+ <listitem><para>Sets an account policy to a specified value.
+ This option may only be used in conjunction
+ with the <parameter>-P</parameter> option.
+ </para>
+
+ <para>Example: <command>pdbedit -P "bad lockout attempt" -C 3</command></para>
+<para><programlisting>
+account policy value for bad lockout attempt was 0
+account policy value for bad lockout attempt is now 3
+</programlisting></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-y|--policies</term>
+ <listitem><para>If you specify <parameter>-y</parameter>,
+ then <parameter>-i in-backend -e out-backend</parameter>
+ applies to the account policies instead of the user database.</para>
+
+ <para>This option will allow one to migrate account policies from their default
+ tdb-store into a passdb backend, e.g. an LDAP directory server.</para>
+
+ <para>Example: <command>pdbedit -y -i tdbsam: -e ldapsam:ldap://my.ldap.host</command></para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--force-initialized-passwords</term>
+ <listitem><para>This option forces all users to change their
+ password upon next login.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-N|--account-desc description</term>
+ <listitem><para>This option can be used while adding or
+ modifying a user account. It will specify the user's description
+ field.</para>
+
+ <para>Example: <command>-N "test description"</command>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-Z|--logon-hours-reset</term>
+ <listitem><para>This option can be used while adding or
+ modifying a user account. It will reset the user's allowed logon
+ hours. A user may login at any time afterwards.</para>
+
+ <para>Example: <command>-Z</command>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-z|--bad-password-count-reset</term>
+ <listitem><para>This option can be used while adding or
+ modifying a user account. It will reset the stored bad login
+ counter from a specified user.</para>
+
+ <para>Example: <command>-z</command>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--policies-reset</term>
+ <listitem><para>This option can be used to reset the general
+ password policies stored for a domain to their
+ default values.</para>
+ <para>Example: <command>--policies-reset</command>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-I|--domain</term>
+ <listitem><para>This option can be used while adding or
+ modifying a user account. It will specify the user's domain field.</para>
+
+ <para>Example: <command>-I "MYDOMAIN"</command>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--time-format</term>
+ <listitem><para>This option is currently not being used.</para>
+ </listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>NOTES</title>
+
+ <para>This command may be used only by root.</para>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of
+ the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>smbpasswd</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry></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 pdbedit manpage was written by Simo Sorce and Jelmer Vernooij.</para>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/profiles.1.xml b/docs-xml/manpages/profiles.1.xml
new file mode 100644
index 0000000..9d57a7d
--- /dev/null
+++ b/docs-xml/manpages/profiles.1.xml
@@ -0,0 +1,98 @@
+<?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="profiles.1">
+
+<refmeta>
+ <refentrytitle>profiles</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>profiles</refname>
+ <refpurpose>A utility to report and change SIDs in registry files
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>profiles</command>
+ <arg choice="opt">-c|--change-sid=STRING</arg>
+ <arg choice="opt">-n|--new-sid=STRING</arg>
+ <arg choice="opt">-v|--verbose</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</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="req">FILE</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><command>profiles</command> is a utility that
+ reports and changes SIDs in windows registry files. It currently only
+ supports NT.
+ </para>
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>file</term>
+ <listitem><para>Registry file to view or edit. </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-v,--verbose</term>
+ <listitem><para>Increases verbosity of messages.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-c SID1 -n SID2</term>
+ <term>--change-sid SID1 --new-sid SID2</term>
+ <listitem><para>Change all occurrences of SID1 in <filename>file</filename> by SID2.
+ </para></listitem>
+ </varlistentry>
+
+ &cmdline.common.samba.client;
+ &popt.autohelp;
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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 profiles man page was written by Jelmer Vernooij. </para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/rpcclient.1.xml b/docs-xml/manpages/rpcclient.1.xml
new file mode 100644
index 0000000..164a2db
--- /dev/null
+++ b/docs-xml/manpages/rpcclient.1.xml
@@ -0,0 +1,757 @@
+<?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="rpcclient.1">
+
+<refmeta>
+ <refentrytitle>rpcclient</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>rpcclient</refname>
+ <refpurpose>tool for executing client side
+ MS-RPC functions</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>rpcclient</command>
+ <arg choice="opt">-c|--command=COMMANDS</arg>
+ <arg choice="opt">-I|--dest-ip=IP</arg>
+ <arg choice="opt">-p|--port=PORT</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</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="req">BINDING-STRING|HOST</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><command>rpcclient</command> is a utility initially developed
+ to test MS-RPC functionality in Samba itself. It has undergone
+ several stages of development and stability. Many system administrators
+ have now written scripts around it to manage Windows NT clients from
+ their UNIX workstation. </para>
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>BINDING-STRING|HOST</term>
+ <listitem>
+ <para>When connecting to a dcerpc service you need to
+ specify a binding string.</para>
+
+ <para>The format is:</para>
+
+ <para>TRANSPORT:host[options]</para>
+
+ <para>where TRANSPORT is either ncacn_np (named pipes) for SMB or
+ ncacn_ip_tcp for DCERPC over TCP/IP.</para>
+
+ <para>"host" is an IP or hostname or netbios name. If the binding
+ string identifies the server side of an endpoint, "host" may be
+ an empty string. See below for more details.</para>
+
+ <para>"options" can include a SMB pipe name if using the ncacn_np
+ transport or a TCP port number if using the ncacn_ip_tcp transport,
+ otherwise they will be auto-determined.</para>
+
+ <para>Examples:</para>
+
+ <itemizedlist>
+ <listitem><para><parameter moreinfo="none">ncacn_ip_tcp:samba.example.com[1024]</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">ncacn_ip_tcp:samba.example.com[sign,seal,krb5]</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">ncacn_ip_tcp:samba.example.com[sign,spnego]</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">ncacn_np:samba.example.com</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">ncacn_np:samba.example.com[samr]</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">ncacn_np:samba.example.com[samr,sign,print]</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">ncalrpc:/path/to/unix/socket</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">//SAMBA</parameter></para></listitem>
+ </itemizedlist>
+
+ <para>The supported transports are:</para>
+
+ <itemizedlist>
+ <listitem><para><parameter moreinfo="none">ncacn_np</parameter> - Connect using named pipes</para></listitem>
+ <listitem><para><parameter moreinfo="none">ncacn_ip_tcp</parameter> - Connect over TCP/IP</para></listitem>
+ <listitem><para><parameter moreinfo="none">ncalrpc</parameter> - Connect over local RPC (unix sockets)</para></listitem>
+ </itemizedlist>
+
+ <para>The supported options are:</para>
+
+ <itemizedlist>
+ <listitem><para><parameter moreinfo="none">sign</parameter> - Use RPC integrity authentication level</para></listitem>
+ <listitem><para><parameter moreinfo="none">seal</parameter> - Enable RPC privacy (encryption) authentication level</para></listitem>
+ <listitem><para><parameter moreinfo="none">connect</parameter> - Use RPC connect level authentication (auth, but no sign or seal)</para></listitem>
+ <listitem><para><parameter moreinfo="none">packet</parameter> - Use RPC packet authentication level</para></listitem>
+
+ <listitem><para><parameter moreinfo="none">spnego</parameter> - Use SPNEGO instead of NTLMSSP authentication</para></listitem>
+ <listitem><para><parameter moreinfo="none">ntlm</parameter> - Use plain NTLM instead of SPNEGO or NTLMSSP</para></listitem>
+ <listitem><para><parameter moreinfo="none">krb5</parameter> - Use Kerberos instead of NTLMSSP authentication</para></listitem>
+ <listitem><para><parameter moreinfo="none">schannel</parameter> - Create a schannel connection</para></listitem>
+
+ <listitem><para><parameter moreinfo="none">smb1</parameter> - Use SMB1 for named pipes</para></listitem>
+ <listitem><para><parameter moreinfo="none">smb2</parameter> - Use SMB2/3 for named pipes</para></listitem>
+
+ <listitem><para><parameter moreinfo="none">validate</parameter> - Enable the NDR validator</para></listitem>
+ <listitem><para><parameter moreinfo="none">print</parameter> - Enable debug output of packets</para></listitem>
+ <listitem><para><parameter moreinfo="none">padcheck</parameter> - Check reply data for non-zero pad bytes</para></listitem>
+ <listitem><para><parameter moreinfo="none">bigendian</parameter> - Use big endian for RPC</para></listitem>
+ <listitem><para><parameter moreinfo="none">ndr64</parameter> - Use NDR64 for RPC</para></listitem>
+ </itemizedlist>
+
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-c|--command=&lt;command string&gt;</term>
+ <listitem><para>Execute semicolon separated commands (listed
+ below) </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-I|--dest-ip IP-address</term>
+ <listitem><para><replaceable>IP address</replaceable> is the address of the server to connect to.
+ It should be specified in standard "a.b.c.d" notation. </para>
+
+ <para>Normally the client would attempt to locate a named
+ SMB/CIFS server by looking it up via the NetBIOS name resolution
+ mechanism described above in the <parameter>name resolve order</parameter>
+ parameter above. Using this parameter will force the client
+ to assume that the server is on the machine with the specified IP
+ address and the NetBIOS name component of the resource being
+ connected to will be ignored. </para>
+
+ <para>There is no default for this parameter. If not supplied,
+ it will be determined automatically by the client as described
+ above. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-p|--port port</term>
+ <listitem><para>This number is the TCP port number that will be used
+ when making connections to the server. The standard (well-known)
+ TCP port number for an SMB/CIFS server is 139, which is the
+ default. </para></listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ &cmdline.common.connection;
+ &cmdline.common.credentials;
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>COMMANDS</title>
+
+ <refsect2>
+ <title>LSARPC</title>
+ <variablelist>
+ <varlistentry><term>lsaquery</term><listitem><para>Query info policy</para></listitem></varlistentry>
+ <varlistentry><term>lookupsids</term><listitem><para>Convert SIDs to names</para></listitem></varlistentry>
+ <varlistentry><term>lookupsids3</term><listitem><para>Convert SIDs to names</para></listitem></varlistentry>
+ <varlistentry><term>lookupsids_level</term><listitem><para>Convert SIDs to names</para></listitem></varlistentry>
+ <varlistentry><term>lookupnames</term><listitem><para>Convert names to SIDs</para></listitem></varlistentry>
+ <varlistentry><term>lookupnames4</term><listitem><para>Convert names to SIDs</para></listitem></varlistentry>
+ <varlistentry><term>lookupnames_level</term><listitem><para>Convert names to SIDs</para></listitem></varlistentry>
+ <varlistentry><term>enumtrust</term><listitem><para>Enumerate trusted domains</para></listitem></varlistentry>
+ <varlistentry><term>enumprivs</term><listitem><para>Enumerate privileges</para></listitem></varlistentry>
+ <varlistentry><term>getdispname</term><listitem><para>Get the privilege name</para></listitem></varlistentry>
+ <varlistentry><term>lsaenumsid</term><listitem><para>Enumerate the LSA SIDS</para></listitem></varlistentry>
+ <varlistentry><term>lsacreateaccount</term><listitem><para>Create a new lsa account</para></listitem></varlistentry>
+ <varlistentry><term>lsaenumprivsaccount</term><listitem><para>Enumerate the privileges of an SID</para></listitem></varlistentry>
+ <varlistentry><term>lsaenumacctrights</term><listitem><para>Enumerate the rights of an SID</para></listitem></varlistentry>
+ <varlistentry><term>lsaaddpriv</term><listitem><para>Assign a privilege to a SID</para></listitem></varlistentry>
+ <varlistentry><term>lsadelpriv</term><listitem><para>Revoke a privilege from a SID</para></listitem></varlistentry>
+ <varlistentry><term>lsaaddacctrights</term><listitem><para>Add rights to an account</para></listitem></varlistentry>
+ <varlistentry><term>lsaremoveacctrights</term><listitem><para>Remove rights from an account</para></listitem></varlistentry>
+ <varlistentry><term>lsalookupprivvalue</term><listitem><para>Get a privilege value given its name</para></listitem></varlistentry>
+ <varlistentry><term>lsaquerysecobj</term><listitem><para>Query LSA security object</para></listitem></varlistentry>
+ <varlistentry><term>lsaquerytrustdominfo</term><listitem><para>Query LSA trusted domains info (given a SID)</para></listitem></varlistentry>
+ <varlistentry><term>lsaquerytrustdominfobyname</term><listitem><para>Query LSA trusted domains info (given a name), only works for Windows > 2k</para></listitem></varlistentry>
+ <varlistentry><term>lsaquerytrustdominfobysid</term><listitem><para>Query LSA trusted domains info (given a SID)</para></listitem></varlistentry>
+ <varlistentry><term>lsasettrustdominfo</term><listitem><para>Set LSA trusted domain info</para></listitem></varlistentry>
+ <varlistentry><term>getusername</term><listitem><para>Get username</para></listitem></varlistentry>
+ <varlistentry><term>createsecret</term><listitem><para>Create Secret</para></listitem></varlistentry>
+ <varlistentry><term>deletesecret</term><listitem><para>Delete Secret</para></listitem></varlistentry>
+ <varlistentry><term>querysecret</term><listitem><para>Query Secret</para></listitem></varlistentry>
+ <varlistentry><term>setsecret</term><listitem><para>Set Secret</para></listitem></varlistentry>
+ <varlistentry><term>retrieveprivatedata</term><listitem><para>Retrieve Private Data</para></listitem></varlistentry>
+ <varlistentry><term>storeprivatedata</term><listitem><para>Store Private Data</para></listitem></varlistentry>
+ <varlistentry><term>createtrustdom</term><listitem><para>Create Trusted Domain</para></listitem></varlistentry>
+ <varlistentry><term>deletetrustdom</term><listitem><para>Delete Trusted Domain</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>LSARPC-DS</title>
+ <variablelist>
+ <varlistentry><term>dsroledominfo</term><listitem><para>Get Primary Domain Information</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>DFS</title>
+ <variablelist>
+ <varlistentry><term>dfsversion</term><listitem><para>Query DFS support</para></listitem></varlistentry>
+ <varlistentry><term>dfsadd</term><listitem><para>Add a DFS share</para></listitem></varlistentry>
+ <varlistentry><term>dfsremove</term><listitem><para>Remove a DFS share</para></listitem></varlistentry>
+ <varlistentry><term>dfsgetinfo</term><listitem><para>Query DFS share info</para></listitem></varlistentry>
+ <varlistentry><term>dfsenum</term><listitem><para>Enumerate dfs shares</para></listitem></varlistentry>
+ <varlistentry><term>dfsenumex</term><listitem><para>Enumerate dfs shares</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>SHUTDOWN</title>
+ <variablelist>
+ <varlistentry><term>shutdowninit</term><listitem><para>syntax: shutdown [-m message] </para></listitem></varlistentry>
+ <varlistentry><term>shutdownabort</term><listitem><para>syntax: shutdownabort</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>SRVSVC</title>
+ <variablelist>
+ <varlistentry><term>srvinfo</term><listitem><para>Server query info</para></listitem></varlistentry>
+ <varlistentry><term>netshareenum</term><listitem><para>Enumerate shares</para></listitem></varlistentry>
+ <varlistentry><term>netshareenumall</term><listitem><para>Enumerate all shares</para></listitem></varlistentry>
+ <varlistentry><term>netsharegetinfo</term><listitem><para>Get Share Info</para></listitem></varlistentry>
+ <varlistentry><term>netsharesetinfo</term><listitem><para>Set Share Info</para></listitem></varlistentry>
+ <varlistentry><term>netsharesetdfsflags</term><listitem><para>Set DFS flags</para></listitem></varlistentry>
+ <varlistentry><term>netfileenum</term><listitem><para>Enumerate open files</para></listitem></varlistentry>
+ <varlistentry><term>netremotetod</term><listitem><para>Fetch remote time of day</para></listitem></varlistentry>
+ <varlistentry><term>netnamevalidate</term><listitem><para>Validate sharename</para></listitem></varlistentry>
+ <varlistentry><term>netfilegetsec</term><listitem><para>Get File security</para></listitem></varlistentry>
+ <varlistentry><term>netsessdel</term><listitem><para>Delete Session</para></listitem></varlistentry>
+ <varlistentry><term>netsessenum</term><listitem><para>Enumerate Sessions</para></listitem></varlistentry>
+ <varlistentry><term>netdiskenum</term><listitem><para>Enumerate Disks</para></listitem></varlistentry>
+ <varlistentry><term>netconnenum</term><listitem><para>Enumerate Connections</para></listitem></varlistentry>
+ <varlistentry><term>netshareadd</term><listitem><para>Add share</para></listitem></varlistentry>
+ <varlistentry><term>netsharedel</term><listitem><para>Delete share</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>SAMR</title>
+ <variablelist>
+ <varlistentry><term>queryuser</term><listitem><para>Query user info</para></listitem></varlistentry>
+ <varlistentry><term>querygroup</term><listitem><para>Query group info</para></listitem></varlistentry>
+ <varlistentry><term>queryusergroups</term><listitem><para>Query user groups</para></listitem></varlistentry>
+ <varlistentry><term>queryuseraliases</term><listitem><para>Query user aliases</para></listitem></varlistentry>
+ <varlistentry><term>querygroupmem</term><listitem><para>Query group membership</para></listitem></varlistentry>
+ <varlistentry><term>queryaliasmem</term><listitem><para>Query alias membership</para></listitem></varlistentry>
+ <varlistentry><term>queryaliasinfo</term><listitem><para>Query alias info</para></listitem></varlistentry>
+ <varlistentry><term>deletealias</term><listitem><para>Delete an alias</para></listitem></varlistentry>
+ <varlistentry><term>querydispinfo</term><listitem><para>Query display info</para></listitem></varlistentry>
+ <varlistentry><term>querydispinfo2</term><listitem><para>Query display info</para></listitem></varlistentry>
+ <varlistentry><term>querydispinfo3</term><listitem><para>Query display info</para></listitem></varlistentry>
+ <varlistentry><term>querydominfo</term><listitem><para>Query domain info</para></listitem></varlistentry>
+ <varlistentry><term>enumdomusers</term><listitem><para>Enumerate domain users</para></listitem></varlistentry>
+ <varlistentry><term>enumdomgroups</term><listitem><para>Enumerate domain groups</para></listitem></varlistentry>
+ <varlistentry><term>enumalsgroups</term><listitem><para>Enumerate alias groups</para></listitem></varlistentry>
+ <varlistentry><term>enumdomains</term><listitem><para>Enumerate domains</para></listitem></varlistentry>
+ <varlistentry><term>createdomuser</term><listitem><para>Create domain user</para></listitem></varlistentry>
+ <varlistentry><term>createdomgroup</term><listitem><para>Create domain group</para></listitem></varlistentry>
+ <varlistentry><term>createdomalias</term><listitem><para>Create domain alias</para></listitem></varlistentry>
+ <varlistentry><term>samlookupnames</term><listitem><para>Look up names</para></listitem></varlistentry>
+ <varlistentry><term>samlookuprids</term><listitem><para>Look up names</para></listitem></varlistentry>
+ <varlistentry><term>deletedomgroup</term><listitem><para>Delete domain group</para></listitem></varlistentry>
+ <varlistentry><term>deletedomuser</term><listitem><para>Delete domain user</para></listitem></varlistentry>
+ <varlistentry><term>samquerysecobj</term><listitem><para>Query SAMR security object</para></listitem></varlistentry>
+ <varlistentry><term>getdompwinfo</term><listitem><para>Retrieve domain password info</para></listitem></varlistentry>
+ <varlistentry><term>getusrdompwinfo</term><listitem><para>Retrieve user domain password info</para></listitem></varlistentry>
+ <varlistentry><term>lookupdomain</term><listitem><para>Lookup Domain Name</para></listitem></varlistentry>
+ <varlistentry><term>chgpasswd</term><listitem><para>Change user password</para></listitem></varlistentry>
+ <varlistentry><term>chgpasswd2</term><listitem><para>Change user password</para></listitem></varlistentry>
+ <varlistentry><term>chgpasswd3</term><listitem><para>Change user password (RC4 encrypted)</para></listitem></varlistentry>
+ <varlistentry><term>chgpasswd4</term><listitem><para>Change user password (AES encrypted)</para></listitem></varlistentry>
+ <varlistentry><term>getdispinfoidx</term><listitem><para>Get Display Information Index</para></listitem></varlistentry>
+ <varlistentry><term>setuserinfo</term><listitem><para>Set user info</para></listitem></varlistentry>
+ <varlistentry><term>setuserinfo2</term><listitem><para>Set user info2</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>SPOOLSS</title>
+
+ <variablelist>
+ <varlistentry><term>adddriver &lt;arch&gt; &lt;config&gt; [&lt;version&gt;]</term>
+ <listitem><para>
+ Execute an AddPrinterDriver() RPC to install the printer driver
+ information on the server. Note that the driver files should
+ already exist in the directory returned by
+ <command>getdriverdir</command>. Possible values for
+ <parameter>arch</parameter> are the same as those for
+ the <command>getdriverdir</command> command.
+ The <parameter>config</parameter> parameter is defined as
+ follows: </para>
+
+<para><programlisting>
+Long Driver Name:\
+Driver File Name:\
+Data File Name:\
+Config File Name:\
+Help File Name:\
+Language Monitor Name:\
+Default Data Type:\
+Comma Separated list of Files
+</programlisting></para>
+
+ <para>Any empty fields should be enter as the string "NULL". </para>
+
+ <para>Samba does not need to support the concept of Print Monitors
+ since these only apply to local printers whose driver can make
+ use of a bi-directional link for communication. This field should
+ be "NULL". On a remote NT print server, the Print Monitor for a
+ driver must already be installed prior to adding the driver or
+ else the RPC will fail. </para>
+
+ <para>The <parameter>version</parameter> parameter lets you
+ specify the printer driver version number. If omitted, the
+ default driver version for the specified architecture will
+ be used. This option can be used to upload Windows 2000
+ (version 3) printer drivers.</para></listitem></varlistentry>
+
+ <varlistentry><term>addprinter &lt;printername&gt;
+ &lt;sharename&gt; &lt;drivername&gt; &lt;port&gt;</term>
+ <listitem><para>
+ Add a printer on the remote server. This printer
+ will be automatically shared. Be aware that the printer driver
+ must already be installed on the server (see <command>adddriver</command>)
+ and the <parameter>port</parameter>must be a valid port name (see
+ <command>enumports</command>.</para>
+ </listitem></varlistentry>
+
+ <varlistentry><term>deldriver &lt;driver&gt;</term><listitem><para>Delete the
+ specified printer driver for all architectures. This
+ does not delete the actual driver files from the server,
+ only the entry from the server's list of drivers.
+ </para></listitem></varlistentry>
+
+ <varlistentry><term>deldriverex &lt;driver&gt; [architecture] [version] [flags]
+ </term><listitem><para>Delete the specified printer driver and optionally files
+ associated with the driver.
+ You can limit this action to a specific architecture and a specific version.
+ If no architecture is given, all driver files of that driver will be deleted.
+ <parameter>flags</parameter> correspond to numeric DPD_* values, i.e. a value
+ of 3 requests (DPD_DELETE_UNUSED_FILES | DPD_DELETE_SPECIFIC_VERSION).
+ </para></listitem></varlistentry>
+
+ <varlistentry><term>enumdata</term><listitem><para>Enumerate all
+ printer setting data stored on the server. On Windows NT clients,
+ these values are stored in the registry, while Samba servers
+ store them in the printers TDB. This command corresponds
+ to the MS Platform SDK GetPrinterData() function (* This
+ command is currently unimplemented).</para></listitem></varlistentry>
+
+ <varlistentry><term>enumdataex</term><listitem><para>Enumerate printer data for a key</para></listitem></varlistentry>
+
+ <varlistentry><term>enumkey</term><listitem><para>Enumerate printer keys</para></listitem></varlistentry>
+
+ <varlistentry><term>enumjobs &lt;printer&gt;</term>
+ <listitem><para>List the jobs and status of a given printer.
+ This command corresponds to the MS Platform SDK EnumJobs()
+ function</para></listitem></varlistentry>
+
+ <varlistentry><term>getjob</term><listitem><para>Get print job</para></listitem></varlistentry>
+ <varlistentry><term>setjob</term><listitem><para>Set print job</para></listitem></varlistentry>
+
+
+ <varlistentry><term>enumports [level]</term>
+ <listitem><para>
+ Executes an EnumPorts() call using the specified
+ info level. Currently only info levels 1 and 2 are supported.
+ </para></listitem></varlistentry>
+
+ <varlistentry><term>enumdrivers [level]</term>
+ <listitem><para>
+ Execute an EnumPrinterDrivers() call. This lists the various installed
+ printer drivers for all architectures. Refer to the MS Platform SDK
+ documentation for more details of the various flags and calling
+ options. Currently supported info levels are 1, 2, and 3.</para></listitem></varlistentry>
+
+ <varlistentry><term>enumprinters [level]</term>
+ <listitem><para>Execute an EnumPrinters() call. This lists the various installed
+ and share printers. Refer to the MS Platform SDK documentation for
+ more details of the various flags and calling options. Currently
+ supported info levels are 1, 2 and 5.</para></listitem></varlistentry>
+
+ <varlistentry><term>getdata &lt;printername&gt; &lt;valuename;&gt;</term>
+ <listitem><para>Retrieve the data for a given printer setting. See
+ the <command>enumdata</command> command for more information.
+ This command corresponds to the GetPrinterData() MS Platform
+ SDK function. </para></listitem></varlistentry>
+
+ <varlistentry><term>getdataex</term><listitem><para>Get
+ printer driver data with
+ keyname</para></listitem></varlistentry>
+
+
+ <varlistentry><term>getdriver &lt;printername&gt;</term>
+ <listitem><para>
+ Retrieve the printer driver information (such as driver file,
+ config file, dependent files, etc...) for
+ the given printer. This command corresponds to the GetPrinterDriver()
+ MS Platform SDK function. Currently info level 1, 2, and 3 are supported.
+ </para></listitem></varlistentry>
+
+ <varlistentry><term>getdriverdir &lt;arch&gt;</term>
+ <listitem><para>
+ Execute a GetPrinterDriverDirectory()
+ RPC to retrieve the SMB share name and subdirectory for
+ storing printer driver files for a given architecture. Possible
+ values for <parameter>arch</parameter> are "Windows 4.0"
+ (for Windows 95/98), "Windows NT x86", "Windows NT PowerPC", "Windows
+ Alpha_AXP", and "Windows NT R4000". </para></listitem></varlistentry>
+
+ <varlistentry><term>getdriverpackagepath</term>
+ <listitem><para>Get print driver package download directory</para></listitem></varlistentry>
+
+ <varlistentry><term>getprinter &lt;printername&gt;</term>
+ <listitem><para>Retrieve the current printer information. This command
+ corresponds to the GetPrinter() MS Platform SDK function.
+ </para></listitem></varlistentry>
+
+
+ <varlistentry><term>openprinter &lt;printername&gt;</term>
+ <listitem><para>Execute an OpenPrinterEx() and ClosePrinter() RPC
+ against a given printer. </para></listitem></varlistentry>
+
+ <varlistentry><term>openprinter_ex &lt;printername&gt;</term>
+ <listitem><para>Open printer handle</para></listitem></varlistentry>
+
+ <varlistentry><term>setdriver &lt;printername&gt;
+ &lt;drivername&gt;</term>
+ <listitem><para>Execute a SetPrinter() command to update the printer driver
+ associated with an installed printer. The printer driver must
+ already be correctly installed on the print server. </para>
+
+ <para>See also the <command>enumprinters</command> and
+ <command>enumdrivers</command> commands for obtaining a list of
+ of installed printers and drivers.</para></listitem></varlistentry>
+
+ <varlistentry><term>getprintprocdir</term><listitem>
+ <para>Get print processor directory</para></listitem></varlistentry>
+
+ <varlistentry><term>addform</term><listitem><para>Add form</para></listitem></varlistentry>
+ <varlistentry><term>setform</term><listitem><para>Set form</para></listitem></varlistentry>
+ <varlistentry><term>getform</term><listitem><para>Get form</para></listitem></varlistentry>
+ <varlistentry><term>deleteform</term><listitem><para>Delete form</para></listitem></varlistentry>
+ <varlistentry><term>enumforms</term><listitem><para>Enumerate form</para></listitem></varlistentry>
+ <varlistentry><term>setprinter</term><listitem><para>Set printer comment</para></listitem></varlistentry>
+ <varlistentry><term>setprinterdata</term><listitem><para>Set REG_SZ printer data</para></listitem></varlistentry>
+
+ <varlistentry><term>setprintername &lt;printername&gt; &lt;newprintername&gt;</term>
+ <listitem><para>Set printer name</para></listitem></varlistentry>
+
+ <varlistentry><term>rffpcnex</term><listitem><para>Rffpcnex test</para></listitem></varlistentry>
+ <varlistentry><term>printercmp</term><listitem><para>Printer comparison test</para></listitem></varlistentry>
+ <varlistentry><term>enumprocs</term><listitem><para>Enumerate Print Processors</para></listitem></varlistentry>
+ <varlistentry><term>enumprocdatatypes</term><listitem><para>Enumerate Print Processor Data Types</para></listitem></varlistentry>
+ <varlistentry><term>enummonitors</term><listitem><para>Enumerate Print Monitors</para></listitem></varlistentry>
+ <varlistentry><term>createprinteric</term><listitem><para>Create Printer IC</para></listitem></varlistentry>
+ <varlistentry><term>playgdiscriptonprinteric</term><listitem><para>Create Printer IC</para></listitem></varlistentry>
+ <varlistentry><term>getcoreprinterdrivers</term><listitem><para>Get CorePrinterDriver</para></listitem></varlistentry>
+ <varlistentry><term>enumpermachineconnections</term><listitem><para>Enumerate Per Machine Connections</para></listitem></varlistentry>
+ <varlistentry><term>addpermachineconnection</term><listitem><para>Add Per Machine Connection</para></listitem></varlistentry>
+ <varlistentry><term>delpermachineconnection</term><listitem><para>Delete Per Machine Connection</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>NETLOGON</title>
+ <variablelist>
+ <varlistentry><term>logonctrl2</term><listitem><para>Logon Control 2</para></listitem></varlistentry>
+ <varlistentry><term>getanydcname</term><listitem><para>Get trusted DC name</para></listitem></varlistentry>
+ <varlistentry><term>getdcname</term><listitem><para>Get trusted PDC name</para></listitem></varlistentry>
+ <varlistentry><term>dsr_getdcname</term><listitem><para>Get trusted DC name</para></listitem></varlistentry>
+ <varlistentry><term>dsr_getdcnameex</term><listitem><para>Get trusted DC name</para></listitem></varlistentry>
+ <varlistentry><term>dsr_getdcnameex2</term><listitem><para>Get trusted DC name</para></listitem></varlistentry>
+ <varlistentry><term>dsr_getsitename</term><listitem><para>Get sitename</para></listitem></varlistentry>
+ <varlistentry><term>dsr_getforesttrustinfo</term><listitem><para>Get Forest Trust Info</para></listitem></varlistentry>
+ <varlistentry><term>logonctrl</term><listitem><para>Logon Control</para></listitem></varlistentry>
+ <varlistentry><term>samlogon</term><listitem><para>Sam Logon</para></listitem></varlistentry>
+ <varlistentry><term>change_trust_pw</term><listitem><para>Change Trust Account Password</para></listitem></varlistentry>
+ <varlistentry><term>gettrustrid</term><listitem><para>Get trust rid</para></listitem></varlistentry>
+ <varlistentry><term>dsr_enumtrustdom</term><listitem><para>Enumerate trusted domains</para></listitem></varlistentry>
+ <varlistentry><term>dsenumdomtrusts</term><listitem><para>Enumerate all trusted domains in an AD forest</para></listitem></varlistentry>
+ <varlistentry><term>deregisterdnsrecords</term><listitem><para>Deregister DNS records</para></listitem></varlistentry>
+ <varlistentry><term>netrenumtrusteddomains</term><listitem><para>Enumerate trusted domains</para></listitem></varlistentry>
+ <varlistentry><term>netrenumtrusteddomainsex</term><listitem><para>Enumerate trusted domains</para></listitem></varlistentry>
+ <varlistentry><term>getdcsitecoverage</term><listitem><para>Get the Site-Coverage from a DC</para></listitem></varlistentry>
+ <varlistentry><term>capabilities</term><listitem><para>Return Capabilities</para></listitem></varlistentry>
+ <varlistentry><term>logongetdomaininfo</term><listitem><para>Return LogonGetDomainInfo</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>FSRVP</title>
+ <variablelist>
+ <varlistentry><term>fss_is_path_sup</term><listitem><para>Check whether a share supports shadow-copy </para></listitem></varlistentry>
+ <varlistentry><term>fss_get_sup_version</term><listitem><para>Get supported FSRVP version from server</para></listitem></varlistentry>
+ <varlistentry><term>fss_create_expose</term><listitem><para>Request shadow-copy creation and exposure</para></listitem></varlistentry>
+ <varlistentry><term>fss_delete</term><listitem><para>Request shadow-copy share deletion</para></listitem></varlistentry>
+ <varlistentry><term>fss_has_shadow_copy</term><listitem><para>Check for an associated share shadow-copy</para></listitem></varlistentry>
+ <varlistentry><term>fss_get_mapping</term><listitem><para>Get shadow-copy share mapping information</para></listitem></varlistentry>
+ <varlistentry><term>fss_recovery_complete</term><listitem><para>Flag read-write snapshot as recovery complete, </para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>CLUSAPI</title>
+ <variablelist>
+ <varlistentry><term>clusapi_open_cluster</term><listitem><para>Open cluster</para></listitem></varlistentry>
+ <varlistentry><term>clusapi_get_cluster_name</term><listitem><para>Get cluster name</para></listitem></varlistentry>
+ <varlistentry><term>clusapi_get_cluster_version</term><listitem><para>Get cluster version</para></listitem></varlistentry>
+ <varlistentry><term>clusapi_get_quorum_resource</term><listitem><para>Get quorum resource</para></listitem></varlistentry>
+ <varlistentry><term>clusapi_create_enum</term><listitem><para>Create enum query</para></listitem></varlistentry>
+ <varlistentry><term>clusapi_create_enumex</term><listitem><para>Create enumex query</para></listitem></varlistentry>
+ <varlistentry><term>clusapi_open_resource</term><listitem><para>Open cluster resource</para></listitem></varlistentry>
+ <varlistentry><term>clusapi_online_resource</term><listitem><para>Set cluster resource online</para></listitem></varlistentry>
+ <varlistentry><term>clusapi_offline_resource</term><listitem><para>Set cluster resource offline</para></listitem></varlistentry>
+ <varlistentry><term>clusapi_get_resource_state</term><listitem><para>Get cluster resource state</para></listitem></varlistentry>
+ <varlistentry><term>clusapi_get_cluster_version2</term><listitem><para>Get cluster version2</para></listitem></varlistentry>
+ <varlistentry><term>clusapi_pause_node</term><listitem><para>Pause cluster node</para></listitem></varlistentry>
+ <varlistentry><term>clusapi_resume_node</term><listitem><para>Resume cluster node</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>DRSUAPI</title>
+ <variablelist>
+ <varlistentry><term>dscracknames</term><listitem><para>Crack Name</para></listitem></varlistentry>
+ <varlistentry><term>dsgetdcinfo</term><listitem><para>Get Domain Controller Info</para></listitem></varlistentry>
+ <varlistentry><term>dsgetncchanges</term><listitem><para>Get NC Changes</para></listitem></varlistentry>
+ <varlistentry><term>dswriteaccountspn</term><listitem><para>Write Account SPN</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>ECHO</title>
+ <variablelist>
+ <varlistentry><term>echoaddone</term><listitem><para>Add one to a number</para></listitem></varlistentry>
+ <varlistentry><term>echodata</term><listitem><para>Echo data</para></listitem></varlistentry>
+ <varlistentry><term>sinkdata</term><listitem><para>Sink data</para></listitem></varlistentry>
+ <varlistentry><term>sourcedata</term><listitem><para>Source data</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>EPMAPPER</title>
+ <variablelist>
+ <varlistentry><term>epmmap</term><listitem><para>Map a binding</para></listitem></varlistentry>
+ <varlistentry><term>epmlookup</term><listitem><para>Lookup bindings</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>EVENTLOG</title>
+ <variablelist>
+ <varlistentry><term>eventlog_readlog</term><listitem><para>Read Eventlog</para></listitem></varlistentry>
+ <varlistentry><term>eventlog_numrecord</term><listitem><para>Get number of records</para></listitem></varlistentry>
+ <varlistentry><term>eventlog_oldestrecord</term><listitem><para>Get oldest record</para></listitem></varlistentry>
+ <varlistentry><term>eventlog_reportevent</term><listitem><para>Report event</para></listitem></varlistentry>
+ <varlistentry><term>eventlog_reporteventsource</term><listitem><para>Report event and source</para></listitem></varlistentry>
+ <varlistentry><term>eventlog_registerevsource</term><listitem><para>Register event source</para></listitem></varlistentry>
+ <varlistentry><term>eventlog_backuplog</term><listitem><para>Backup Eventlog File</para></listitem></varlistentry>
+ <varlistentry><term>eventlog_loginfo</term><listitem><para>Get Eventlog Information</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>IRemoteWinspool</title>
+ <variablelist>
+ <varlistentry><term>winspool_AsyncOpenPrinter</term><listitem><para>Open printer handle</para></listitem></varlistentry>
+ <varlistentry><term>winspool_AsyncCorePrinterDriverInstalled</term><listitem><para>Query Core Printer Driver Installed</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>NTSVCS</title>
+ <variablelist>
+ <varlistentry><term>ntsvcs_getversion</term><listitem><para>Query NTSVCS version</para></listitem></varlistentry>
+ <varlistentry><term>ntsvcs_validatedevinst</term><listitem><para>Query NTSVCS device instance</para></listitem></varlistentry>
+ <varlistentry><term>ntsvcs_hwprofflags</term><listitem><para>Query NTSVCS HW prof flags</para></listitem></varlistentry>
+ <varlistentry><term>ntsvcs_hwprofinfo</term><listitem><para>Query NTSVCS HW prof info</para></listitem></varlistentry>
+ <varlistentry><term>ntsvcs_getdevregprop</term><listitem><para>Query NTSVCS device registry property</para></listitem></varlistentry>
+ <varlistentry><term>ntsvcs_getdevlistsize</term><listitem><para>Query NTSVCS device list size</para></listitem></varlistentry>
+ <varlistentry><term>ntsvcs_getdevlist</term><listitem><para>Query NTSVCS device list</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>MDSSVC</title>
+ <variablelist>
+ <varlistentry><term>fetch_properties</term><listitem><para>Fetch connection properties</para></listitem></varlistentry>
+ <varlistentry><term>fetch_attributes</term><listitem><para>Fetch attributes for a CNID</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>WINREG</title>
+ <variablelist>
+ <varlistentry><term>winreg_enumkey</term><listitem><para>Enumerate Keys</para></listitem></varlistentry>
+ <varlistentry><term>querymultiplevalues</term><listitem><para>Query multiple values</para></listitem></varlistentry>
+ <varlistentry><term>querymultiplevalues2</term><listitem><para>Query multiple values</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>WITNESS</title>
+ <variablelist>
+ <varlistentry><term>GetInterfaceList</term><listitem><para>List the interfaces to which witness client connections can be made</para></listitem></varlistentry>
+ <varlistentry><term>Register</term><listitem><para>Register for resource state change notifications of a NetName and IPAddress</para></listitem></varlistentry>
+ <varlistentry><term>UnRegister</term><listitem><para>Unregister for notifications from the server</para></listitem></varlistentry>
+ <varlistentry><term>AsyncNotify</term><listitem><para>Request notification of registered resource changes from the server</para></listitem></varlistentry>
+ <varlistentry><term>RegisterEx</term><listitem><para>Register for resource state change notifications of a NetName, ShareName and multiple IPAddresses</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>WKSSVC</title>
+ <variablelist>
+ <varlistentry><term>wkssvc_wkstagetinfo</term><listitem><para>Query WKSSVC Workstation Information</para></listitem></varlistentry>
+ <varlistentry><term>wkssvc_getjoininformation</term><listitem><para>Query WKSSVC Join Information</para></listitem></varlistentry>
+ <varlistentry><term>wkssvc_messagebuffersend</term><listitem><para>Send WKSSVC message</para></listitem></varlistentry>
+ <varlistentry><term>wkssvc_enumeratecomputernames</term><listitem><para>Enumerate WKSSVC computer names</para></listitem></varlistentry>
+ <varlistentry><term>wkssvc_enumerateusers</term><listitem><para>Enumerate WKSSVC users</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+
+ <refsect2>
+ <title>GENERAL OPTIONS</title>
+ <variablelist>
+ <varlistentry><term>help</term><listitem><para>Get help on commands</para></listitem></varlistentry>
+ <varlistentry><term>?</term><listitem><para>Get help on commands</para></listitem></varlistentry>
+ <varlistentry><term>debuglevel</term><listitem><para>Set debug level</para></listitem></varlistentry>
+ <varlistentry><term>debug</term><listitem><para>Set debug level</para></listitem></varlistentry>
+ <varlistentry><term>list</term><listitem><para>List available commands on pipe</para></listitem></varlistentry>
+ <varlistentry><term>exit</term><listitem><para>Exit program</para></listitem></varlistentry>
+ <varlistentry><term>quit</term><listitem><para>Exit program</para></listitem></varlistentry>
+ <varlistentry><term>sign</term><listitem><para>Force RPC pipe connections to be signed</para></listitem></varlistentry>
+ <varlistentry><term>seal</term><listitem><para>Force RPC pipe connections to be sealed</para></listitem></varlistentry>
+ <varlistentry><term>packet</term><listitem><para>Force RPC pipe connections with packet authentication level</para></listitem></varlistentry>
+ <varlistentry><term>schannel</term><listitem><para>Force RPC pipe connections to be sealed with 'schannel'. Force RPC pipe connections to be sealed with 'schannel'. Assumes valid machine account to this domain controller.</para></listitem></varlistentry>
+ <varlistentry><term>schannelsign</term><listitem><para>Force RPC pipe connections to be signed (not sealed) with 'schannel'. Assumes valid machine account to this domain controller.</para></listitem></varlistentry>
+ <varlistentry><term>timeout</term><listitem><para>Set timeout (in milliseconds) for RPC operations</para></listitem></varlistentry>
+ <varlistentry><term>transport</term><listitem><para>Choose ncacn transport for RPC operations</para></listitem></varlistentry>
+ <varlistentry><term>none</term><listitem><para>Force RPC pipe connections to have no special properties</para></listitem></varlistentry>
+ </variablelist>
+ </refsect2>
+
+</refsect1>
+
+<refsect1>
+ <title>BUGS</title>
+
+ <para><command>rpcclient</command> is designed as a developer testing tool
+ and may not be robust in certain areas (such as command line parsing).
+ It has been known to generate a core dump upon failures when invalid
+ parameters were passed to the interpreter. </para>
+
+ <para>From Luke Leighton's original rpcclient man page:</para>
+
+ <para><emphasis>WARNING!</emphasis> The MSRPC over SMB code has
+ been developed from examining Network traces. No documentation is
+ available from the original creators (Microsoft) on how MSRPC over
+ SMB works, or how the individual MSRPC services work. Microsoft's
+ implementation of these services has been demonstrated (and reported)
+ to be... a bit flaky in places. </para>
+
+ <para>The development of Samba's implementation is also a bit rough,
+ and as more of the services are understood, it can even result in
+ versions of <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> and <citerefentry><refentrytitle>rpcclient</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> that are incompatible for some commands or services. Additionally,
+ the developers are sending reports to Microsoft, and problems found
+ or reported to Microsoft are fixed in Service Packs, which may
+ result in incompatibilities.</para>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of the Samba
+ suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>AUTHOR</title>
+
+ <para>The original Samba software and related utilities
+ were created by Andrew Tridgell. Samba is now developed
+ by the Samba Team as an Open Source project similar
+ to the way the Linux kernel is developed.</para>
+
+ <para>The original rpcclient man page was written by Matthew
+ Geddes, Luke Kenneth Casson Leighton, and rewritten by Gerald Carter.
+ The conversion to DocBook for Samba 2.2 was done by Gerald
+ Carter. The conversion to DocBook XML 4.2 for Samba 3.0 was
+ done by Alexander Bokovoy.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/samba-bgqd.8.xml b/docs-xml/manpages/samba-bgqd.8.xml
new file mode 100644
index 0000000..ef50a54
--- /dev/null
+++ b/docs-xml/manpages/samba-bgqd.8.xml
@@ -0,0 +1,48 @@
+<?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="samba-bgqd.8">
+
+<refmeta>
+ <refentrytitle>samba-bgqd</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>samba-bgqd</refname>
+ <refpurpose>This is an internal helper program performing
+ asynchronous printing-related jobs.</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>samba-bgqd</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This tool is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>samba-bgqd is an helper program to be spawned by smbd or
+ spoolssd to perform jobs like updating the printer list or
+ other management tasks asynchronously on demand. It is not
+ intended to be called by users or administrators.</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/samba-dcerpcd.8.xml b/docs-xml/manpages/samba-dcerpcd.8.xml
new file mode 100644
index 0000000..2df4f27
--- /dev/null
+++ b/docs-xml/manpages/samba-dcerpcd.8.xml
@@ -0,0 +1,210 @@
+<?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="samba-dcerpcd.8">
+
+<refmeta>
+ <refentrytitle>samba-dcerpcd</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>samba-dcerpcd</refname>
+ <refpurpose>This is one of Samba's DCERPC server processes
+ that can listen on sockets where RPC services are offered and
+ is the parent process of the DCERPC services it
+ invokes. Unless separately invoked it is started on demand
+ from <command>smbd</command> or <command>winbind</command> and
+ serves DCERPC only over named pipes (np) as a helper
+ process. This will be the standard setup for most
+ installations (standalone/member server/AD server) unless they
+ modify their startup scripts. Note in when Samba is configured
+ as an Active Directory Domain controller the
+ <command>samba</command> process that invokes
+ <command>smbd</command> will still provide its normal DCERPC
+ services, not <command>samba-dcerpcd</command>. When
+ separately invoked by system startup scripts or a daemon,
+ the global smb.conf option <smbconfoption name="rpc start on
+ demand helpers">false</smbconfoption> MUST be set to allow
+ <command>samba-dcerpcd</command> to start standalone.
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>samba-dcerpcd</command>
+ <arg choice="opt">-D|--daemon</arg>
+ <arg choice="opt">-i|--interactive</arg>
+ <arg choice="opt">-F|--foreground</arg>
+ <arg choice="opt">--no-process-group</arg>
+ <arg choice="opt">-d &lt;debug level&gt;</arg>
+ <arg choice="opt">--debug-stdout</arg>
+ <arg choice="opt">--configfile=&lt;configuration file&gt;</arg>
+ <arg choice="opt">--option=&lt;name&gt;=&lt;value&gt;</arg>
+ <arg choice="opt">--leak-report</arg>
+ <arg choice="opt">--leak-report-full</arg>
+ <arg choice="opt">-V|--version</arg>
+ <arg choice="opt">--libexec-rpcds</arg>
+ <arg choice="opt">--np-helper</arg>
+ <arg choice="opt">--ready-signal-fd=&lt;fd&gt;</arg>
+ <arg choice="opt">&lt;SERVICE_1&gt;</arg>
+ <arg choice="opt">&lt;SERVICE_2&gt;</arg>
+ <arg choice="opt">&lt;...&gt;</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>
+ samba-dcerpcd can be used in two ways. In the normal case
+ without startup script modification and the global smb.conf
+ option <smbconfoption name="rpc start on demand
+ helpers">true</smbconfoption> is set (the default setting),
+ it is invoked on demand from <command>smbd</command> or
+ <command>winbind</command> with a command line
+ containing --np-helper to serve DCERPC over named pipes
+ (np). It can also be used in a standalone mode where it is
+ started separately from <command>smbd</command> or
+ <command>winbind</command> via system startup scripts. If
+ invoked as a standalone daemon or started from system
+ startup scripts the global smb.conf option <smbconfoption
+ name="rpc start on demand helpers">false</smbconfoption>
+ MUST be set to false. If the global smb.conf option
+ <smbconfoption name="rpc start on demand
+ helpers">true</smbconfoption> is set to true or left as
+ default, <command>samba-dcerpcd</command> will fail to start
+ and log an error message.
+ </para>
+ <para>
+ Note that when Samba is run in the Active Directory Domain
+ Controller mode the <command>samba</command> AD code will
+ still provide its normal DCERPC services whilst allowing
+ samba-dcerpcd to provide services like SRVSVC in the same
+ way that <command>smbd</command> used to in this
+ configuration.
+ </para>
+ <para>
+ The standalone mode can also be useful for use outside of
+ the Samba framework, for example, use with the Linux kernel
+ SMB2 server ksmbd or possibly other SMB2 server
+ implementations. In this mode it behaves like inetd and
+ listens on sockets on behalf of RPC server implementations.
+ </para>
+ <para>
+ When a client connects, <command>samba-dcerpcd</command>
+ will start the relevant RPC service binary on demand and
+ hand over the connection to that service. When an RPC
+ service has been idle for a while,
+ <command>samba-dcerpcd</command> will ask it to shut down
+ again.
+ </para>
+
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-D|--daemon</term>
+ <listitem><para>If specified, this parameter causes
+ the server to operate as a daemon. That is, it
+ detaches itself and runs in the background, fielding
+ requests on the appropriate port. Operating the server
+ as a daemon is useful for running
+ <command>samba-dcerpcd</command> outside of the Samba
+ framework. However, it can also be used in this way
+ within Samba for member servers if configured to start
+ up via system startup scripts. This switch is assumed
+ if <command>samba-dcerpcd</command> is executed on the
+ command line of a shell. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-i|--interactive</term>
+ <listitem><para>If this parameter is specified it
+ causes the server to run "interactively", not as a
+ daemon, even if the server is executed on the command
+ line of a shell. Setting this parameter negates the
+ implicit daemon mode when run from the command
+ line. <command>samba-dcerpcd</command> will only
+ accept one connection and terminate. It will also log
+ to standard output, as if the <command>-S</command>
+ parameter had been given.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-F|--foreground</term>
+ <listitem><para>If specified, this parameter causes
+ the main <command>samba-dcerpcd</command> process to
+ not daemonize, i.e. double-fork and disassociate with
+ the terminal. Child processes are still spawned as
+ normal to service each connection request, but the
+ main process does not exit. This operation mode is
+ suitable for running <command>samba-dcerpcd</command>
+ under process supervisors such as
+ <command>supervise</command> and
+ <command>svscan</command> from Daniel J. Bernstein's
+ <command>daemontools</command> package, or the AIX
+ process monitor. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--no-process-group</term>
+ <listitem><para>Do not create a new process group for
+ samba-dcerpcd.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--libexec-rpcds</term>
+ <listitem><para>Offer RPC services for all daemons in
+ Samba's LIBEXECDIR, all programs starting with
+ &quot;rpcd_&quot; are assumed to offer RPC
+ services. If you don't use the
+ <command>--libexec-rpcds</command> option, you can
+ explicitly list all RPC service helpers explicitly on
+ the command line.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--np-helper</term>
+ <listitem><para>Run <command>samba-dcerpcd</command>
+ on demand opening named pipe sockets as helpers for
+ <command>smbd</command> or <command>winbind</command>.
+ In order to run in this mode, the global smb.conf
+ option <smbconfoption name="rpc start on demand
+ helpers">true</smbconfoption> must be set to true
+ (this is the default setting). </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--ready-signal-fd=&lt;fd&gt;</term>
+ <listitem><para>Report service readiness via this fd
+ to <command>smbd</command>. Only for internal use.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/samba-log-parser.1.xml b/docs-xml/manpages/samba-log-parser.1.xml
new file mode 100644
index 0000000..7a62cd1
--- /dev/null
+++ b/docs-xml/manpages/samba-log-parser.1.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
+<refentry id="samba-log-parser.1">
+
+<refmeta>
+ <refentrytitle>samba-log-parser</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>samba-log-parser</refname>
+ <refpurpose>Samba (winbind) trace parser.</refpurpose>
+</refnamediv>
+options:
+ -h, --help show this help message and exit
+ --traceid ID specify the traceid of the trace records
+ --pid PID specify the pid of winbind client
+ --breakdown breakdown the traces into per traceid files
+ --merge-by-timestamp merge logs by timestamp
+ --flow show the request/sub-request flow traces
+ --flow-compact show the request/sub-request flow traces without dcerpc details
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>samba-log-parser</command>
+ <arg choice="req">path</arg>
+ <arg choice="opt">--pid=PID</arg>
+ <arg choice="opt">--traceid=ID</arg>
+ <arg choice="opt">--breakdown</arg>
+ <arg choice="opt">--merge-by-timestamp</arg>
+ <arg choice="opt">--flow</arg>
+ <arg choice="opt">--flow-compact</arg>
+ <arg choice="opt">-h|--help</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 <command>samba-log-parser</command> program parses samba winbind
+ logs.</para>
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <para>The following options are available to the <command>samba-log-parser</command> program.
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--pid=PID</term>
+ <listitem><para>Display traces for winbind client with the matching PID.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--traceid=ID</term>
+ <listitem><para>Display traces with matching traceid debug header field.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--breakdown</term>
+ <listitem><para>Break down all traces to separate files in the current
+ working directory. For each traceid, three files are created:
+ traceid.full
+ traceid.flow
+ traceid.flowcompact
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--merge-by-timestamp</term>
+ <listitem><para>Sort the trace lines according to the timestamp.
+ Works with log files without traceid header field as well.
+ </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>--flow</term>
+ <listitem><para>Display the request/sub-request flow.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--flow-compact</term>
+ <listitem><para>Display the request/sub-request flow without dcerpc
+ call details.
+ </para></listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Show the flow traces for trace id
+ <parameter>1234</parameter> from log file log.winbind:
+ </para>
+ <programlisting>
+ # samba-log-parser --traceid 1234 --flow /var/log/samba/log.winbind
+ </programlisting>
+
+ <para>Show the full traces for winbind client with PID
+ <parameter>999999</parameter>
+ sorted using the timestamp for log files found in the samba log directory:
+ </para>
+
+ <programlisting>
+ # samba-log-parser --pid 999999 --merge-by-timestamp /var/log/samba
+ </programlisting>
+
+ <para>Break down the traces into separate files according to traceid sorted
+ using the timestamp for log files found in the samba log directory:
+ </para>
+
+ <programlisting>
+ # samba-log-parser --breakdown --merge-by-timestamp /var/log/samba
+ </programlisting>
+
+ <para>Sort traces using the timestamp for log files found in the samba log
+ directory. Traces do not need to contain the traceid header field.
+ </para>
+
+ <programlisting>
+ # samba-log-parser --merge-by-timestamp /var/log/samba
+ </programlisting>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/samba-regedit.8.xml b/docs-xml/manpages/samba-regedit.8.xml
new file mode 100644
index 0000000..2cda0c0
--- /dev/null
+++ b/docs-xml/manpages/samba-regedit.8.xml
@@ -0,0 +1,99 @@
+<?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="samba-regedit.8">
+
+<refmeta>
+ <refentrytitle>samba-regedit</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>samba-regedit</refname>
+ <refpurpose>ncurses based tool to manage the Samba registry</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>samba-regedit</command>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</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>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+ <para><command>samba-regedit</command> is a ncurses based tool to manage the Samba
+ registry. It can be used to show/edit registry keys/subkeys and
+ their values.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+ <variablelist>
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ &cmdline.common.connection;
+ &cmdline.common.credentials;
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> and <citerefentry><refentrytitle>net</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>.</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 samba-regedit man page was written by Karolin Seeger.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/samba-tool.8.xml b/docs-xml/manpages/samba-tool.8.xml
new file mode 100644
index 0000000..3471b0e
--- /dev/null
+++ b/docs-xml/manpages/samba-tool.8.xml
@@ -0,0 +1,2906 @@
+<?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="samba-tool.8">
+
+<refmeta>
+ <refentrytitle>samba-tool</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>samba-tool</refname>
+ <refpurpose>Main Samba administration tool.
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>samba-tool</command>
+ <arg choice="opt">-h</arg>
+ <arg choice="opt">-W myworkgroup</arg>
+ <arg choice="opt">-U user</arg>
+ <arg choice="opt">-d debuglevel</arg>
+ <arg choice="opt">--v</arg>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+ <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>-h|--help</term>
+ <listitem><para>
+ Show this help message and exit
+ </para></listitem>
+ </varlistentry>
+
+ &cmdline.common.connection.realm;
+
+ &cmdline.common.credentials.simplebinddn;
+
+ &cmdline.common.credentials.password;
+
+ &cmdline.common.credentials.user;
+
+ &cmdline.common.connection.workgroup;
+
+ &cmdline.common.credentials.nopass;
+
+ &cmdline.common.credentials.usekerberos;
+
+ &cmdline.common.credentials.usekrb5ccache;
+
+ &cmdline.common.credentials.authenticationfile;
+
+ <varlistentry>
+ <term>--ipaddress=IPADDRESS</term>
+ <listitem><para>
+ IP address of the server
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--color=always|never|auto</term>
+ <listitem>
+ <para>
+ Indicate whether samba-tool should use ANSI colour codes
+ in its output. If 'auto' (the default), samba-tool will
+ use colour when its output is directed toward a terminal,
+ unless the NO_COLOR environment variable is set and
+ non-empty.
+ </para>
+ <para>
+ The values 'yes' and 'force' are accepted as synonyms for
+ 'always'; 'no' and 'none' for 'never'; and 'tty' and
+ 'if-tty' for 'auto'.
+ </para>
+ <para>
+ Note that asking for colour doesn't mean samba-tool will
+ necessarily be very colourful. Many commands are very
+ monochrome, particularly when successful.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ &cmdline.common.debug.client;
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+<title>COMMANDS</title>
+
+<refsect2>
+ <title>computer</title>
+ <para>Manage computer accounts.</para>
+</refsect2>
+
+<refsect3>
+ <title>computer add <replaceable>computername</replaceable> [options]</title>
+ <para>Add a new computer to the Active Directory Domain.</para>
+ <para>The new computer name specified on the command is the
+ sAMAccountName, with or without the trailing dollar sign.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--computerou=COMPUTEROU</term>
+ <listitem><para>
+ DN of alternative location (with or without domainDN counterpart) to
+ default CN=Computers in which new computer object will be created.
+ E.g. 'OU=OUname'.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--description=DESCRIPTION</term>
+ <listitem><para>
+ The new computer's description.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--ip-address=IP_ADDRESS_LIST</term>
+ <listitem><para>
+ IPv4 address for the computer's A record, or IPv6 address for AAAA record,
+ can be provided multiple times.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--service-principal-name=SERVICE_PRINCIPAL_NAME_LIST</term>
+ <listitem><para>
+ Computer's Service Principal Name, can be provided multiple times.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--prepare-oldjoin</term>
+ <listitem><para>
+ Prepare enabled machine account for oldjoin mechanism.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>computer create <replaceable>computername</replaceable> [options]</title>
+ <para>Add a new computer. This is a synonym for the
+ <command>samba-tool computer add</command> command and is available
+ for compatibility reasons only. Please use
+ <command>samba-tool computer add</command> instead.</para>
+</refsect3>
+
+<refsect3>
+ <title>computer delete <replaceable>computername</replaceable> [options]</title>
+ <para>Delete an existing computer account.</para>
+ <para>The computer name specified on the command is the
+ sAMAccountName, with or without the trailing dollar sign.</para>
+</refsect3>
+
+<refsect3>
+ <title>computer edit <replaceable>computername</replaceable></title>
+ <para>Edit a computer AD object.</para>
+ <para>The computer name specified on the command is the
+ sAMAccountName, with or without the trailing dollar sign.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--editor=EDITOR</term>
+ <listitem><para>
+ Specifies the editor to use instead of the system default, or 'vi' if no
+ system default is set.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>computer list</title>
+ <para>List all computers.</para>
+</refsect3>
+
+<refsect3>
+ <title>computer move <replaceable>computername</replaceable> <replaceable>new_parent_dn</replaceable> [options]</title>
+ <para>This command moves a computer account into the specified
+ organizational unit or container.</para>
+ <para>The computername specified on the command is the
+ sAMAccountName, with or without the trailing dollar sign.</para>
+ <para>The name of the organizational unit or container can be
+ specified as a full DN or without the domainDN component.</para>
+</refsect3>
+
+<refsect3>
+ <title>computer show <replaceable>computername</replaceable> [options]</title>
+ <para>Display a computer AD object.</para>
+ <para>The computer name specified on the command is the
+ sAMAccountName, with or without the trailing dollar sign.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--attributes=USER_ATTRS</term>
+ <listitem><para>
+ Comma separated list of attributes, which will be printed.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect2>
+ <title>contact</title>
+ <para>Manage contacts.</para>
+</refsect2>
+
+<refsect3>
+ <title>contact add [<replaceable>contactname</replaceable>] [options]</title>
+ <para>Add a new contact to the Active Directory Domain.</para>
+ <para>The name of the new contact can be specified by the first
+ argument 'contactname' or the --given-name, --initial and --surname
+ arguments. If no 'contactname' is given, contact's name will be made
+ up of the given arguments by combining the given-name, initials and
+ surname. Each argument is optional. A dot ('.') will be appended to
+ the initials automatically.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--ou=OU</term>
+ <listitem><para>
+ DN of alternative location (with or without domainDN counterpart) in
+ which the new contact will be created.
+ E.g. 'OU=OUname'.
+ Default is the domain base.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--description=DESCRIPTION</term>
+ <listitem><para>
+ The new contact's description.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--surname=SURNAME</term>
+ <listitem><para>
+ Contact's surname.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--given-name=GIVEN_NAME</term>
+ <listitem><para>
+ Contact's given name.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--initials=INITIALS</term>
+ <listitem><para>
+ Contact's initials.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--display-name=DISPLAY_NAME</term>
+ <listitem><para>
+ Contact's display name.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--job-title=JOB_TITLE</term>
+ <listitem><para>
+ Contact's job title.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--department=DEPARTMENT</term>
+ <listitem><para>
+ Contact's department.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--company=COMPANY</term>
+ <listitem><para>
+ Contact's company.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--mail-address=MAIL_ADDRESS</term>
+ <listitem><para>
+ Contact's email address.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--internet-address=INTERNET_ADDRESS</term>
+ <listitem><para>
+ Contact's home page.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--telephone-number=TELEPHONE_NUMBER</term>
+ <listitem><para>
+ Contact's phone number.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--mobile-number=MOBILE_NUMBER</term>
+ <listitem><para>
+ Contact's mobile phone number.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--physical-delivery-office=PHYSICAL_DELIVERY_OFFICE</term>
+ <listitem><para>
+ Contact's office location.
+ </para></listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>contact create [<replaceable>contactname</replaceable>] [options]</title>
+ <para>Add a new contact. This is a synonym for the
+ <command>samba-tool contact add</command> command and is available
+ for compatibility reasons only. Please use
+ <command>samba-tool contact add</command> instead.</para>
+</refsect3>
+
+<refsect3>
+ <title>contact delete <replaceable>contactname</replaceable> [options]</title>
+ <para>Delete an existing contact.</para>
+ <para>The contactname specified on the command is the common name or the
+ distinguished name of the contact object. The distinguished name of the
+ contact can be specified with or without the domainDN component.</para>
+</refsect3>
+
+<refsect3>
+ <title>contact edit <replaceable>contactname</replaceable></title>
+ <para>Modify a contact AD object.</para>
+ <para>The contactname specified on the command is the common name or the
+ distinguished name of the contact object. The distinguished name of the
+ contact can be specified with or without the domainDN component.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--editor=EDITOR</term>
+ <listitem><para>
+ Specifies the editor to use instead of the system default, or 'vi' if no
+ system default is set.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>contact list [options]</title>
+ <para>List all contacts.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--full-dn</term>
+ <listitem><para>
+ Display contact's full DN instead of the name.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>contact move <replaceable>contactname</replaceable> <replaceable>new_parent_dn</replaceable> [options]</title>
+ <para>This command moves a contact into the specified organizational
+ unit or container.</para>
+ <para>The contactname specified on the command is the common name or the
+ distinguished name of the contact object. The distinguished name of the
+ contact can be specified with or without the domainDN component.</para>
+</refsect3>
+
+<refsect3>
+ <title>contact show <replaceable>contactname</replaceable> [options]</title>
+ <para>Display a contact AD object.</para>
+ <para>The contactname specified on the command is the common name or the
+ distinguished name of the contact object. The distinguished name of the
+ contact can be specified with or without the domainDN component.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--attributes=CONTACT_ATTRS</term>
+ <listitem><para>
+ Comma separated list of attributes, which will be printed.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>contact rename <replaceable>contactname</replaceable> [options]</title>
+ <para>Rename a contact and related attributes.</para>
+ <para>This command allows to set the contact's name related attributes. The contact's
+ CN will be renamed automatically.
+ The contact's new CN will be made up by combining the given-name, initials
+ and surname. A dot ('.') will be appended to the initials automatically,
+ if required.
+ Use the --force-new-cn option to specify the new CN manually and --reset-cn
+ to reset this change.</para>
+ <para>Use an empty attribute value to remove the specified attribute.</para>
+ <para>The contact name specified on the command is the CN.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--surname=SURNAME</term>
+ <listitem><para>
+ New surname.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--given-name=GIVEN_NAME</term>
+ <listitem><para>
+ New given name.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--initials=INITIALS</term>
+ <listitem><para>
+ New initials.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--force-new-cn=NEW_CN</term>
+ <listitem><para>
+ Specify a new CN (RDN) instead of using a combination
+ of the given name, initials and surname.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--reset-cn</term>
+ <listitem><para>
+ Set the CN to the default combination of given name,
+ initials and surname.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--display-name=DISPLAY_NAME</term>
+ <listitem><para>
+ New display name.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--mail-address=MAIL_ADDRESS</term>
+ <listitem><para>
+ New email address.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect2>
+ <title>dbcheck</title>
+ <para>Check the local AD database for errors.</para>
+</refsect2>
+
+<refsect2>
+ <title>delegation</title>
+ <para>Manage Delegations.</para>
+</refsect2>
+
+<refsect3>
+ <title>delegation add-service <replaceable>accountname</replaceable> <replaceable>principal</replaceable> [options]</title>
+ <para>Add a service principal as msDS-AllowedToDelegateTo.</para>
+</refsect3>
+
+<refsect3>
+ <title>delegation del-service <replaceable>accountname</replaceable> <replaceable>principal</replaceable> [options]</title>
+ <para>Delete a service principal as msDS-AllowedToDelegateTo.</para>
+</refsect3>
+
+<refsect3>
+ <title>delegation for-any-protocol <replaceable>accountname</replaceable> [(on|off)] [options]</title>
+ <para>Set/unset UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION (S4U2Proxy)
+ for an account.</para>
+</refsect3>
+
+<refsect3>
+ <title>delegation for-any-service <replaceable>accountname</replaceable> [(on|off)] [options]</title>
+ <para>Set/unset UF_TRUSTED_FOR_DELEGATION for an account.</para>
+</refsect3>
+
+<refsect3>
+ <title>delegation show <replaceable>accountname</replaceable> [options] </title>
+ <para>Show the delegation setting of an account.</para>
+</refsect3>
+
+<refsect2>
+ <title>dns</title>
+ <para>Manage Domain Name Service (DNS).</para>
+</refsect2>
+
+<refsect3>
+ <title>dns add <replaceable>server</replaceable> <replaceable>zone</replaceable> <replaceable>name</replaceable> <replaceable>A|AAAA|PTR|CNAME|NS|MX|SRV|TXT</replaceable> <replaceable>data</replaceable></title>
+ <para>Add a DNS record.</para>
+</refsect3>
+
+<refsect3>
+ <title>dns delete <replaceable>server</replaceable> <replaceable>zone</replaceable> <replaceable>name</replaceable> <replaceable>A|AAAA|PTR|CNAME|NS|MX|SRV|TXT</replaceable> <replaceable>data</replaceable></title>
+ <para>Delete a DNS record.</para>
+</refsect3>
+
+<refsect3>
+ <title>dns query <replaceable>server</replaceable> <replaceable>zone</replaceable> <replaceable>name</replaceable> <replaceable>A|AAAA|PTR|CNAME|NS|MX|SRV|TXT|ALL</replaceable> [options] <replaceable>data</replaceable></title>
+ <para>Query a name.</para>
+</refsect3>
+
+<refsect3>
+ <title>dns roothints <replaceable>server</replaceable> [<replaceable>name</replaceable>] [options]</title>
+ <para>Query root hints.</para>
+</refsect3>
+
+<refsect3>
+ <title>dns serverinfo <replaceable>server</replaceable> [options]</title>
+ <para>Query server information.</para>
+</refsect3>
+
+<refsect3>
+ <title>dns update <replaceable>server</replaceable> <replaceable>zone</replaceable> <replaceable>name</replaceable> <replaceable>A|AAAA|PTR|CNAME|NS|MX|SRV|TXT</replaceable> <replaceable>olddata</replaceable> <replaceable>newdata</replaceable></title>
+ <para>Update a DNS record.</para>
+</refsect3>
+
+<refsect3>
+ <title>dns zonecreate <replaceable>server</replaceable> <replaceable>zone</replaceable> [options]</title>
+ <para>Create a zone.</para>
+</refsect3>
+
+<refsect3>
+ <title>dns zonedelete <replaceable>server</replaceable> <replaceable>zone</replaceable> [options]</title>
+ <para>Delete a zone.</para>
+</refsect3>
+
+<refsect3>
+ <title>dns zoneinfo <replaceable>server</replaceable> <replaceable>zone</replaceable> [options]</title>
+ <para>Query zone information.</para>
+</refsect3>
+
+<refsect3>
+ <title>dns zonelist <replaceable>server</replaceable> [options]</title>
+ <para>List zones.</para>
+</refsect3>
+
+<refsect2>
+ <title>domain</title>
+ <para>Manage Domain.</para>
+</refsect2>
+
+<refsect3>
+ <title>domain backup</title>
+ <para>Create or restore a backup of the domain.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain backup offline</title>
+ <para>Backup (with proper locking) local domain directories into a tar file.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain backup online</title>
+ <para>Copy a running DC's current DB into a backup tar file.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain backup rename</title>
+ <para>Copy a running DC's DB to backup file, renaming the domain in the process.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain backup restore</title>
+ <para>Restore the domain's DB from a backup-file.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain auth policy list</title>
+ <para>List authentication policies on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--json</term>
+ <listitem><para>
+ View authentication policies as JSON instead of a list.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain auth policy view</title>
+ <para>View an authentication policy on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Name of the authentication policy to view (required).
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain auth policy create</title>
+ <para>Create authentication policies on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Name of the authentication policy (required).
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--description</term>
+ <listitem><para>
+ Optional description for the authentication policy.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--protect</term>
+ <listitem>
+ <para>
+ Protect authentication policy from accidental deletion.
+ </para>
+ <para>
+ Cannot be used together with --unprotect.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--unprotect</term>
+ <listitem>
+ <para>
+ Unprotect authentication policy from accidental deletion.
+ </para>
+ <para>
+ Cannot be used together with --protect.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--audit</term>
+ <listitem>
+ <para>
+ Only audit authentication policy.
+ </para>
+ <para>
+ Cannot be used together with --enforce.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--enforce</term>
+ <listitem>
+ <para>
+ Enforce authentication policy.
+ </para>
+ <para>
+ Cannot be used together with --audit.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--strong-ntlm-policy</term>
+ <listitem>
+ <para>
+ Strong NTLM Policy (Disabled, Optional, Required).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--user-tgt-lifetime-mins</term>
+ <listitem>
+ <para>
+ Ticket-Granting-Ticket lifetime for user accounts.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--user-allow-ntlm-auth</term>
+ <listitem>
+ <para>
+ Allow <constant>NTLM</constant> and <constant>
+ Interactive NETLOGON SamLogon</constant>
+ authentication despite the
+ fact that
+ <constant>allowed-to-authenticate-from</constant>
+ is in use, which would
+ otherwise restrict the user to selected devices.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--user-allowed-to-authenticate-from</term>
+ <listitem>
+ <para>
+ Conditions a device must meet
+ for users covered by this
+ policy to be allowed to
+ authenticate. While this is a
+ restriction on the device,
+ any conditional ACE rules are
+ expressed as if the device was
+ a user.
+ </para>
+ <para>
+ Must be a valid SDDL string
+ without reference to Device
+ keywords.
+ </para>
+ <para>
+ Example: O:SYG:SYD:(XA;OICI;CR;;;WD;(Member_of {SID(AU)}))
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--user-allowed-to-authenticate-from-silo</term>
+ <listitem>
+ <para>
+ User is allowed to
+ authenticate, if the device they
+ authenticate from is assigned
+ and granted membership of a
+ given silo.
+ </para>
+ <para>
+ This attribute avoids the need to write SDDL by hand and
+ cannot be used with --user-allowed-to-authenticate-from
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--user-allowed-to-authenticate-to=SDDL</term>
+ <listitem>
+ <para>
+ This policy, applying to a
+ user account that is offering
+ a service, eg a web server
+ with a user account, restricts
+ which accounts may access it.
+ </para>
+ <para>
+ Must be a valid SDDL string.
+ The SDDL can reference both
+ bare (user) and Device conditions.
+ </para>
+ <para>
+ SDDL Example: <constant>O:SYG:SYD:(XA;OICI;CR;;;WD;(Member_of {SID(AO)}))</constant>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--user-allowed-to-authenticate-to-by-group=GROUP</term>
+ <listitem>
+ <para>
+ The user account, offering a
+ network service, covered by
+ this policy, will only be allowed
+ access from other accounts
+ that are members of the given
+ <constant>GROUP</constant>.
+ </para>
+ <para>
+ This attribute avoids the need to write SDDL by hand and
+ cannot be used with --user-allowed-to-authenticate-to
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--user-allowed-to-authenticate-to-by-silo=SILO</term>
+ <listitem>
+ <para>
+ The user account, offering a
+ network service, covered by
+ this policy, will only be
+ allowed access from other accounts
+ that are assigned to,
+ granted membership of (and
+ meet any authentication
+ conditions of) the given SILO.
+ </para>
+ <para>
+ This attribute avoids the need to write SDDL by hand and
+ cannot be used with --user-allowed-to-authenticate-to
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--service-tgt-lifetime-mins</term>
+ <listitem>
+ <para>
+ Ticket-Granting-Ticket lifetime for service accounts.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--service-allow-ntlm-auth</term>
+ <listitem>
+ <para>
+ Allow NTLM network authentication when service
+ is restricted to selected devices.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--service-allowed-to-authenticate-from</term>
+ <listitem>
+ <para>
+ Conditions a device must meet
+ for service accounts covered
+ by this policy to be allowed
+ to authenticate. While this
+ is a restriction on the
+ device, any conditional ACE
+ rules are expressed as if the
+ device was a user.
+ </para>
+ <para>
+ Must be a valid SDDL string
+ without reference to Device
+ keywords.
+ </para>
+ <para>
+ SDDL Example: <constant>O:SYG:SYD:(XA;OICI;CR;;;WD;(Member_of {SID(AU)}))</constant>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--service-allowed-to-authenticate-from-device-silo=SILO</term>
+ <listitem>
+ <para>
+ The service account (eg a Managed
+ Service Account, Group Managed
+ Service Account) is allowed to
+ authenticate, if the device it
+ authenticates from is assigned
+ and granted membership of a
+ given <constant>SILO</constant>.
+ </para>
+ <para>
+ This attribute avoids the need to write SDDL by hand and
+ cannot be used with --service-allowed-to-authenticate-from
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--service-allowed-to-authenticate-from-device-group=GROUP</term>
+ <listitem>
+ <para>
+ The service account (eg a Managed
+ Service Account, Group Managed
+ Service Account) is allowed to
+ authenticate, if the device it
+ authenticates from is a member
+ of the given <constant>group</constant>.
+ </para>
+ <para>
+ This attribute avoids the need to write SDDL by hand and
+ cannot be used with --service-allowed-to-authenticate-from
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--service-allowed-to-authenticate-to=SDDL</term>
+ <listitem>
+ <para>
+ This policy, applying to a
+ service account (eg a Managed
+ Service Account, Group Managed
+ Service Account), restricts
+ which accounts may access it.
+ </para>
+ <para>
+ Must be a valid SDDL string.
+ The SDDL can reference both
+ bare (user) and Device conditions.
+ </para>
+ <para>
+ SDDL Example: <constant>O:SYG:SYD:(XA;OICI;CR;;;WD;(Member_of {SID(AO)}))</constant>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--service-allowed-to-authenticate-to-by-group=GROUP</term>
+ <listitem>
+ <para>
+ The service account (eg a Managed
+ Service Account, Group Managed
+ Service Account), will only be
+ allowed access by other accounts
+ that are members of the given
+ <constant>GROUP</constant>.
+ </para>
+ <para>
+ This attribute avoids the need to write SDDL by hand and
+ cannot be used with --service-allowed-to-authenticate-to
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--service-allowed-to-authenticate-to-by-silo=SILO</term>
+ <listitem>
+ <para>
+ The service account (eg a
+ Managed Service Account, Group
+ Managed Service Account), will
+ only be allowed access by other
+ accounts that are assigned
+ to, granted membership of (and
+ meet any authentication
+ conditions of) the given SILO.
+ </para>
+ <para>
+ This attribute avoids the need to write SDDL by hand and
+ cannot be used with --service-allowed-to-authenticate-to
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--computer-tgt-lifetime-mins</term>
+ <listitem>
+ <para>
+ Ticket-Granting-Ticket lifetime for computer accounts.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--computer-allowed-to-authenticate-to=SDDL</term>
+ <listitem>
+ <para>
+ This policy, applying to a
+ computer account (eg a server
+ or workstation), restricts
+ which accounts may access it.
+ </para>
+ <para>
+ Must be a valid SDDL string.
+ The SDDL can reference both
+ bare (user) and Device conditions.
+ </para>
+ <para>
+ SDDL Example: O:SYG:SYD:(XA;OICI;CR;;;WD;(Member_of {SID(AO)}))
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--computer-allowed-to-authenticate-to-by-group=GROUP</term>
+ <listitem>
+ <para>
+ The computer account (eg a server
+ or workstation), will only be
+ allowed access by other accounts
+ that are members of the given
+ <constant>GROUP</constant>.
+ </para>
+ <para>
+ This attribute avoids the need to write SDDL by hand and
+ cannot be used with --computer-allowed-to-authenticate-to
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--computer-allowed-to-authenticate-to-by-silo=SILO</term>
+ <listitem>
+ <para>
+ The computer account (eg a
+ server or workstation), will
+ only be allowed access by
+ other accounts that are
+ assigned to, granted
+ membership of (and meet any
+ authentication conditions of)
+ the given SILO.
+ </para>
+ <para>
+ This attribute avoids the need to write SDDL by hand and
+ cannot be used with --computer-allowed-to-authenticate-to
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain auth policy modify</title>
+ <para>Modify authentication policies on the domain. The same
+ options apply as for <constant>domain auth policy create</constant>.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain auth policy delete</title>
+ <para>Delete authentication policies on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Name of authentication policy to delete (required).
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--force</term>
+ <listitem><para>
+ Force authentication policy delete even if it is protected.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain auth silo list</title>
+ <para>List authentication silos on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--json</term>
+ <listitem><para>
+ View authentication silos as JSON instead of a list.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain auth silo view</title>
+ <para>View an authentication silo on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Name of the authentication silo to view (required).
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain auth silo create</title>
+ <para>Create authentication silos on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Name of the authentication silo (required).
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--description</term>
+ <listitem><para>
+ Optional description for the authentication silo.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--user-authentication-policy</term>
+ <listitem><para>
+ User account authentication policy.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--service-authentication-policy</term>
+ <listitem><para>
+ Managed service account authentication policy.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--computer-authentication-policy</term>
+ <listitem><para>
+ Computer authentication policy.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--protect</term>
+ <listitem>
+ <para>
+ Protect authentication silo from accidental deletion.
+ </para>
+ <para>
+ Cannot be used together with --unprotect.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--unprotect</term>
+ <listitem>
+ <para>
+ Unprotect authentication silo from accidental deletion.
+ </para>
+ <para>
+ Cannot be used together with --protect.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--audit</term>
+ <listitem>
+ <para>
+ Only audit silo policies.
+ </para>
+ <para>
+ Cannot be used together with --enforce.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--enforce</term>
+ <listitem>
+ <para>
+ Enforce silo policies.
+ </para>
+ <para>
+ Cannot be used together with --audit.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain auth silo modify</title>
+ <para>Modify authentication silos on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Name of the authentication silo (required).
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--description</term>
+ <listitem><para>
+ Optional description for the authentication silo.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--user-authentication-policy</term>
+ <listitem><para>
+ User account authentication policy.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--service-authentication-policy</term>
+ <listitem><para>
+ Managed service account authentication policy.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--computer-authentication-policy</term>
+ <listitem><para>
+ Computer authentication policy.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--protect</term>
+ <listitem>
+ <para>
+ Protect authentication silo from accidental deletion.
+ </para>
+ <para>
+ Cannot be used together with --unprotect.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--unprotect</term>
+ <listitem>
+ <para>
+ Unprotect authentication silo from accidental deletion.
+ </para>
+ <para>
+ Cannot be used together with --protect.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--audit</term>
+ <listitem>
+ <para>
+ Only audit silo policies.
+ </para>
+ <para>
+ Cannot be used together with --enforce.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--enforce</term>
+ <listitem>
+ <para>
+ Enforce silo policies.
+ </para>
+ <para>
+ Cannot be used together with --audit.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain auth silo delete</title>
+ <para>Delete authentication silos on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Name of authentication silo to delete (required).
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--force</term>
+ <listitem><para>
+ Force authentication silo delete even if it is protected.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain auth silo member grant</title>
+ <para>Grant a member access to an authentication silo.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Name of authentication silo (required).
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--member</term>
+ <listitem><para>
+ Member to grant access to the silo (DN or account name).
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain auth silo member list</title>
+ <para>List members in an authentication silo.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Name of authentication silo (required).
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--json</term>
+ <listitem><para>
+ View members as JSON instead of a list.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain auth silo member revoke</title>
+ <para>Revoke a member from an authentication silo.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Name of authentication silo (required).
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--member</term>
+ <listitem><para>
+ Member to revoke from the silo (DN or account name).
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain claim claim-type list</title>
+ <para>List claim types on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--json</term>
+ <listitem><para>
+ View claim types as JSON instead of a list.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain claim claim-type view</title>
+ <para>View a single claim type on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Display name of claim type to view (required).
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain claim claim-type create</title>
+ <para>Create claim types on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--attribute</term>
+ <listitem><para>
+ Attribute of claim type to create (required).
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--class</term>
+ <listitem>
+ <para>
+ Object classes to set claim type to.
+ </para>
+ <para>
+ Example: --class=user --class=computer
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Optional display name or use attribute name.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--description</term>
+ <listitem><para>
+ Optional description or use from attribute.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--enable</term>
+ <listitem>
+ <para>
+ Enable claim type.
+ </para>
+ <para>
+ Cannot be used together with --disable.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--disable</term>
+ <listitem>
+ <para>
+ Disable claim type.
+ </para>
+ <para>
+ Cannot be used together with --enable.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--protect</term>
+ <listitem>
+ <para>
+ Protect claim type from accidental deletion.
+ </para>
+ <para>
+ Cannot be used together with --unprotect.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--unprotect</term>
+ <listitem>
+ <para>
+ Unprotect claim type from accidental deletion.
+ </para>
+ <para>
+ Cannot be used together with --protect.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain claim claim-type modify</title>
+ <para>Modify claim types on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Display name of claim type to modify (required).
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--class</term>
+ <listitem>
+ <para>
+ Object classes to set claim type to.
+ </para>
+ <para>
+ Example: --class=user --class=computer
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--description</term>
+ <listitem><para>
+ Set the claim type description.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--enable</term>
+ <listitem>
+ <para>
+ Enable claim type.
+ </para>
+ <para>
+ Cannot be used together with --disable.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--disable</term>
+ <listitem>
+ <para>
+ Disable claim type.
+ </para>
+ <para>
+ Cannot be used together with --enable.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--protect</term>
+ <listitem>
+ <para>
+ Protect claim type from accidental deletion.
+ </para>
+ <para>
+ Cannot be used together with --unprotect.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--unprotect</term>
+ <listitem>
+ <para>
+ Unprotect claim type from accidental deletion.
+ </para>
+ <para>
+ Cannot be used together with --protect.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain claim claim-type delete</title>
+ <para>Delete claim types on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Display name of claim type to delete (required).
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--force</term>
+ <listitem><para>
+ Force claim type delete even if it is protected.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain claim value-type list</title>
+ <para>List claim value types on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--json</term>
+ <listitem><para>
+ View claim value types as JSON instead of a list.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain claim value-type view</title>
+ <para>View a single claim value type on the domain.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--name</term>
+ <listitem><para>
+ Display name of claim value type to view (required).
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>domain classicupgrade [options] <replaceable>classic_smb_conf</replaceable></title>
+ <para>Upgrade from Samba classic (NT4-like) database to Samba AD DC
+ database.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain dcpromo <replaceable>dnsdomain</replaceable> [DC|RODC] [options]</title>
+ <para>Promote an existing domain member or NT4 PDC to an AD DC.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain demote</title>
+ <para>Demote ourselves from the role of domain controller.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain exportkeytab <replaceable>keytab</replaceable> [options]</title>
+ <para>Dumps Kerberos keys of the domain into a keytab.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain info <replaceable>ip_address</replaceable> [options]</title>
+ <para>Print basic info about a domain and the specified DC.
+</para>
+</refsect3>
+
+<refsect3>
+ <title>domain join <replaceable>dnsdomain</replaceable> [DC|RODC|MEMBER|SUBDOMAIN] [options]</title>
+ <para>Join a domain as either member or backup domain controller.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain level <replaceable>show|raise</replaceable> <replaceable>options</replaceable> [options]</title>
+ <para>Show/raise domain and forest function levels.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain passwordsettings <replaceable>show|set</replaceable> <replaceable>options</replaceable> [options]</title>
+ <para>Show/set password settings.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain passwordsettings pso</title>
+ <para>Manage fine-grained Password Settings Objects (PSOs).</para>
+</refsect3>
+
+<refsect3>
+ <title>domain passwordsettings pso apply <replaceable>pso-name</replaceable> <replaceable>user-or-group-name</replaceable> [options]</title>
+ <para>Applies a PSO's password policy to a user or group.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain passwordsettings pso create <replaceable>pso-name</replaceable> <replaceable>precedence</replaceable> [options]</title>
+ <para>Creates a new Password Settings Object (PSO).</para>
+</refsect3>
+
+<refsect3>
+ <title>domain passwordsettings pso delete <replaceable>pso-name</replaceable> [options]</title>
+ <para>Deletes a Password Settings Object (PSO).</para>
+</refsect3>
+
+<refsect3>
+ <title>domain passwordsettings pso list [options]</title>
+ <para>Lists all Password Settings Objects (PSOs).</para>
+</refsect3>
+
+<refsect3>
+ <title>domain passwordsettings pso set <replaceable>pso-name</replaceable> [options]</title>
+ <para>Modifies a Password Settings Object (PSO).</para>
+</refsect3>
+
+<refsect3>
+ <title>domain passwordsettings pso show <replaceable>user-name</replaceable> [options]</title>
+ <para>Displays a Password Settings Object (PSO).</para>
+</refsect3>
+
+<refsect3>
+ <title>domain passwordsettings pso show-user <replaceable>pso-name</replaceable> [options]</title>
+ <para>Displays the Password Settings that apply to a user.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain passwordsettings pso unapply <replaceable>pso-name</replaceable> <replaceable>user-or-group-name</replaceable> [options]</title>
+ <para>Updates a PSO to no longer apply to a user or group.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain provision</title>
+ <para>Promote an existing domain member or NT4 PDC to an AD DC.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain trust</title>
+ <para>Domain and forest trust management.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain trust create <replaceable>DOMAIN</replaceable> <replaceable>options</replaceable> [options]</title>
+ <para>Create a domain or forest trust.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain trust modify <replaceable>DOMAIN</replaceable> <replaceable>options</replaceable> [options]</title>
+ <para>Modify a domain or forest trust.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain trust delete <replaceable>DOMAIN</replaceable> <replaceable>options</replaceable> [options]</title>
+ <para>Delete a domain trust.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain trust list <replaceable>options</replaceable> [options]</title>
+ <para>List domain trusts.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain trust namespaces [<replaceable>DOMAIN</replaceable>] <replaceable>options</replaceable> [options]</title>
+ <para>Manage forest trust namespaces.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain trust show <replaceable>DOMAIN</replaceable> <replaceable>options</replaceable> [options]</title>
+ <para>Show trusted domain details.</para>
+</refsect3>
+
+<refsect3>
+ <title>domain trust validate <replaceable>DOMAIN</replaceable> <replaceable>options</replaceable> [options]</title>
+ <para>Validate a domain trust.</para>
+</refsect3>
+
+<refsect2>
+ <title>drs</title>
+ <para>Manage Directory Replication Services (DRS).</para>
+</refsect2>
+
+<refsect3>
+ <title>drs bind</title>
+ <para>Show DRS capabilities of a server.</para>
+</refsect3>
+
+<refsect3>
+ <title>drs kcc</title>
+ <para>Trigger knowledge consistency center run.</para>
+</refsect3>
+
+<refsect3>
+ <title>drs options</title>
+ <para>Query or change <replaceable>options</replaceable> for NTDS Settings
+ object of a domain controller.</para>
+</refsect3>
+
+<refsect3>
+ <title>drs replicate <replaceable>destination_DC</replaceable> <replaceable>source_DC</replaceable> <replaceable>NC</replaceable> [options]</title>
+ <para>Replicate a naming context between two DCs.</para>
+</refsect3>
+
+<refsect3>
+ <title>drs showrepl</title>
+ <para>Show replication status. The <arg
+ choice="opt">--json</arg> option results in JSON output, and
+ with the <arg choice="opt">--summary</arg> option produces
+ very little output when the replication status seems healthy.
+ </para>
+</refsect3>
+
+<refsect2>
+ <title>dsacl</title>
+ <para>Administer DS ACLs</para>
+</refsect2>
+
+<refsect3>
+ <title>dsacl delete</title>
+ <para>Delete an access list entry on a directory object.</para>
+</refsect3>
+
+<refsect3>
+ <title>dsacl get</title>
+ <para>Print access list on a directory object.</para>
+</refsect3>
+
+<refsect3>
+ <title>dsacl set</title>
+ <para>Modify access list on a directory object.</para>
+</refsect3>
+
+<refsect2>
+ <title>forest</title>
+ <para>Manage Forest configuration.</para>
+</refsect2>
+
+<refsect3>
+ <title>forest directory_service</title>
+ <para>Manage directory_service behaviour for the forest.</para>
+</refsect3>
+
+<refsect3>
+ <title>forest directory_service dsheuristics <replaceable>VALUE</replaceable></title>
+ <para>Modify dsheuristics directory_service configuration for the forest.</para>
+</refsect3>
+
+<refsect3>
+ <title>forest directory_service show</title>
+ <para>Show current directory_service configuration for the forest.</para>
+</refsect3>
+
+<refsect2>
+ <title>fsmo</title>
+ <para>Manage Flexible Single Master Operations (FSMO).</para>
+</refsect2>
+
+<refsect3>
+ <title>fsmo seize [options]</title>
+ <para>Seize the role.</para>
+</refsect3>
+
+<refsect3>
+ <title>fsmo show</title>
+ <para>Show the roles.</para>
+</refsect3>
+
+<refsect3>
+ <title>fsmo transfer [options]</title>
+ <para>Transfer the role.</para>
+</refsect3>
+
+<refsect2>
+ <title>gpo</title>
+ <para>Manage Group Policy Objects (GPO).</para>
+</refsect2>
+
+<refsect3>
+ <title>gpo create <replaceable>displayname</replaceable> [options]</title>
+ <para>Create an empty GPO.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo del <replaceable>gpo</replaceable> [options]</title>
+ <para>Delete GPO.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo dellink <replaceable>container_dn</replaceable> <replaceable>gpo</replaceable> [options]</title>
+ <para>Delete GPO link from a container.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo fetch <replaceable>gpo</replaceable> [options]</title>
+ <para>Download a GPO.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo getinheritance <replaceable>container_dn</replaceable> [options]</title>
+ <para>Get inheritance flag for a container.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo getlink <replaceable>container_dn</replaceable> [options]</title>
+ <para>List GPO Links for a container.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo list <replaceable>username</replaceable> [options]</title>
+ <para>List GPOs for an account.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo listall</title>
+ <para>List all GPOs.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo listcontainers <replaceable>gpo</replaceable> [options]</title>
+ <para>List all linked containers for a GPO.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo setinheritance <replaceable>container_dn</replaceable> <replaceable>block|inherit</replaceable> [options]</title>
+ <para>Set inheritance flag on a container.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo setlink <replaceable>container_dn</replaceable> <replaceable>gpo</replaceable> [options]</title>
+ <para>Add or Update a GPO link to a container.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo show <replaceable>gpo</replaceable> [options]</title>
+ <para>Show information for a GPO.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage symlink list</title>
+ <para>List VGP Symbolic Link Group Policy from the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage symlink add</title>
+ <para>Adds a VGP Symbolic Link Group Policy to the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage symlink remove</title>
+ <para>Removes a VGP Symbolic Link Group Policy from the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage files list</title>
+ <para>List VGP Files Group Policy from the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage files add</title>
+ <para>Add VGP Files Group Policy to the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage files remove</title>
+ <para>Remove VGP Files Group Policy from the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage openssh list</title>
+ <para>List VGP OpenSSH Group Policy from the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage openssh set</title>
+ <para>Sets a VGP OpenSSH Group Policy to the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage sudoers add</title>
+ <para>Adds a Samba Sudoers Group Policy to the sysvol.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage sudoers list</title>
+ <para>List Samba Sudoers Group Policy from the sysvol.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage sudoers remove</title>
+ <para>Removes a Samba Sudoers Group Policy from the sysvol.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage scripts startup list</title>
+ <para>List VGP Startup Script Group Policy from the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage scripts startup add</title>
+ <para>Adds VGP Startup Script Group Policy to the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage scripts startup remove</title>
+ <para>Removes VGP Startup Script Group Policy from the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage motd list</title>
+ <para>List VGP MOTD Group Policy from the sysvol.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage motd set</title>
+ <para>Sets a VGP MOTD Group Policy to the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage issue list</title>
+ <para>List VGP Issue Group Policy from the sysvol.</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage issue set</title>
+ <para>Sets a VGP Issue Group Policy to the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage access add</title>
+ <para>Adds a VGP Host Access Group Policy to the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage access list</title>
+ <para>List VGP Host Access Group Policy from the sysvol</para>
+</refsect3>
+
+<refsect3>
+ <title>gpo manage access remove</title>
+ <para>Remove a VGP Host Access Group Policy from the sysvol</para>
+</refsect3>
+
+<refsect2>
+ <title>group</title>
+ <para>Manage groups.</para>
+</refsect2>
+
+<refsect3>
+ <title>group add <replaceable>groupname</replaceable> [options]</title>
+ <para>Create a new AD group.</para>
+</refsect3>
+
+<refsect3>
+ <title>group create <replaceable>groupname</replaceable> [options]</title>
+ <para>Add a new AD group. This is a synonym for the
+ <command>samba-tool group add</command> command and is available
+ for compatibility reasons only. Please use
+ <command>samba-tool group add</command> instead.</para>
+</refsect3>
+
+<refsect3>
+ <title>group addmembers <replaceable>groupname</replaceable> <replaceable>members</replaceable> [options]</title>
+ <para>Add members to an AD group.</para>
+</refsect3>
+
+<refsect3>
+ <title>group delete <replaceable>groupname</replaceable> [options]</title>
+ <para>Delete an AD group.</para>
+</refsect3>
+
+<refsect3>
+ <title>group edit <replaceable>groupname</replaceable></title>
+ <para>Edit a group AD object.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--editor=EDITOR</term>
+ <listitem><para>
+ Specifies the editor to use instead of the system default, or 'vi' if no
+ system default is set.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>group list</title>
+ <para>List all groups.</para>
+</refsect3>
+
+<refsect3>
+ <title>group listmembers <replaceable>groupname</replaceable> [options]</title>
+ <para>List all members of the specified AD group.</para>
+ <para>By default the sAMAccountNames are listed. If no sAMAccountName
+ is available, the CN will be used instead.</para>
+ <variablelist>
+ <varlistentry>
+ <term>--full-dn</term>
+ <listitem><para>
+ List the distinguished names instead of the sAMAccountNames.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--hide-expired</term>
+ <listitem><para>
+ Do not list expired group members.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--hide-disabled</term>
+ <listitem><para>
+ Do not list disabled group members.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>group move <replaceable>groupname</replaceable> <replaceable>new_parent_dn</replaceable> [options]</title>
+ <para>This command moves a group into the specified organizational unit
+ or container.</para>
+ <para>The groupname specified on the command is the sAMAccountName.
+ </para>
+ <para>The name of the organizational unit or container can be
+ specified as a full DN or without the domainDN component.</para>
+ <para></para>
+</refsect3>
+
+<refsect3>
+ <title>group removemembers <replaceable>groupname</replaceable> <replaceable>members</replaceable> [options]</title>
+ <para>Remove members from the specified AD group.</para>
+</refsect3>
+
+<refsect3>
+ <title>group show <replaceable>groupname</replaceable> [options]</title>
+ <para>Show group object and it's attributes.</para>
+</refsect3>
+
+<refsect3>
+ <title>group stats [options]</title>
+ <para>Show statistics for overall groups and group memberships.</para>
+</refsect3>
+
+<refsect3>
+ <title>group rename <replaceable>groupname</replaceable> [options]</title>
+ <para>Rename a group and related attributes.</para>
+ <para>This command allows to set the group's name related attributes. The
+ group's CN will be renamed automatically.
+ The group's CN will be the sAMAccountName.
+ Use the --force-new-cn option to specify the new CN manually and the
+ --reset-cn to reset this change.</para>
+ <para>Use an empty attribute value to remove the specified attribute.</para>
+ <para>The groupname specified on the command is the sAMAccountName.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--force-new-cn=NEW_CN</term>
+ <listitem><para>
+ Specify a new CN (RDN) instead of using the sAMAccountName.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--reset-cn</term>
+ <listitem><para>
+ Set the CN to the sAMAccountName.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--mail-address=MAIL_ADDRESS</term>
+ <listitem><para>
+ New mail address
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--samaccountname=SAMACCOUNTNAME</term>
+ <listitem><para>
+ New account name (sAMAccountName/logon name)
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect2>
+ <title>ldapcmp <replaceable>URL1</replaceable> <replaceable>URL2</replaceable> <replaceable>domain|configuration|schema|dnsdomain|dnsforest</replaceable> [options] </title>
+ <para>Compare two LDAP databases.</para>
+</refsect2>
+
+<refsect2>
+ <title>ntacl</title>
+ <para>Manage NT ACLs.</para>
+</refsect2>
+
+<refsect3>
+ <title>ntacl changedomsid <replaceable>original-domain-SID</replaceable> <replaceable>new-domain-SID</replaceable> <replaceable>file</replaceable> [options]</title>
+ <para>Change the domain SID for ACLs.
+ Can be used to change all entries in acl_xattr when the machine's SID
+ has accidentally changed or the data set has been copied
+ to another machine either via backup/restore or rsync.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--use-ntvfs</term>
+ <listitem><para>
+ Set the ACLs directly to the TDB or xattr. The POSIX permissions will
+ NOT be changed, only the NT ACL will be stored.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--service=SERVICE</term>
+ <listitem><para>
+ Specify the name of the smb.conf service to use. This option is
+ required in combination with the --use-s3fs option.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--use-s3fs</term>
+ <listitem><para>
+ Set the ACLs for use with the default s3fs file server via the VFS
+ layer. This option requires a smb.conf service, specified by the
+ --service=SERVICE option.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--xattr-backend=[native|tdb]</term>
+ <listitem><para>
+ Specify the xattr backend type (native fs or tdb).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--eadb-file=EADB_FILE</term>
+ <listitem><para>
+ Name of the tdb file where attributes are stored.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--recursive</term>
+ <listitem><para>
+ Set the ACLs for directories and their contents recursively.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--follow-symlinks</term>
+ <listitem><para>
+ Follow symlinks when --recursive is specified.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--verbose</term>
+ <listitem><para>
+ Verbosely list files and ACLs which are being processed.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+
+<refsect3>
+ <title>ntacl get <replaceable>file</replaceable> [options]</title>
+ <para>Get ACLs on a file.</para>
+</refsect3>
+
+<refsect3>
+ <title>ntacl set <replaceable>acl</replaceable> <replaceable>file</replaceable> [options]</title>
+ <para>Set ACLs on a file.</para>
+</refsect3>
+
+<refsect3>
+ <title>ntacl sysvolcheck</title>
+ <para>Check sysvol ACLs match defaults (including correct ACLs on GPOs).</para>
+</refsect3>
+
+<refsect3>
+ <title>ntacl sysvolreset</title>
+ <para>Reset sysvol ACLs to defaults (including correct ACLs on GPOs).</para>
+</refsect3>
+
+<refsect2>
+ <title>ou</title>
+ <para>Manage organizational units (OUs).</para>
+</refsect2>
+
+<refsect3>
+ <title>ou add <replaceable>ou_dn</replaceable> [options]</title>
+ <para>Add a new organizational unit.</para>
+ <para>The name of the organizational unit can be specified as a full DN
+ or without the domainDN component.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--description=DESCRIPTION</term>
+ <listitem><para>
+ Specify OU's description.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>ou create <replaceable>ou_dn</replaceable> [options]</title>
+ <para>Add a new organizational unit. This is a synonym for the
+ <command>samba-tool ou add</command> command and is available
+ for compatibility reasons only. Please use
+ <command>samba-tool ou add</command> instead.</para>
+</refsect3>
+
+<refsect3>
+ <title>ou delete <replaceable>ou_dn</replaceable> [options]</title>
+ <para>Delete an organizational unit.</para>
+ <para>The name of the organizational unit can be specified as a full DN
+ or without the domainDN component.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--force-subtree-delete</term>
+ <listitem><para>
+ Delete organizational unit and all children recursively.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>ou list [options]</title>
+ <para>List all organizational units.</para>
+ <variablelist>
+ <varlistentry>
+ <term>--full-dn</term>
+ <listitem><para>
+ Display DNs including the base DN.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>ou listobjects <replaceable>ou_dn</replaceable> [options]</title>
+ <para>List all objects in an organizational unit.</para>
+ <para>The name of the organizational unit can be specified as a full DN
+ or without the domainDN component.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--full-dn</term>
+ <listitem><para>
+ Display DNs including the base DN.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-r|--recursive</term>
+ <listitem><para>
+ List objects recursively.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>ou move <replaceable>old_ou_dn</replaceable> <replaceable>new_parent_dn</replaceable> [options]</title>
+ <para>Move an organizational unit.</para>
+ <para>The name of the organizational units can be specified as a full DN
+ or without the domainDN component.</para>
+</refsect3>
+
+<refsect3>
+ <title>ou rename <replaceable>old_ou_dn</replaceable> <replaceable>new_ou_dn</replaceable> [options]</title>
+ <para>Rename an organizational unit.</para>
+ <para>The name of the organizational units can be specified as a full DN
+ or without the domainDN component.</para>
+</refsect3>
+
+<refsect2>
+ <title>rodc</title>
+ <para>Manage Read-Only Domain Controller (RODC).</para>
+</refsect2>
+
+<refsect3>
+ <title>rodc preload <replaceable>SID</replaceable>|<replaceable>DN</replaceable>|<replaceable>accountname</replaceable> [options]</title>
+ <para>Preload one account for an RODC.</para>
+</refsect3>
+
+<refsect2>
+ <title>schema</title>
+ <para>Manage and query schema.</para>
+</refsect2>
+
+<refsect3>
+ <title>schema attribute modify <replaceable>attribute</replaceable> [options]</title>
+ <para>Modify the behaviour of an attribute in schema.</para>
+</refsect3>
+
+<refsect3>
+ <title>schema attribute show <replaceable>attribute</replaceable> [options]</title>
+ <para>Display an attribute schema definition.</para>
+</refsect3>
+
+<refsect3>
+ <title>schema attribute show_oc <replaceable>attribute</replaceable> [options]</title>
+ <para>Show objectclasses that MAY or MUST contain this attribute.</para>
+</refsect3>
+
+<refsect3>
+ <title>schema objectclass show <replaceable>objectclass</replaceable> [options]</title>
+ <para>Display an objectclass schema definition.</para>
+</refsect3>
+
+<refsect2>
+ <title>shell</title>
+ <para>Opens an interactive Samba Python shell.</para>
+</refsect2>
+
+<refsect3>
+ <title>shell [options]</title>
+ <para>Opens an interactive Python shell for Samba ldb connection.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-H, --URL</term>
+ <listitem><para>
+ LDB URL for database or target server.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect2>
+ <title>sites</title>
+ <para>Manage sites.</para>
+</refsect2>
+
+<refsect3>
+ <title>sites list [options]</title>
+ <para>List sites.</para>
+ <variablelist>
+ <varlistentry>
+ <term>--json</term>
+ <listitem><para>
+ Output as JSON instead of a list
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>sites view <replaceable>site</replaceable> [options]</title>
+ <para>View site details.</para>
+</refsect3>
+
+<refsect3>
+ <title>sites create <replaceable>site</replaceable> [options]</title>
+ <para>Create a new site.</para>
+</refsect3>
+
+<refsect3>
+ <title>sites remove <replaceable>site</replaceable> [options]</title>
+ <para>Delete an existing site.</para>
+</refsect3>
+
+<refsect3>
+ <title>sites subnet list <replaceable>site</replaceable> [options]</title>
+ <para>List subnets for a site.</para>
+ <variablelist>
+ <varlistentry>
+ <term>--json</term>
+ <listitem><para>
+ Output as JSON instead of a list
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>sites subnet view <replaceable>subnet</replaceable> [options]</title>
+ <para>View subnet details.</para>
+</refsect3>
+
+<refsect3>
+ <title>sites subnet create <replaceable>subnet</replaceable> <replaceable>site-of-subnet</replaceable> [options]</title>
+ <para>Create a new subnet.</para>
+</refsect3>
+
+<refsect3>
+ <title>sites subnet remove <replaceable>subnet</replaceable> [options]</title>
+ <para>Delete an existing subnet.</para>
+</refsect3>
+
+<refsect3>
+ <title>sites subnet set-site <replaceable>subnet</replaceable> <replaceable>site-of-subnet</replaceable> [options]</title>
+ <para>Assign a subnet to a site.</para>
+</refsect3>
+
+<refsect2>
+ <title>spn</title>
+ <para>Manage Service Principal Names (SPN).</para>
+</refsect2>
+
+<refsect3>
+ <title>spn add <replaceable>name</replaceable> <replaceable>user</replaceable> [options]</title>
+ <para>Create a new SPN.</para>
+</refsect3>
+
+<refsect3>
+ <title>spn delete <replaceable>name</replaceable> [<replaceable>user</replaceable>] [options]</title>
+ <para>Delete an existing SPN.</para>
+</refsect3>
+
+<refsect3>
+ <title>spn list <replaceable>user</replaceable> [options]</title>
+ <para>List SPNs of a given user.</para>
+</refsect3>
+
+<refsect2>
+ <title>testparm</title>
+ <para>Check the syntax of the configuration file.</para>
+</refsect2>
+
+<refsect2>
+ <title>time</title>
+ <para>Retrieve the time on a server.</para>
+</refsect2>
+
+<refsect2>
+ <title>user</title>
+ <para>Manage users.</para>
+</refsect2>
+
+<refsect3>
+ <title>user add <replaceable>username</replaceable> [<replaceable>password</replaceable>]</title>
+ <para>Add a new user to the Active Directory Domain.</para>
+</refsect3>
+
+<refsect3>
+ <title>user create <replaceable>username</replaceable> [<replaceable>password</replaceable>]</title>
+ <para>Add a new user. This is a synonym for the
+ <command>samba-tool user add</command> command and is available
+ for compatibility reasons only. Please use
+ <command>samba-tool user add</command> instead.</para>
+</refsect3>
+
+<refsect3>
+ <title>user delete <replaceable>username</replaceable> [options]</title>
+ <para>Delete an existing user account.</para>
+</refsect3>
+
+<refsect3>
+ <title>user disable <replaceable>username</replaceable></title>
+ <para>Disable a user account.</para>
+</refsect3>
+
+<refsect3>
+ <title>user edit <replaceable>username</replaceable></title>
+ <para>Edit a user account AD object.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--editor=EDITOR</term>
+ <listitem><para>
+ Specifies the editor to use instead of the system default, or 'vi' if no
+ system default is set.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>user enable <replaceable>username</replaceable></title>
+ <para>Enable a user account.</para>
+</refsect3>
+
+<refsect3>
+ <title>user list</title>
+ <para>List all users.</para>
+ <para>By default the user's sAMAccountNames are listed.</para>
+ <variablelist>
+ <varlistentry>
+ <term>--full-dn</term>
+ <listitem><para>
+ List user's distinguished names instead of the sAMAccountNames.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>-b BASE_DN|--base-dn=BASE_DN</term>
+ <listitem><para>
+ Specify base DN to use. Only users under the specified base DN will be
+ listed.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--hide-expired</term>
+ <listitem><para>
+ Do not list expired user accounts.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--hide-disabled</term>
+ <listitem><para>
+ Do not list disabled user accounts.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>user setprimarygroup <replaceable>username</replaceable> <replaceable>primarygroupname</replaceable></title>
+ <para>Set the primary group a user account.</para>
+</refsect3>
+
+<refsect3>
+ <title>user getgroups <replaceable>username</replaceable></title>
+ <para>Get the direct group memberships of a user account.</para>
+</refsect3>
+
+<refsect3>
+ <title>user show <replaceable>username</replaceable> [options]</title>
+ <para>Display a user AD object.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--attributes=USER_ATTRS</term>
+ <listitem><para>
+ Comma separated list of attributes, which will be printed.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>user move <replaceable>username</replaceable> <replaceable>new_parent_dn</replaceable> [options]</title>
+ <para>This command moves a user account into the specified
+ organizational unit or container.</para>
+ <para>The username specified on the command is the
+ sAMAccountName.</para>
+ <para>The name of the organizational unit or container can be
+ specified as a full DN or without the domainDN component.</para>
+</refsect3>
+
+<refsect3>
+ <title>user password [options]</title>
+ <para>Change password for a user account (the one provided in
+ authentication).</para>
+</refsect3>
+
+<refsect3>
+ <title>user rename <replaceable>username</replaceable> [options]</title>
+ <para>Rename a user and related attributes.</para>
+ <para>This command allows to set the user's name related attributes. The user's
+ CN will be renamed automatically.
+ The user's new CN will be made up by combining the given-name, initials
+ and surname. A dot ('.') will be appended to the initials automatically,
+ if required.
+ Use the --force-new-cn option to specify the new CN manually and --reset-cn
+ to reset this change.</para>
+ <para>Use an empty attribute value to remove the specified attribute.</para>
+ <para>The username specified on the command is the sAMAccountName.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>--surname=SURNAME</term>
+ <listitem><para>
+ New surname
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--given-name=GIVEN_NAME</term>
+ <listitem><para>
+ New given name
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--initials=INITIALS</term>
+ <listitem><para>
+ New initials
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--force-new-cn=NEW_CN</term>
+ <listitem><para>
+ Specify a new CN (RDN) instead of using a combination
+ of the given name, initials and surname.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--reset-cn</term>
+ <listitem><para>
+ Set the CN to the default combination of given name,
+ initials and surname.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--display-name=DISPLAY_NAME</term>
+ <listitem><para>
+ New display name
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--mail-address=MAIL_ADDRESS</term>
+ <listitem><para>
+ New email address
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--samaccountname=SAMACCOUNTNAME</term>
+ <listitem><para>
+ New account name (sAMAccountName/logon name)
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--upn=UPN</term>
+ <listitem><para>
+ New user principal name
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>user setexpiry <replaceable>username</replaceable> [options]</title>
+ <para>Set the expiration of a user account.</para>
+</refsect3>
+
+<refsect3>
+ <title>user setpassword <replaceable>username</replaceable> [options]</title>
+ <para>Sets or resets the password of a user account.</para>
+</refsect3>
+
+<refsect3>
+ <title>user unlock <replaceable>username</replaceable> [options]</title>
+ <para>This command unlocks a user account in the Active Directory
+ domain.</para>
+</refsect3>
+
+<refsect3>
+ <title>user getpassword <replaceable>username</replaceable> [options]</title>
+ <para>Gets the password of a user account.</para>
+</refsect3>
+
+<refsect3>
+ <title>user get-kerberos-ticket <replaceable>username</replaceable> [options]</title>
+ <para>Gets a Kerberos Ticket Granting Ticket as the account.</para>
+</refsect3>
+
+<refsect3>
+ <title>user syncpasswords <replaceable>--cache-ldb-initialize</replaceable> [options]</title>
+ <para>Syncs the passwords of all user accounts, using an optional script.</para>
+ <para>Note that this command should run on a single domain controller only
+ (typically the PDC-emulator).</para>
+</refsect3>
+
+<refsect3>
+ <title>user auth policy assign <replaceable>username</replaceable> [options]</title>
+ <para>Set assigned authentication policy for user.</para>
+ <variablelist>
+ <varlistentry>
+ <term>--policy</term>
+ <listitem><para>
+ Name of authentication policy to assign or leave empty to remove.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>user auth policy remove <replaceable>username</replaceable></title>
+ <para>Remove assigned authentication policy from user.</para>
+</refsect3>
+
+<refsect3>
+ <title>user auth policy view <replaceable>username</replaceable></title>
+ <para>View the assigned authentication policy for user.</para>
+</refsect3>
+
+<refsect3>
+ <title>user auth silo assign <replaceable>username</replaceable> [options]</title>
+ <para>Set assigned authentication silo for user.</para>
+ <variablelist>
+ <varlistentry>
+ <term>--silo</term>
+ <listitem><para>
+ Name of authentication silo to assign or leave empty to remove.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect3>
+
+<refsect3>
+ <title>user auth silo remove <replaceable>username</replaceable></title>
+ <para>Remove assigned authentication silo from user.</para>
+</refsect3>
+
+<refsect3>
+ <title>user auth silo view <replaceable>username</replaceable></title>
+ <para>View the assigned authentication silo for user.</para>
+</refsect3>
+
+<refsect2>
+ <title>vampire [options] <replaceable>domain</replaceable></title>
+ <para>Join and synchronise a remote AD domain to the local server.
+ Please note that <command>samba-tool vampire</command> is deprecated,
+ please use <command>samba-tool domain join</command> instead.</para>
+</refsect2>
+
+<refsect2>
+ <title>visualize [options] <replaceable>subcommand</replaceable></title>
+ <para>Produce graphical representations of Samba network state.
+ To work out what is happening in a replication graph, it is sometimes
+ helpful to use visualisations.</para>
+
+ <para>
+ There are two subcommands, two graphical modes, and (roughly) two modes
+ of operation with respect to the location of authority.</para>
+
+ <refsect3><title>MODES OF OPERATION</title>
+ <varlistentry>
+ <term>samba-tool visualize ntdsconn</term>
+ <listitem><para>Looks at NTDS connections.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>samba-tool visualize reps</term>
+ <listitem><para>Looks at repsTo and repsFrom objects.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>samba-tool visualize uptodateness</term>
+ <listitem><para>Looks at replication lag as shown by the
+ uptodateness vectors.
+ </para></listitem>
+ </varlistentry>
+ </refsect3>
+
+ <refsect3><title>GRAPHICAL MODES</title>
+ <varlistentry>
+ <term>--distance</term>
+ <listitem><para>Distances between DCs are shown in a matrix in
+ the terminal.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--dot</term>
+ <listitem><para>Generate Graphviz dot output (for
+ ntdsconn and reps modes). When viewed using dot or
+ xdot, this shows the network as a graph with DCs as
+ vertices and connections edges. Certain types of
+ degenerate edges are shown in different colours or
+ line-styles. </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--xdot</term>
+ <listitem><para>Generate Graphviz dot output as with
+ <arg choice="opt">--dot</arg> and attempt to view it
+ immediately using <command>/usr/bin/xdot</command>.
+ </para></listitem>
+ </varlistentry>
+ </refsect3>
+
+ <varlistentry>
+ <term>-r</term>
+ <listitem><para>Normally,
+ <command>samba-tool</command> talks to one database;
+ with the <arg choice="opt">-r</arg> option attempts
+ are made to contact all the DCs known to the first
+ database. This is necessary for <command>samba-tool
+ visualize uptodateness</command> and for
+ <command>samba-tool visualize reps</command> because
+ the repsFrom/To objects are not replicated, and it can
+ reveal replication issues in other modes.
+ </para></listitem>
+ </varlistentry>
+</refsect2>
+
+<refsect2>
+<title>help</title>
+<para>Gives usage information.</para>
+</refsect2>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is complete for version &doc.version; 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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/samba.7.xml b/docs-xml/manpages/samba.7.xml
new file mode 100644
index 0000000..627ba63
--- /dev/null
+++ b/docs-xml/manpages/samba.7.xml
@@ -0,0 +1,332 @@
+<?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="samba.7">
+
+<refmeta>
+ <refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">Miscellanea</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>samba</refname>
+ <refpurpose>A Windows AD and SMB/CIFS fileserver for UNIX</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis><command>samba</command></cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>The Samba software suite is a collection of programs
+ that implements the Server Message Block (commonly abbreviated
+ as SMB) protocol for UNIX systems and provides Active Directory
+ services. The first version of the SMB protocol is sometimes also
+ referred to as the Common Internet File System (CIFS). For a more
+ thorough description, see <ulink url="http://www.ubiqx.org/cifs/">
+ http://www.ubiqx.org/cifs/</ulink>. Samba also implements the NetBIOS
+ protocol in nmbd.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry></term>
+ <listitem><para>The <command>samba</command> daemon provides the
+ Active Directory services and file and print services to
+ SMB clients. The configuration file
+ for this daemon is described in <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry></term>
+ <listitem><para>The <command>smbd</command> daemon provides the file and print services to
+ SMB clients. The configuration file
+ for this daemon is described in <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry></term>
+ <listitem><para>The <command>nmbd</command>
+ daemon provides NetBIOS nameservice and browsing
+ support. The configuration file for this daemon
+ is described in <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry></term>
+ <listitem><para><command>winbindd</command> is a daemon
+ that is used for integrating authentication and
+ the user database into unix.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>smbclient</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para>The <command>smbclient</command>
+ program implements a simple ftp-like client. This
+ is useful for accessing SMB shares on other compatible
+ SMB servers, and can also be used
+ to allow a UNIX box to print to a printer attached to
+ any SMB server.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>samba-tool</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry></term>
+ <listitem><para>The <command>samba-tool</command>
+ is the main Samba Administration tool regarding
+ Active Directory services.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>testparm</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para>The <command>testparm</command>
+ utility is a simple syntax checker for Samba's <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> configuration file.
+ In AD server mode <command>samba-tool testparm</command>
+ should be used though.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>smbstatus</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para>The <command>smbstatus</command>
+ tool provides access to information about the
+ current connections to <command>smbd</command>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>nmblookup</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para>The <command>nmblookup</command>
+ tool allows NetBIOS name queries to be made.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>smbpasswd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry></term>
+ <listitem><para>The <command>smbpasswd</command>
+ command is a tool for setting passwords on local Samba but
+ also on remote SMB servers.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>smbcacls</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para>The <command>smbcacls</command> command is
+ a tool to set ACL's on remote SMB servers.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>smbtree</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para>The <command>smbtree</command> command
+ is a text-based network neighborhood tool.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>smbtar</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para>The <command>smbtar</command> can make
+ backups of data directly from SMB servers.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>smbspool</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry></term>
+ <listitem><para><command>smbspool</command> is a
+ helper utility for printing on printers connected
+ to SMB servers. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>smbcontrol</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para><command>smbcontrol</command> is a utility
+ that can change the behaviour of running
+ <command>samba</command>, <command>smbd</command>, <command>nmbd</command> and
+ <command>winbindd</command> daemons.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>rpcclient</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para><command>rpcclient</command> is a utility
+ that can be used to execute RPC commands on remote
+ SMB servers.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>pdbedit</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry></term>
+ <listitem><para>The <command>pdbedit</command> command
+ can be used to maintain the local user database on
+ a Samba server.</para></listitem></varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>net</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry></term>
+ <listitem><para>The <command>net</command> command
+ is the main administration tool for Samba member and
+ standalone servers.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>wbinfo</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para><command>wbinfo</command> is a utility
+ that retrieves and stores information related to winbind.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>profiles</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para><command>profiles</command> is a command-line
+ utility that can be used to replace all occurrences of
+ a certain SID with another SID.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>log2pcap</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para><command>log2pcap</command> is a utility
+ for generating pcap trace files from Samba log
+ files.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>vfstest</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para><command>vfstest</command> is a utility
+ that can be used to test vfs modules.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>ntlm_auth</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para><command>ntlm_auth</command> is a helper-utility
+ for external programs wanting to do NTLM-authentication.
+ </para></listitem></varlistentry>
+
+ <varlistentry>
+ <term><citerefentry><refentrytitle>smbcquotas</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></term>
+ <listitem><para><command>smbcquotas</command> is a tool to
+ manage quotas on remote SMB servers. </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>COMPONENTS</title>
+
+ <para>The Samba suite is made up of several components. Each
+ component is described in a separate manual page. It is strongly
+ recommended that you read the documentation that comes with Samba
+ and the manual pages of those components that you use. If the
+ manual pages and documents aren't clear enough then please visit
+ <ulink url="https://devel.samba.org/">https://devel.samba.org</ulink>
+ for information on how to file a bug report or submit a patch.</para>
+
+ <para>If you require help, visit the Samba webpage at
+ <ulink url="https://www.samba.org/">https://www.samba.org/</ulink> and
+ explore the many option available to you.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>AVAILABILITY</title>
+
+ <para>The Samba software suite is licensed under the
+ GNU Public License(GPL). A copy of that license should
+ have come with the package in the file COPYING. You are
+ encouraged to distribute copies of the Samba suite, but
+ please obey the terms of this license.</para>
+
+ <para>The latest version of the Samba suite can be
+ obtained from <ulink url="https://download.samba.org/pub/samba/">
+ https://download.samba.org/pub/samba/</ulink>.
+ </para>
+
+ <para>The Samba Wiki at
+ <ulink url="https://wiki.samba.org/">https://wiki.samba.org</ulink>
+ has also a lot of useful information.
+ On the Samba mailing list at
+ <ulink url="https://lists.samba.org/">https://lists.samba.org</ulink>
+ you can find a lot of information in the archives and you can
+ subscribe to the samba list and ask for help or discuss things.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of the
+ Samba suite. </para>
+</refsect1>
+
+<refsect1>
+ <title>CONTRIBUTIONS</title>
+
+ <para>If you wish to contribute to the Samba project,
+ then I suggest you join the Samba mailing list at
+ <ulink url="https://lists.samba.org/">https://lists.samba.org</ulink>.
+ </para>
+
+ <para>If you have patches to submit, visit
+ <ulink url="https://devel.samba.org/">https://devel.samba.org/</ulink>
+ for information on how to do it properly. We prefer patches
+ in <command>git format-patch</command> format.</para>
+</refsect1>
+
+<refsect1>
+ <title>CONTRIBUTORS</title>
+
+ <para>Contributors to the project are now too numerous
+ to mention here but all deserve the thanks of all Samba
+ users. To see a full list, look at the
+ <filename>change-log</filename> in the source package
+ for the pre-CVS changes and at <ulink
+ url="https://git.samba.org/">
+ https://git.samba.org/</ulink>
+ for the contributors to Samba post-GIT. GIT is the Open Source
+ source code control system used by the Samba Team to develop
+ Samba. The project would have been unmanageable without it.</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/samba.8.xml b/docs-xml/manpages/samba.8.xml
new file mode 100644
index 0000000..c2fd49d
--- /dev/null
+++ b/docs-xml/manpages/samba.8.xml
@@ -0,0 +1,260 @@
+<?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="samba.8">
+
+<refmeta>
+ <refentrytitle>samba</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>samba</refname>
+ <refpurpose>Server to provide AD and SMB/CIFS services to clients</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>samba</command>
+ <arg choice="opt">-D|--daemon</arg>
+ <arg choice="opt">-F|--foreground</arg>
+ <arg choice="opt">-i|--interactive</arg>
+ <arg choice="opt">-M|--model=MODEL</arg>
+ <arg choice="opt">--maximum-runtime=seconds</arg>
+ <arg choice="opt">-b|--show-build</arg>
+ <arg choice="opt">--no-process-group</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">-V|--version</arg>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+ <para>This program is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para><command>samba</command> is the server daemon that
+ provides Active Directory, filesharing and printing services to clients.
+ The server provides filespace and directory services to
+ clients using the SMB (or CIFS) protocol and other
+ related protocols such as DCE/RPC, LDAP and Kerberos.
+ </para>
+
+ <para>
+ Clients supported include MSCLIENT 3.0 for DOS, Windows for
+ Workgroups, Windows 95/98/ME, Windows NT, Windows 2000/XP/2003,
+ OS/2, DAVE for Macintosh, and cifsfs for Linux.</para>
+
+ <para>An extensive description of the services that the
+ server can provide is given in the man page for the
+ configuration file controlling the attributes of those
+ services (see <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>. This man page will not describe the
+ services, but will concentrate on the administrative aspects
+ of running the server.
+ </para>
+
+ <para>Please note that there are significant security
+ implications to running this server, and the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> manual page should be regarded as mandatory reading before
+ proceeding with installation.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-D|--daemon</term>
+ <listitem><para>If specified, this parameter causes
+ the server to operate as a daemon. That is, it detaches
+ itself and runs in the background, fielding requests
+ on the appropriate ports. Operating the server as a
+ daemon is the recommended way of running
+ <command>samba</command> for servers that provide more
+ than casual use file and print services. This switch is
+ assumed if <command>samba</command> is executed on the
+ command line of a shell.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-F|--foreground</term>
+ <listitem><para>If specified, this parameter causes
+ the <command>samba</command> process to not daemonize,
+ i.e. double-fork and disassociate with the terminal.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-i|--interactive</term>
+ <listitem><para>If this parameter is specified it causes the
+ server to run "interactively", not as a daemon, even if the
+ server is executed on the command line of a shell. Setting this
+ parameter negates the implicit daemon mode when run from the
+ command line. <command>samba</command> also logs to standard
+ output, as if the <command>-S</command> parameter had been
+ given.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-M|--model</term>
+ <listitem><para>This parameter can be used to specify the
+ &quot;process model&quot; samba should use. This determines
+ how concurrent clients are handled. Available process
+ models include:
+ <itemizedlist>
+ <listitem><para><emphasis>single</emphasis></para>
+ <para>All Samba services run in a single process. This is
+ not recommended for production configurations.
+ </para></listitem>
+
+ <listitem><para><emphasis>standard</emphasis></para>
+ <para>A process is created for each Samba service,
+ and for those services that support it (currently only
+ LDAP and NETLOGON) a new processes is started
+ for each new client connection.</para>
+
+ <para>Historically, this was the 'standard' way Samba behaved
+ up until v4.10. Note that this model can be resource intensive
+ if you have a large number of client connections.</para>
+ </listitem>
+
+ <listitem><para><emphasis>prefork</emphasis></para>
+ <para>The default. A process is started for each Samba service,
+ and a fixed number of worker processes are started for those
+ services that support it (currently LDAP, NETLOGON, and KDC).
+ The client connections are then shared amongst the worker
+ processes.
+ Requests for services not supporting prefork are handled
+ by a single process for that service.</para>
+ <para>The number of prefork worker processes started is
+ controlled by the
+ <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> parameter
+ <smbconfoption name="prefork children"/>,
+ which defaults to 4.
+ </para></listitem>
+ </itemizedlist>
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--maximum-runtime=seconds</term>
+ <listitem><para>Set maximum runtime of the server process till
+ autotermination in seconds.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-b|--show-build</term>
+ <listitem><para>Print information about how Samba was built.
+ </para></listitem>
+ </varlistentry>
+
+ &cmdline.common.samba.server;
+ &popt.autohelp;
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>FILES</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><filename>/etc/rc</filename></term>
+ <listitem><para>or whatever initialization script your
+ system uses.</para>
+
+ <para>If running the server as a daemon at startup,
+ this file will need to contain an appropriate startup
+ sequence for the server. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>/etc/services</filename></term>
+ <listitem><para>If running the server via the
+ meta-daemon <command>inetd</command>, this file
+ must contain a mapping of service name (e.g., netbios-ssn)
+ to service port (e.g., 139) and protocol type (e.g., tcp).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>/usr/local/samba/lib/smb.conf</filename></term>
+ <listitem><para>This is the default location of the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> server configuration file. Other common places that systems
+ install this file are <filename>/usr/samba/lib/smb.conf</filename>
+ and <filename>/etc/samba/smb.conf</filename>.</para>
+
+ <para>This file describes all the services the server
+ is to make available to clients. See <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> for more information.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>DIAGNOSTICS</title>
+
+ <para>Most diagnostics issued by the server are logged
+ in a specified log file. The log file name is specified
+ at compile time, but may be overridden on the command line.</para>
+
+ <para>The number and nature of diagnostics available depends
+ on the debug level used by the server. If you have problems, set
+ the debug level to 3 and peruse the log files.</para>
+
+ <para>Most messages are reasonably self-explanatory. Unfortunately,
+ at the time this man page was created, there are too many diagnostics
+ available in the source code to warrant describing each and every
+ diagnostic. At this stage your best bet is still to grep the
+ source code and inspect the conditions that gave rise to the
+ diagnostics you are seeing.</para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>hosts_access</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbclient</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>samba-tool</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, and the
+ Internet RFC's <filename>rfc1001.txt</filename>, <filename>rfc1002.txt</filename>.
+ In addition the CIFS (formerly SMB) specification is available
+ as a link from the Web page <ulink noescape="1" url="https://www.samba.org/cifs/">
+ https://www.samba.org/cifs/</ulink>.</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/samba_downgrade_db.8.xml b/docs-xml/manpages/samba_downgrade_db.8.xml
new file mode 100644
index 0000000..7b0c822
--- /dev/null
+++ b/docs-xml/manpages/samba_downgrade_db.8.xml
@@ -0,0 +1,95 @@
+<?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="samba_downgrade_db.8">
+
+<refmeta>
+ <refentrytitle>samba_downgrade_db</refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>samba_downgrade_db</refname>
+ <refpurpose>Samba tool for downgrading AD databases
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>samba_downgrade_db</command>
+ <arg choice="opt">-H</arg>
+ <arg choice="opt">-s</arg>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+ <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> suite.</para>
+
+ <para>The format of the Samba Active Directory (AD) database changed in
+ version 4.8 and 4.11. When downgrading a Samba AD Domain Controller (DC)
+ to a release that is older than either of these versions (e.g. 4.11 to
+ 4.10), the AD database must be manually downgraded
+ <emphasis>before</emphasis> the Samba packages can be safely downgraded.
+ </para>
+
+ <para>This tool downgrades a Samba sam.ldb database from the format
+ used in version &doc.version; to that of version 4.7. The v4.7 database
+ format can safely be read by any version of Samba. If necessary, later
+ versions of Samba will repack and reconfigure a v4.7-format database when
+ the samba executable is first started.</para>
+
+ <para>Note that all Samba services must be stopped on the DC before running
+ this tool. Once the tool has run, do not restart samba or modify the
+ database before the Samba software package has been downgraded.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>-H [sam.ldb file]</term>
+ <listitem><para>
+ Link directly to a sam.ldb file instead of using path in system
+ smb.conf
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-s [smb.conf file]</term>
+ <listitem><para>
+ Link directly to smb.conf file instead of system default (usually
+ in /usr/local/samba/etc/smb.conf)
+ </para></listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is complete for version &doc.version; 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 samba_downgrade_db tool was developed by the Samba team
+ at Catalyst IT Ltd.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/sharesec.1.xml b/docs-xml/manpages/sharesec.1.xml
new file mode 100644
index 0000000..897adbc
--- /dev/null
+++ b/docs-xml/manpages/sharesec.1.xml
@@ -0,0 +1,256 @@
+<?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="sharesec.1">
+
+<refmeta>
+ <refentrytitle>sharesec</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>sharesec</refname>
+ <refpurpose>Set or get share ACLs</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>sharesec</command>
+ <arg choice="req">sharename</arg>
+ <arg choice="opt">-r, --remove=ACL</arg>
+ <arg choice="opt">-m, --modify=ACL</arg>
+ <arg choice="opt">-a, --add=ACL</arg>
+ <arg choice="opt">-R, --replace=ACLs</arg>
+ <arg choice="opt">-D, --delete</arg>
+ <arg choice="opt">-v, --view</arg>
+ <arg choice="opt">--view-all</arg>
+ <arg choice="opt">-M, --machine-sid</arg>
+ <arg choice="opt">-F, --force</arg>
+ <arg choice="opt">-d, --debuglevel=DEBUGLEVEL</arg>
+ <arg choice="opt">-s, --configfile=CONFIGFILE</arg>
+ <arg choice="opt">-l, --log-basename=LOGFILEBASE</arg>
+ <arg choice="opt">-S, --setsddl=STRING</arg>
+ <arg choice="opt">--viewsddl</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</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>
+ </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 <command>sharesec</command> program manipulates share permissions
+ on SMB file shares.</para>
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <para>The following options are available to the <command>sharesec</command> program.
+ The format of ACLs is described in the section ACL FORMAT </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>-a|--add=ACL</term>
+ <listitem><para>Add the ACEs specified to the ACL list.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-D|--delete</term>
+ <listitem><para>Delete the entire security descriptor.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-F|--force</term>
+ <listitem><para>Force storing the ACL.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-m|--modify=ACL</term>
+ <listitem><para>Modify existing ACEs.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-M|--machine-sid</term>
+ <listitem><para>Initialize the machine SID.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-r|--remove=ACL</term>
+ <listitem><para>Remove ACEs.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-R|--replace=ACLS</term>
+ <listitem><para>
+ Overwrite an existing share permission ACL.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-v|--view</term>
+ <listitem><para>
+ List a share acl
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--view-all</term>
+ <listitem><para>
+ List all share acls
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-S|--setsddl=STRING</term>
+ <listitem><para>
+ Set security descriptor by providing ACL in SDDL format.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--viewsddl</term>
+ <listitem><para>
+ List a share acl in SDDL format.
+ </para></listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>ACL FORMAT</title>
+
+ <para>The format of an ACL is one or more ACL entries separated by
+ either commas or newlines. An ACL entry is one of the following: </para>
+
+ <para><programlisting>
+ REVISION:&lt;revision number&gt;
+ OWNER:&lt;sid or name&gt;
+ GROUP:&lt;sid or name&gt;
+ ACL:&lt;sid or name&gt;:&lt;type&gt;/&lt;flags&gt;/&lt;mask&gt;
+ </programlisting></para>
+
+ <para>The revision of the ACL specifies the internal Windows
+ NT ACL revision for the security descriptor.
+ If not specified it defaults to 1. Using values other than 1 may
+ cause strange behaviour.</para>
+
+ <para>The owner and group specify the owner and group SIDs for
+ the object. Share ACLs do not specify an owner or a group, so
+ these fields are empty.</para>
+
+ <para>ACLs specify permissions granted to the SID. This SID
+ can be specified in S-1-x-y-z format or as a name in which case
+ it is resolved against the server on which the file or directory
+ resides. The type, flags and mask values determine the type of
+ access granted to the SID.</para>
+
+ <para>The type can be either ALLOWED or DENIED to allow/deny access
+ to the SID. The flags values are generally zero for share ACLs.
+ </para>
+
+ <para>The mask is a value which expresses the access right
+ granted to the SID. It can be given as a decimal or hexadecimal value,
+ or by using one of the following text strings which map to the NT
+ file permissions of the same name.</para>
+
+ <itemizedlist>
+ <listitem><para><emphasis>R</emphasis> - Allow read access </para></listitem>
+ <listitem><para><emphasis>W</emphasis> - Allow write access</para></listitem>
+ <listitem><para><emphasis>X</emphasis> - Execute permission on the object</para></listitem>
+ <listitem><para><emphasis>D</emphasis> - Delete the object</para></listitem>
+ <listitem><para><emphasis>P</emphasis> - Change permissions</para></listitem>
+ <listitem><para><emphasis>O</emphasis> - Take ownership</para></listitem>
+ </itemizedlist>
+
+ <para>The following combined permissions can be specified:</para>
+
+ <itemizedlist>
+ <listitem><para><emphasis>READ</emphasis> - Equivalent to 'RX'
+ permissions</para></listitem>
+ <listitem><para><emphasis>CHANGE</emphasis> - Equivalent to 'RXWD' permissions
+ </para></listitem>
+ <listitem><para><emphasis>FULL</emphasis> - Equivalent to 'RWXDPO'
+ permissions</para></listitem>
+ </itemizedlist>
+ </refsect1>
+
+<refsect1>
+ <title>EXIT STATUS</title>
+
+ <para>The <command>sharesec</command> program sets the exit status
+ depending on the success or otherwise of the operations performed.
+ The exit status may be one of the following values. </para>
+
+ <para>If the operation succeeded, sharesec returns and exit
+ status of 0. If <command>sharesec</command> couldn't connect to the specified server,
+ or there was an error getting or setting the ACLs, an exit status
+ of 1 is returned. If there was an error parsing any command line
+ arguments, an exit status of 2 is returned. </para>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Add full access for SID
+ <parameter>S-1-5-21-1866488690-1365729215-3963860297-17724</parameter> on
+ <parameter>share</parameter>:
+ </para>
+
+ <programlisting>
+ host:~ # sharesec share -a S-1-5-21-1866488690-1365729215-3963860297-17724:ALLOWED/0/FULL
+ </programlisting>
+
+ <para>List all ACEs for <parameter>share</parameter>:
+ </para>
+
+ <programlisting>
+ host:~ # sharesec share -v
+ REVISION:1
+ CONTROL:SR|DP
+ OWNER:
+ GROUP:
+ ACL:S-1-1-0:ALLOWED/0x0/FULL
+ ACL:S-1-5-21-1866488690-1365729215-3963860297-17724:ALLOWED/0x0/FULL
+ </programlisting>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smb.conf.5.xml b/docs-xml/manpages/smb.conf.5.xml
new file mode 100644
index 0000000..e760ff6
--- /dev/null
+++ b/docs-xml/manpages/smb.conf.5.xml
@@ -0,0 +1,924 @@
+<?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="smb.conf.5" xmlns:xi="http://www.w3.org/2003/XInclude"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+
+<refmeta>
+ <refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">File Formats and Conventions</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>smb.conf</refname>
+ <refpurpose>The configuration file for the Samba suite</refpurpose>
+</refnamediv>
+
+<refsect1>
+ <title>SYNOPSIS</title>
+
+ <para>
+ The <filename moreinfo="none">smb.conf</filename> file is a configuration file for the Samba suite. <filename
+ moreinfo="none">smb.conf</filename> contains runtime configuration information for the Samba programs. The
+ complete description of the file format and possible parameters held within are here for reference purposes.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>HOW CONFIGURATION CHANGES ARE APPLIED</title>
+
+ <para>
+ The Samba suite includes a number of different programs. Some of them operate in a client mode, others are
+ server daemons that provide various services to its clients. The <filename moreinfo="none">smb.conf
+ </filename> file is processed in the following way:
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ The Samba suite's client applications read their configuration only once. Any changes made after start aren't
+ reflected in the context of already running client code.
+ </para></listitem>
+
+ <listitem><para>
+ The Samba suite's server daemons reload their configuration when requested. However, already active connections
+ do not change their configuration. More detailed information can be found in
+ <citerefentry><refentrytitle>smbd</refentrytitle><manvolnum>8</manvolnum></citerefentry> and <citerefentry>
+ <refentrytitle>winbindd</refentrytitle><manvolnum>8</manvolnum></citerefentry> manual pages.
+ </para></listitem>
+ </itemizedlist>
+
+ <para>
+ To request Samba server daemons to refresh their configuration, please use
+ <citerefentry><refentrytitle>smbcontrol</refentrytitle><manvolnum>1</manvolnum></citerefentry> utility.
+ </para>
+
+</refsect1>
+
+<refsect1 id="FILEFORMATSECT">
+ <title>FILE FORMAT</title>
+
+ <para>
+ The file consists of sections and parameters. A section begins with the name of the section in square brackets
+ and continues until the next section begins. Sections contain parameters of the form:
+<programlisting>
+<replaceable>name</replaceable> = <replaceable>value </replaceable>
+</programlisting>
+ </para>
+
+ <para>
+ The file is line-based - that is, each newline-terminated line represents either a comment, a section name or
+ a parameter.
+ </para>
+
+ <para>Section and parameter names are not case sensitive.</para>
+
+ <para>
+ Only the first equals sign in a parameter is significant. Whitespace before or after the first equals sign is
+ discarded. Leading, trailing and internal whitespace in section and parameter names is irrelevant. Leading
+ and trailing whitespace in a parameter value is discarded. Internal whitespace within a parameter value is
+ retained verbatim.
+ </para>
+
+ <para>
+ Any line beginning with a semicolon (<quote>;</quote>) or a hash (<quote>#</quote>)
+ character is ignored, as are lines containing only whitespace.
+ </para>
+
+ <para>
+ Any line ending in a <quote><literal>\</literal></quote> is continued on the next line in the customary UNIX fashion.
+ </para>
+
+ <para>
+ The values following the equals sign in parameters are all either a string (no quotes needed) or a boolean,
+ which may be given as yes/no, 1/0 or true/false. Case is not significant in boolean values, but is preserved
+ in string values. Some items such as create masks are numeric.
+ </para>
+
+</refsect1>
+
+<refsect1>
+ <title>SECTION DESCRIPTIONS</title>
+
+ <para>
+ Each section in the configuration file (except for the [global] section) describes a shared resource (known as
+ a <quote>share</quote>). The section name is the name of the shared resource and the parameters within the
+ section define the shares attributes.
+ </para>
+
+ <para>
+ There are three special sections, [global], [homes] and [printers], which are described under
+ <emphasis>special sections</emphasis>. The following notes apply to ordinary section descriptions.
+ </para>
+
+ <para>
+ A share consists of a directory to which access is being given plus a description of the access rights
+ which are granted to the user of the service. Some housekeeping options are also specifiable.
+ </para>
+
+ <para>
+ Sections are either file share services (used by the client as an extension of their native file systems)
+ or printable services (used by the client to access print services on the host running the server).
+ </para>
+
+ <para>
+ Sections may be designated <emphasis>guest</emphasis> services, in which case no password is required to
+ access them. A specified UNIX <emphasis>guest account</emphasis> is used to define access privileges in this
+ case.
+ </para>
+
+ <para>
+ Sections other than guest services will require a password to access them. The client provides the
+ username. As older clients only provide passwords and not usernames, you may specify a list of usernames to
+ check against the password using the <literal>user =</literal> option in the share definition. For modern clients
+ such as Windows 95/98/ME/NT/2000, this should not be necessary.
+ </para>
+
+ <para>
+ The access rights granted by the server are masked by the access rights granted to the specified or guest
+ UNIX user by the host system. The server does not grant more access than the host system grants.
+ </para>
+
+ <para>
+ The following sample section defines a file space share. The user has write access to the path <filename
+ moreinfo="none">/home/bar</filename>. The share is accessed via the share name <literal>foo</literal>:
+<programlisting>
+ <smbconfsection name="[foo]"/>
+ <smbconfoption name="path">/home/bar</smbconfoption>
+ <smbconfoption name="read only">no</smbconfoption>
+</programlisting>
+ </para>
+
+ <para>
+ The following sample section defines a printable share. The share is read-only, but printable. That is,
+ the only write access permitted is via calls to open, write to and close a spool file. The <emphasis>guest
+ ok</emphasis> parameter means access will be permitted as the default guest user (specified elsewhere):
+<programlisting>
+ <smbconfsection name="[aprinter]"/>
+ <smbconfoption name="path">/var/tmp</smbconfoption>
+ <smbconfoption name="read only">yes</smbconfoption>
+ <smbconfoption name="printable">yes</smbconfoption>
+ <smbconfoption name="guest ok">yes</smbconfoption>
+</programlisting>
+ </para>
+
+</refsect1>
+
+<refsect1>
+ <title>SPECIAL SECTIONS</title>
+
+ <refsect2>
+ <title>The [global] section</title>
+
+ <para>
+ Parameters in this section apply to the server as a whole, or are defaults for sections that do not
+ specifically define certain items. See the notes under PARAMETERS for more information.
+ </para>
+ </refsect2>
+
+ <refsect2 id="HOMESECT">
+ <title>The [homes] section</title>
+
+ <para>
+ If a section called [homes] is included in the configuration file, services connecting clients
+ to their home directories can be created on the fly by the server.
+ </para>
+
+ <para>
+ When the connection request is made, the existing sections are scanned. If a match is found, it is
+ used. If no match is found, the requested section name is treated as a username and looked up in the local
+ password file. If the name exists and the correct password has been given, a share is created by cloning the
+ [homes] section.
+ </para>
+
+ <para>
+ Some modifications are then made to the newly created share:
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ The share name is changed from homes to the located username.
+ </para></listitem>
+
+ <listitem><para>
+ If no path was given, the path is set to the user's home directory.
+ </para></listitem>
+ </itemizedlist>
+
+ <para>
+ If you decide to use a <emphasis>path =</emphasis> line in your [homes] section, it may be useful
+ to use the %S macro. For example:
+<programlisting>
+<userinput moreinfo="none">path = /data/pchome/%S</userinput>
+</programlisting>
+ is useful if you have different home directories for your PCs than for UNIX access.
+ </para>
+
+ <para>
+ This is a fast and simple way to give a large number of clients access to their home directories with a minimum
+ of fuss.
+ </para>
+
+ <para>
+ A similar process occurs if the requested section name is <quote>homes</quote>, except that the share
+ name is not changed to that of the requesting user. This method of using the [homes] section works well if
+ different users share a client PC.
+ </para>
+
+ <para>
+ The [homes] section can specify all the parameters a normal service section can specify, though some make more sense
+ than others. The following is a typical and suitable [homes] section:
+<programlisting>
+<smbconfsection name="[homes]"/>
+<smbconfoption name="read only">no</smbconfoption>
+</programlisting>
+ </para>
+
+ <para>
+ An important point is that if guest access is specified in the [homes] section, all home directories will be
+ visible to all clients <emphasis>without a password</emphasis>. In the very unlikely event that this is actually
+ desirable, it is wise to also specify <emphasis>read only access</emphasis>.
+ </para>
+
+ <para>
+ The <emphasis>browseable</emphasis> flag for auto home directories will be inherited from the global browseable
+ flag, not the [homes] browseable flag. This is useful as it means setting <emphasis>browseable = no</emphasis> in
+ the [homes] section will hide the [homes] share but make any auto home directories visible.
+ </para>
+ </refsect2>
+
+ <refsect2 id="PRINTERSSECT">
+ <title>The [printers] section</title>
+
+ <para>
+ This section works like [homes], but for printers.
+ </para>
+
+ <para>
+ If a [printers] section occurs in the configuration file, users are able to connect to any printer
+ specified in the local host's printcap file.
+ </para>
+
+ <para>
+ When a connection request is made, the existing sections are scanned. If a match is found, it is used.
+ If no match is found, but a [homes] section exists, it is used as described above. Otherwise, the requested
+ section name is treated as a printer name and the appropriate printcap file is scanned to see if the requested
+ section name is a valid printer share name. If a match is found, a new printer share is created by cloning the
+ [printers] section.
+ </para>
+
+ <para>
+ A few modifications are then made to the newly created share:
+ </para>
+
+ <itemizedlist>
+ <listitem><para>The share name is set to the located printer name</para></listitem>
+
+ <listitem><para>If no printer name was given, the printer name is set to the located printer name</para></listitem>
+
+ <listitem><para>If the share does not permit guest access and no username was given, the username is set
+ to the located printer name.</para></listitem>
+ </itemizedlist>
+
+ <para>
+ The [printers] service MUST be printable - if you specify otherwise, the server will refuse
+ to load the configuration file.
+ </para>
+
+ <para>
+ Typically the path specified is that of a world-writeable spool directory with the sticky bit set on
+ it. A typical [printers] entry looks like this:
+<programlisting>
+<smbconfsection name="[printers]"/>
+<smbconfoption name="path">/var/tmp</smbconfoption>
+<smbconfoption name="guest ok">yes</smbconfoption>
+<smbconfoption name="printable">yes</smbconfoption>
+</programlisting>
+ </para>
+
+ <para>
+ All aliases given for a printer in the printcap file are legitimate printer names as far as the server is concerned.
+ If your printing subsystem doesn't work like that, you will have to set up a pseudo-printcap. This is a file
+ consisting of one or more lines like this:
+<programlisting>
+alias|alias|alias|alias...
+</programlisting>
+ </para>
+
+ <para>
+ Each alias should be an acceptable printer name for your printing subsystem. In the [global] section,
+ specify the new file as your printcap. The server will only recognize names found in your pseudo-printcap,
+ which of course can contain whatever aliases you like. The same technique could be used simply to limit access
+ to a subset of your local printers.
+ </para>
+
+ <para>
+ An alias, by the way, is defined as any component of the first entry of a printcap record. Records are separated by newlines,
+ components (if there are more than one) are separated by vertical bar symbols (<literal>|</literal>).
+ </para>
+
+ <note><para>
+ On SYSV systems which use lpstat to determine what printers are defined on the system you may be able to use
+ <literal>printcap name = lpstat</literal> to automatically obtain a list of printers. See the
+ <literal>printcap name</literal> option for more details.
+ </para></note>
+ </refsect2>
+</refsect1>
+
+<refsect1>
+ <title>USERSHARES</title>
+
+ <para>Starting with Samba version 3.0.23 the capability for non-root users to add, modify, and delete
+ their own share definitions has been added. This capability is called <emphasis>usershares</emphasis> and
+ is controlled by a set of parameters in the [global] section of the smb.conf.
+ The relevant parameters are :
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>usershare allow guests</term>
+ <listitem><para>Controls if usershares can permit guest access.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>usershare max shares</term>
+ <listitem><para>Maximum number of user defined shares allowed.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>usershare owner only</term>
+ <listitem><para>If set only directories owned by the sharing user can be shared.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>usershare path</term>
+ <listitem><para>Points to the directory containing the user defined share definitions.
+ The filesystem permissions on this directory control who can create user defined shares.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>usershare prefix allow list</term>
+ <listitem><para>Comma-separated list of absolute pathnames restricting what directories
+ can be shared. Only directories below the pathnames in this list are permitted.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>usershare prefix deny list</term>
+ <listitem><para>Comma-separated list of absolute pathnames restricting what directories
+ can be shared. Directories below the pathnames in this list are prohibited.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>usershare template share</term>
+ <listitem><para>Names a pre-existing share used as a template for creating new usershares.
+ All other share parameters not specified in the user defined share definition
+ are copied from this named share.</para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>To allow members of the UNIX group <literal>foo</literal> to create user defined
+ shares, create the directory to contain the share definitions as follows:
+ </para>
+ <para>Become root:</para>
+<programlisting>
+mkdir /usr/local/samba/lib/usershares
+chgrp foo /usr/local/samba/lib/usershares
+chmod 1770 /usr/local/samba/lib/usershares
+</programlisting>
+<para>Then add the parameters
+
+<programlisting>
+ <smbconfoption name="usershare path">/usr/local/samba/lib/usershares</smbconfoption>
+ <smbconfoption name="usershare max shares">10</smbconfoption> # (or the desired number of shares)
+</programlisting>
+
+ to the global
+ section of your <filename>smb.conf</filename>. Members of the group foo may then manipulate the user defined shares
+ using the following commands.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>net usershare add sharename path [comment] [acl] [guest_ok=[y|n]]</term>
+ <listitem><para>To create or modify (overwrite) a user defined share.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>net usershare delete sharename</term>
+ <listitem><para>To delete a user defined share.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>net usershare list wildcard-sharename</term>
+ <listitem><para>To list user defined shares.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>net usershare info wildcard-sharename</term>
+ <listitem><para>To print information about user defined shares.</para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>PARAMETERS</title>
+
+ <para>Parameters define the specific attributes of sections.</para>
+
+ <para>
+ Some parameters are specific to the [global] section (e.g., <emphasis>security</emphasis>). Some parameters
+ are usable in all sections (e.g., <emphasis>create mask</emphasis>). All others are permissible only in normal
+ sections. For the purposes of the following descriptions the [homes] and [printers] sections will be
+ considered normal. The letter <emphasis>G</emphasis> in parentheses indicates that a parameter is specific to
+ the [global] section. The letter <emphasis>S</emphasis> indicates that a parameter can be specified in a
+ service specific section. All <emphasis>S</emphasis> parameters can also be specified in the [global] section
+ - in which case they will define the default behavior for all services.
+ </para>
+
+ <para>
+ Parameters are arranged here in alphabetical order - this may not create best bedfellows, but at least you can
+ find them! Where there are synonyms, the preferred synonym is described, others refer to the preferred
+ synonym.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VARIABLE SUBSTITUTIONS</title>
+
+ <para>
+ Many of the strings that are settable in the config file can take substitutions. For example the option
+ <quote>path = /tmp/%u</quote> is interpreted as <quote>path = /tmp/john</quote> if the user connected with the
+ username john.
+ </para>
+
+ <para>
+ These substitutions are mostly noted in the descriptions below, but there are some general substitutions
+ which apply whenever they might be relevant. These are:
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>%U</term>
+ <listitem><para>session username (the username that the client wanted, not
+ necessarily the same as the one they got).</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%G</term>
+ <listitem><para>primary group name of %U.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%h</term>
+ <listitem><para>the Internet hostname that Samba is running on.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%m</term>
+ <listitem><para>the NetBIOS name of the client machine (very useful).</para>
+
+ <para>This parameter is not available when Samba listens on port 445, as clients no longer
+ send this information. If you use this macro in an include statement on a domain that has
+ a Samba domain controller be sure to set in the [global] section <parameter>smb ports =
+ 139</parameter>. This will cause Samba to not listen on port 445 and will permit include
+ functionality to function as it did with Samba 2.x.
+ </para></listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+ <term>%L</term>
+ <listitem><para>the NetBIOS name of the server. This allows you to change your config based on what
+ the client calls you. Your server can have a <quote>dual personality</quote>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%M</term>
+ <listitem><para>the Internet name of the client machine.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%R</term>
+ <listitem><para>the selected protocol level after protocol negotiation. It can be one of
+ CORE, COREPLUS, LANMAN1, LANMAN2, NT1,
+ SMB2_02, SMB2_10, SMB3_00, SMB3_02, SMB3_11
+ or SMB2_FF.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%d</term>
+ <listitem><para>the process id of the current server
+ process.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%a</term>
+ <listitem><para>
+ The architecture of the remote
+ machine. It currently recognizes Samba (<constant>Samba</constant>),
+ the Linux CIFS file system (<constant>CIFSFS</constant>), OS/2, (<constant>OS2</constant>),
+ Mac OS X (<constant>OSX</constant>), Windows for Workgroups (<constant>WfWg</constant>), Windows 9x/ME
+ (<constant>Win95</constant>), Windows NT (<constant>WinNT</constant>),
+ Windows 2000 (<constant>Win2K</constant>),
+ Windows XP (<constant>WinXP</constant>),
+ Windows XP 64-bit(<constant>WinXP64</constant>),
+ Windows 2003 including
+ 2003R2 (<constant>Win2K3</constant>), and Windows
+ Vista (<constant>Vista</constant>). Anything else will be known as
+ <constant>UNKNOWN</constant>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%I</term>
+ <listitem><para>the IP address of the client machine.</para>
+ <para>Before 4.0.0 it could contain IPv4 mapped IPv6 addresses,
+ now it only contains IPv4 or IPv6 addresses.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%J</term>
+ <listitem><para>the IP address of the client machine,
+ colons/dots replaced by underscores.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%i</term>
+ <listitem><para>the local IP address to which a client connected.</para>
+ <para>Before 4.0.0 it could contain IPv4 mapped IPv6 addresses,
+ now it only contains IPv4 or IPv6 addresses.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%j</term>
+ <listitem><para>the local IP address to which a client connected,
+ colons/dots replaced by underscores.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%T</term>
+ <listitem><para>the current date and time.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%t</term>
+ <listitem><para>the current date and time in a minimal format without colons (YYYYYmmdd_HHMMSS).</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%D</term>
+ <listitem><para>name of the domain or workgroup of the current user.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%w</term>
+ <listitem><para>the winbind separator.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%$(<replaceable>envvar</replaceable>)</term>
+ <listitem><para>the value of the environment variable
+ <replaceable>envar</replaceable>.</para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>
+ The following substitutes apply only to some configuration options (only those that are
+ used when a connection has been established):
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>%S</term>
+ <listitem><para>the name of the current service, if any.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%P</term>
+ <listitem><para>the root directory of the current service, if any.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%u</term>
+ <listitem><para>username of the current service, if any.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%g</term>
+ <listitem><para>primary group name of %u.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%H</term>
+ <listitem><para>the home directory of the user given by %u.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>%N</term>
+ <listitem><para>This value is the same as %L.</para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>
+ There are some quite creative things that can be done with these substitutions and other
+ <filename moreinfo="none">smb.conf</filename> options.
+ </para>
+</refsect1>
+
+<refsect1 id="NAMEMANGLINGSECT">
+ <title>NAME MANGLING</title>
+
+ <para>
+ Samba supports <literal>name mangling</literal> so that DOS and Windows clients can use files that don't
+ conform to the 8.3 format. It can also be set to adjust the case of 8.3 format filenames.
+ </para>
+
+ <para>
+ There are several options that control the way mangling is performed, and they are grouped here rather
+ than listed separately. For the defaults look at the output of the testparm program.
+ </para>
+
+ <para>
+ These options can be set separately for each service.
+ </para>
+
+ <para>
+ The options are:
+ </para>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>case sensitive = yes/no/auto</term>
+ <listitem><para>
+ controls whether filenames are case sensitive. If they aren't, Samba must do a filename search and match on
+ passed names. The default setting of auto allows clients that support case sensitive filenames (Linux CIFSVFS
+ and smbclient 3.0.5 and above currently) to tell the Samba server on a per-packet basis that they wish to
+ access the file system in a case-sensitive manner (to support UNIX case sensitive semantics). No Windows or
+ DOS system supports case-sensitive filename so setting this option to auto is the same as setting it to no
+ for them. Default <emphasis>auto</emphasis>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>default case = upper/lower</term>
+ <listitem><para>
+ controls what the default case is for new filenames (ie. files that don't currently exist in the filesystem).
+ Default <emphasis>lower</emphasis>. IMPORTANT NOTE: As part of the optimizations for directories containing
+ large numbers of files, the following special case applies. If the options
+ <smbconfoption name="case sensitive">yes</smbconfoption>, <smbconfoption name="preserve case">No</smbconfoption>, and
+ <smbconfoption name="short preserve case">No</smbconfoption> are set, then the case of <emphasis>all</emphasis>
+ incoming client filenames, not just new filenames, will be modified. See additional notes below.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>preserve case = yes/no</term>
+ <listitem><para>
+ controls whether new files (ie. files that don't currently exist in the filesystem) are created with the case
+ that the client passes, or if they are forced to be the <literal>default</literal> case. Default
+ <emphasis>yes</emphasis>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>short preserve case = yes/no</term>
+ <listitem><para>
+ controls if new files (ie. files that don't currently exist in the filesystem) which conform to 8.3 syntax,
+ that is all in upper case and of suitable length, are created upper case, or if they are forced to be the
+ <literal>default</literal> case. This option can be used with <literal>preserve case = yes</literal> to permit
+ long filenames to retain their case, while short names are lowercased. Default <emphasis>yes</emphasis>.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>
+ By default, Samba 3.0 has the same semantics as a Windows NT server, in that it is case insensitive
+ but case preserving. As a special case for directories with large numbers of files, if the case
+ options are set as follows, "case sensitive = yes", "case preserve = no", "short preserve case = no"
+ then the "default case" option will be applied and will modify all filenames sent from the client
+ when accessing this share.
+ </para>
+
+</refsect1>
+
+<refsect1>
+ <title>REGISTRY-BASED CONFIGURATION</title>
+
+ <para>
+ Starting with Samba version 3.2.0, the capability to
+ store Samba configuration in the registry is available.
+ The configuration is stored in the registry key
+ <emphasis><literal>HKLM\Software\Samba\smbconf</literal></emphasis>.
+ There are two levels of registry configuration:
+ </para>
+
+ <orderedlist continuation="restarts" inheritnum="ignore" numeration="arabic">
+ <listitem><para>Share definitions stored in registry are used.
+ This is triggered by setting the global
+ parameter <parameter>registry shares</parameter>
+ to <quote>yes</quote> in <emphasis>smb.conf</emphasis>.
+ </para>
+
+ <para>The registry shares are loaded not at startup but
+ on demand at runtime by <emphasis>smbd</emphasis>.
+ Shares defined in <emphasis>smb.conf</emphasis> take
+ priority over shares of the same name defined in
+ registry.</para></listitem>
+
+ <listitem>
+ <para>Global <emphasis>smb.conf</emphasis>
+ options stored in registry are used. This can be activated
+ in two different ways:</para>
+
+ <para>Firstly, a registry only configuration is triggered
+ by setting
+ <smbconfoption name="config backend">registry</smbconfoption>
+ in the [global] section of <emphasis>smb.conf</emphasis>.
+ This resets everything that has been read from config files
+ to this point and reads the content of the global configuration
+ section from the registry.
+ This is the recommended method of using registry based
+ configuration.</para>
+
+ <para>Secondly, a mixed configuration can be activated
+ by a special new meaning of the parameter
+ <smbconfoption name="include">registry</smbconfoption>
+ in the [global] section of <emphasis>smb.conf</emphasis>.
+ This reads the global options from registry with the same
+ priorities as for an include of a text file.
+ This may be especially useful in cases where an initial
+ configuration is needed to access the registry.</para>
+
+ <para>Activation of global registry options automatically
+ activates registry shares. So in the registry only case,
+ shares are loaded on demand only.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>
+ Note: To make registry-based configurations foolproof
+ at least to a certain extent, the use
+ of <parameter>lock directory</parameter> and
+ <parameter>config backend</parameter>
+ inside the registry configuration has been disabled:
+ Especially by changing the
+ <parameter>lock directory</parameter> inside the registry
+ configuration, one would create a broken setup where the daemons
+ do not see the configuration they loaded once it is active.
+ </para>
+
+ <para>
+ The registry configuration can be accessed with
+ tools like <emphasis>regedit</emphasis> or <emphasis>net (rpc)
+ registry</emphasis> in the key
+ <emphasis><literal>HKLM\Software\Samba\smbconf</literal></emphasis>.
+
+ More conveniently, the <emphasis>conf</emphasis> subcommand of the
+ <citerefentry><refentrytitle>net</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> utility
+ offers a dedicated interface to read and write the
+ registry based configuration locally, i.e. directly
+ accessing the database file, circumventing the
+ server.
+ </para>
+
+</refsect1>
+
+<refsect1 ID="IDMAPCONSIDERATIONS">
+ <title>IDENTITY MAPPING CONSIDERATIONS</title>
+
+ <para>
+ In the SMB protocol, users, groups, and machines are represented by their security identifiers (SIDs).
+ On POSIX system Samba processes need to run under corresponding POSIX user identities and
+ with supplemental POSIX groups to allow access to the files owned by those users and groups.
+ The process of mapping SIDs to POSIX users and groups is called <emphasis>IDENTITY MAPPING</emphasis>
+ or, in short, <emphasis>ID MAPPING</emphasis>.
+ </para>
+
+ <para>
+ Samba supports multiple ways to map SIDs to POSIX users and groups. The configuration is driven by
+ the <smbconfoption name="idmap config DOMAIN : OPTION"/> option which allows one to specify identity
+ mapping (idmap) options for each domain separately.
+ </para>
+
+ <para>
+ Identity mapping modules implement different strategies for mapping of SIDs to POSIX user and group
+ identities. They are applicable to different use cases and scenarios. It is advised to read the documentation
+ of the individual identity mapping modules before choosing a specific scenario to use. Each identity
+ management module is documented in a separate manual page. The standard idmap backends are
+ tdb (<citerefentry><refentrytitle>idmap_tdb</refentrytitle><manvolnum>8</manvolnum></citerefentry>),
+ tdb2 (<citerefentry><refentrytitle>idmap_tdb2</refentrytitle><manvolnum>8</manvolnum></citerefentry>),
+ ldap (<citerefentry><refentrytitle>idmap_ldap</refentrytitle><manvolnum>8</manvolnum></citerefentry>),
+ rid (<citerefentry><refentrytitle>idmap_rid</refentrytitle><manvolnum>8</manvolnum></citerefentry>),
+ hash (<citerefentry><refentrytitle>idmap_hash</refentrytitle><manvolnum>8</manvolnum></citerefentry>),
+ autorid (<citerefentry><refentrytitle>idmap_autorid</refentrytitle><manvolnum>8</manvolnum></citerefentry>),
+ ad (<citerefentry><refentrytitle>idmap_ad</refentrytitle> <manvolnum>8</manvolnum></citerefentry>),
+ nss (<citerefentry><refentrytitle>idmap_nss</refentrytitle> <manvolnum>8</manvolnum></citerefentry>), and
+ rfc2307 (<citerefentry><refentrytitle>idmap_rfc2307</refentrytitle> <manvolnum>8</manvolnum></citerefentry>).
+ </para>
+
+ <para>
+ Overall, ID mapping configuration should be decided carefully. Changes to the already deployed ID mapping
+ configuration may create the risk of losing access to the data or disclosing the data to the wrong parties.
+ </para>
+
+ <para>
+ This example shows how to configure two domains with <citerefentry><refentrytitle>idmap_rid</refentrytitle>
+ <manvolnum>8</manvolnum> </citerefentry>, the principal domain and a trusted domain,
+ leaving the default id mapping scheme at tdb.
+ </para>
+
+ <programlisting>
+ [global]
+ security = domain
+ workgroup = MAIN
+
+ idmap config * : backend = tdb
+ idmap config * : range = 1000000-1999999
+
+ idmap config MAIN : backend = rid
+ idmap config MAIN : range = 5000000-5999999
+
+ idmap config TRUSTED : backend = rid
+ idmap config TRUSTED : range = 6000000-6999999
+ </programlisting>
+</refsect1>
+
+<refsect1>
+ <title>EXPLANATION OF EACH PARAMETER</title>
+
+ <samba:parameterlist>
+ <!-- The URI below is resolved to local generated version of parameters.all.xml //-->
+ <!-- WAF build places it in bin/default/docs-xml/smbdotconf/parameters.all.xml //-->
+ <!-- and we redirect there via use of XML_CATALOG_FILES, see docs-xml/build/catalog.xml.in //-->
+ <xi:include href="http://www.samba.org/samba/smbdotconf/parameters.all.xml" parse="xml"/>
+ </samba:parameterlist>
+
+</refsect1>
+
+<refsect1>
+ <title>WARNINGS</title>
+
+ <para>
+ Although the configuration file permits service names to contain spaces, your client software may not.
+ Spaces will be ignored in comparisons anyway, so it shouldn't be a problem - but be aware of the possibility.
+ </para>
+
+ <para>
+ On a similar note, many clients - especially DOS clients - limit service names to eight characters.
+ <citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry> has no such
+ limitation, but attempts to connect from such clients will fail if they truncate the service names. For this
+ reason you should probably keep your service names down to eight characters in length.
+ </para>
+
+ <para>
+ Use of the <literal>[homes]</literal> and <literal>[printers]</literal> special sections make life
+ for an administrator easy, but the various combinations of default attributes can be tricky. Take extreme
+ care when designing these sections. In particular, ensure that the permissions on spool directories are
+ correct.
+ </para>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para>
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbpasswd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>samba-tool</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbclient</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>nmblookup</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>testparm</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>.</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbcacls.1.xml b/docs-xml/manpages/smbcacls.1.xml
new file mode 100644
index 0000000..8cd63fc
--- /dev/null
+++ b/docs-xml/manpages/smbcacls.1.xml
@@ -0,0 +1,482 @@
+<?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="smbcacls.1">
+
+<refmeta>
+ <refentrytitle>smbcacls</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>smbcacls</refname>
+ <refpurpose>Set or get ACLs on an NT file or directory names</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>smbcacls</command>
+ <arg choice="req">//server/share</arg>
+ <arg choice="req">/filename</arg>
+
+ <arg choice="opt">-D|--delete=ACL</arg>
+ <arg choice="opt">-M|--modify=ACL</arg>
+ <arg choice="opt">-a|--add=ACL</arg>
+ <arg choice="opt">-S|--set=ACLS</arg>
+ <arg choice="opt">-C|--chown=USERNAME</arg>
+ <arg choice="opt">-G|--chgrp=GROUPNAME</arg>
+ <arg choice="opt">-I|--inherit=STRING</arg>
+ <arg choice="opt">--recurse</arg>
+ <arg choice="opt">--propagate-inheritance</arg>
+ <arg choice="opt">--save=savefile</arg>
+ <arg choice="opt">--restore=restorefile</arg>
+ <arg choice="opt">--numeric</arg>
+ <arg choice="opt">--sddl</arg>
+ <arg choice="opt">--query-security-info=INT</arg>
+ <arg choice="opt">--set-security-info=INT</arg>
+ <arg choice="opt">-t|--test-args</arg>
+ <arg choice="opt">--domain-sid=SID</arg>
+ <arg choice="opt">-x|--maximum-access</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</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>
+ </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 <command>smbcacls</command> program manipulates NT Access Control
+ Lists (ACLs) on SMB file shares. An ACL comprises zero or more Access
+ Control Entries (ACEs), which define access restrictions for a specific
+ user or group.</para>
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <para>The following options are available to the <command>smbcacls</command> program.
+ The format of ACLs is described in the section ACL FORMAT </para>
+
+
+ <variablelist>
+ <varlistentry>
+ <term>-a|--add acl</term>
+ <listitem><para>Add the entries specified to the ACL. Existing
+ access control entries are unchanged.</para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-M|--modify acl</term>
+ <listitem><para>Modify the mask value (permissions) for the ACEs
+ specified on the command line. An error will be printed for each
+ ACE specified that was not already present in the object's ACL.
+ </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-D|--delete acl</term>
+ <listitem><para>Delete any ACEs specified on the command line.
+ An error will be printed for each ACE specified that was not
+ already present in the object's ACL. </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-S|--set acl</term>
+ <listitem><para>This command sets the ACL on the object with
+ only what is specified on the command line. Any existing ACL
+ is erased. Note that the ACL specified must contain at least a revision,
+ type, owner and group for the call to succeed. </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-C|--chown name</term>
+ <listitem><para>The owner of a file or directory can be changed
+ to the name given using the <parameter>-C</parameter> option.
+ The name can be a sid in the form S-1-x-y-z or a name resolved
+ against the server specified in the first argument. </para>
+
+ <para>This command is a shortcut for -M OWNER:name.
+ </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-G|--chgrp name</term>
+ <listitem><para>The group owner of a file or directory can
+ be changed to the name given using the <parameter>-G</parameter>
+ option. The name can be a sid in the form S-1-x-y-z or a name
+ resolved against the server specified n the first argument.
+ </para>
+
+ <para>This command is a shortcut for -M GROUP:name.</para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-I|--inherit allow|remove|copy</term>
+ <listitem><para>Set or unset the windows "Allow inheritable
+ permissions" check box using the <parameter>-I</parameter>
+ option. To set the check box pass allow. To unset the check
+ box pass either remove or copy. Remove will remove all
+ inherited ACEs. Copy will copy all the inherited ACEs.
+ </para></listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+ <term>--propagate-inheritance</term>
+ <listitem><para>Add, modify, delete or set ACEs on an entire
+ directory tree according to the inheritance flags. Refer to the
+ INHERITANCE section for details.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--save savefile</term>
+ <listitem><para> stores the DACLs in sddl format
+ of the specified file or folder for later use with restore.
+ SACLS, owner or integrity labels are not stored.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--restore savefile</term>
+ <listitem><para> applies the stored DACLS to files in
+ directory.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--recurse</term>
+ <listitem><para> indicates the operation is performed on
+ directory and all files/directories below. (only applies
+ to save option)
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--numeric</term>
+ <listitem><para>This option displays all ACL information in numeric
+ format. The default is to convert SIDs to names and ACE types
+ and masks to a readable string format. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-m|--max-protocol PROTOCOL_NAME</term>
+ <listitem><para>This allows the user to select the
+ highest SMB protocol level that smbcacls will use to
+ connect to the server. By default this is set to
+ NT1, which is the highest available SMB1 protocol.
+ To connect using SMB2 or SMB3 protocol, use the
+ strings SMB2 or SMB3 respectively. Note that to connect
+ to a Windows 2012 server with encrypted transport selecting
+ a max-protocol of SMB3 is required.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-t|--test-args</term>
+ <listitem><para>
+ Don't actually do anything, only validate the correctness of
+ the arguments.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--query-security-info FLAGS</term>
+ <listitem><para>The security-info flags for queries.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--set-security-info FLAGS</term>
+ <listitem><para>The security-info flags for queries.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--sddl</term>
+ <listitem><para>Output and input acls in sddl format.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--domain-sid SID</term>
+ <listitem><para>SID used for sddl processing.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-x|--maximum-access</term>
+ <listitem><para>When displaying an ACL additionally query
+ the server for effective maximum permissions. Note that this
+ is only supported with SMB protocol version 2 or higher.
+ </para></listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ &cmdline.common.connection;
+ &cmdline.common.credentials;
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>ACL FORMAT</title>
+
+ <para>The format of an ACL is one or more entries separated by
+ either commas or newlines. An ACL entry is one of the following: </para>
+
+<para><programlisting>
+REVISION:&lt;revision number&gt;
+OWNER:&lt;sid or name&gt;
+GROUP:&lt;sid or name&gt;
+ACL:&lt;sid or name&gt;:&lt;type&gt;/&lt;flags&gt;/&lt;mask&gt;
+</programlisting></para>
+
+ <para>Control bits related to automatic inheritance</para>
+
+
+ <itemizedlist>
+ <listitem><para><emphasis>OD</emphasis> - "Owner Defaulted" - Indicates that the SID of the owner of the security descriptor was provided by a default mechanism.</para></listitem>
+ <listitem><para><emphasis>GD</emphasis> - "Group Defaulted" - Indicates that the SID of the security descriptor group was provided by a default mechanism.</para></listitem>
+ <listitem><para><emphasis>DP</emphasis> - "DACL Present" - Indicates a security descriptor that has a discretionary access control list (DACL).</para></listitem>
+ <listitem><para><emphasis>DD</emphasis> - "DACL Defaulted" - Indicates a security descriptor with a default DACL.</para></listitem>
+ <listitem><para><emphasis>SP</emphasis> - "SACL Present" - Indicates a security descriptor that has a system access control list (SACL).</para></listitem>
+ <listitem><para><emphasis>SD</emphasis> - "SACL Defaulted" - A default mechanism, rather than the original provider of the security descriptor, provided the SACL.</para></listitem>
+ <listitem><para><emphasis>DT</emphasis> - "DACL Trusted"</para></listitem>
+ <listitem><para><emphasis>SS</emphasis> - "Server Security"</para></listitem>
+ <listitem><para><emphasis>DR</emphasis> - "DACL Inheritance Required" - Indicates a required security descriptor in which the DACL is set up to support automatic propagation of inheritable access control entries (ACEs) to existing child objects.</para></listitem>
+ <listitem><para><emphasis>SR</emphasis> - "SACL Inheritance Required" - Indicates a required security descriptor in which the SACL is set up to support automatic propagation of inheritable ACEs to existing child objects.</para></listitem>
+ <listitem><para><emphasis>DI</emphasis> - "DACL Auto Inherited" - Indicates a security descriptor in which the DACL is set up to support automatic propagation of inheritable access control entries (ACEs) to existing child objects.</para></listitem>
+ <listitem><para><emphasis>SI</emphasis> - "SACL Auto Inherited" - Indicates a security descriptor in which the SACL is set up to support automatic propagation of inheritable ACEs to existing child objects.</para></listitem>
+ <listitem><para><emphasis>PD</emphasis> - "DACL Protected" - Prevents the DACL of the security descriptor from being modified by inheritable ACEs.</para></listitem>
+ <listitem><para><emphasis>PS</emphasis> - "SACL Protected" - Prevents the SACL of the security descriptor from being modified by inheritable ACEs.</para></listitem>
+ <listitem><para><emphasis>RM</emphasis> - "RM Control Valid" - Indicates that the resource manager control is valid.</para></listitem>
+ <listitem><para><emphasis>SR</emphasis> - "Self Relative" - Indicates a self-relative security descriptor.</para></listitem>
+ </itemizedlist>
+
+ <para>The revision of the ACL specifies the internal Windows
+ NT ACL revision for the security descriptor.
+ If not specified it defaults to 1. Using values other than 1 may
+ cause strange behaviour. </para>
+
+ <para>The owner and group specify the owner and group sids for the
+ object. If a SID in the format S-1-x-y-z is specified this is used,
+ otherwise the name specified is resolved using the server on which
+ the file or directory resides. </para>
+
+ <para>ACEs are specified with an "ACL:" prefix, and define permissions
+ granted to an SID. The SID again can be specified in S-1-x-y-z format
+ or as a name in which case it is resolved against the server on which
+ the file or directory resides. The type, flags and mask values
+ determine the type of access granted to the SID. </para>
+
+ <para>The type can be either ALLOWED or DENIED to allow/deny access
+ to the SID.</para>
+
+ <para>The flags field defines how the ACE should be considered when
+ performing inheritance. <command>smbcacls</command> uses these flags
+ when run with <parameter>--propagate-inheritance</parameter>.</para>
+
+ <para>Flags can be specified as decimal or hexadecimal values, or with
+ the respective (XX) aliases, separated by a vertical bar "|".</para>
+
+ <itemizedlist>
+ <listitem><para><emphasis>(OI)</emphasis> Object Inherit 0x1</para></listitem>
+ <listitem><para><emphasis>(CI)</emphasis> Container Inherit 0x2</para></listitem>
+ <listitem><para><emphasis>(NP)</emphasis> No Propagate Inherit 0x4</para></listitem>
+ <listitem><para><emphasis>(IO)</emphasis> Inherit Only 0x8</para></listitem>
+ <listitem><para><emphasis>(I)</emphasis> ACE was inherited 0x10</para></listitem>
+ </itemizedlist>
+
+
+ <para>The mask is a value which expresses the access right
+ granted to the SID. It can be given as a decimal or hexadecimal value,
+ or by using one of the following text strings which map to the NT
+ file permissions of the same name. </para>
+
+ <itemizedlist>
+ <listitem><para><emphasis>R</emphasis> - Allow read access </para></listitem>
+ <listitem><para><emphasis>W</emphasis> - Allow write access</para></listitem>
+ <listitem><para><emphasis>X</emphasis> - Execute permission on the object</para></listitem>
+ <listitem><para><emphasis>D</emphasis> - Delete the object</para></listitem>
+ <listitem><para><emphasis>P</emphasis> - Change permissions</para></listitem>
+ <listitem><para><emphasis>O</emphasis> - Take ownership</para></listitem>
+ </itemizedlist>
+
+
+ <para>The following combined permissions can be specified:</para>
+
+
+ <itemizedlist>
+ <listitem><para><emphasis>READ</emphasis> - Equivalent to 'RX'
+ permissions</para></listitem>
+ <listitem><para><emphasis>CHANGE</emphasis> - Equivalent to 'RXWD' permissions
+ </para></listitem>
+ <listitem><para><emphasis>FULL</emphasis> - Equivalent to 'RWXDPO'
+ permissions</para></listitem>
+ </itemizedlist>
+ </refsect1>
+
+<refsect1>
+ <title>INHERITANCE</title>
+
+ <para>Per-ACE inheritance flags can be set in the ACE flags field. By
+ default, inheritable ACEs e.g. those marked for object inheritance (OI)
+ or container inheritance (CI), are not propagated to sub-files or
+ folders. However, with the
+ <parameter>--propagate-inheritance</parameter> argument specified, such
+ ACEs are automatically propagated according to some inheritance
+ rules.
+ <itemizedlist>
+ <listitem><para>Inheritable (OI)(OI) ACE flags can only be
+ applied to folders. </para></listitem>
+ <listitem><para>Any inheritable ACEs applied to sub-files or
+ folders are marked with the inherited (I) flag. Inheritable
+ ACE(s) are applied to folders unless the no propagation (NP)
+ flag is set. </para>
+ </listitem>
+ <listitem><para>When an ACE with the (OI) flag alone set is
+ propagated to a child folder the inheritance only flag (IO) is
+ also applied. This indicates the permissions associated with
+ the ACE don't apply to the folder itself (only to it's
+ child files). When applying the ACE to a child file the ACE is
+ inherited as normal.</para></listitem>
+ <listitem><para>When an ace with the (CI) flag alone set is
+ propagated to a child file there is no effect, when propagated
+ to a child folder it is inherited as normal.
+ </para></listitem>
+ <listitem><para>When an ACE that has both (OI) &amp; (CI) flags
+ set the ACE is inherited as normal by both folders and
+ files.</para></listitem>
+ </itemizedlist></para>
+<para>(OI)(READ) added to parent folder</para>
+<para><programlisting>
++-parent/ (OI)(READ)
+| +-file.1 (I)(READ)
+| +-nested/ (OI)(IO)(I)(READ)
+ | +-file.2 (I)(READ)
+</programlisting></para>
+<para>(CI)(READ) added to parent folder</para>
+<para><programlisting>
++-parent/ (CI)(READ)
+| +-file.1
+| +-nested/ (CI)(I)(READ)
+ | +-file.2
+</programlisting></para>
+<para>(OI)(CI)(READ) added to parent folder</para>
+<para><programlisting>
++-parent/ (OI)(CI)(READ)
+| +-file.1 (I)(READ)
+| +-nested/ (OI)(CI)(I)(READ)
+ | +-file.2 (I)(READ)
+</programlisting></para>
+<para>(OI)(NP)(READ) added to parent folder</para>
+<para><programlisting>
++-oi_dir/ (OI)(NP)(READ)
+| +-file.1 (I)(READ)
+| +-nested/
+| +-file.2
+</programlisting></para>
+<para>(CI)(NP)(READ) added to parent folder</para>
+<para><programlisting>
++-oi_dir/ (CI)(NP)(READ)
+| +-file.1
+| +-nested/ (I)(READ)
+| +-file.2
+</programlisting></para>
+<para>(OI)(CI)(NP)(READ) added to parent folder</para>
+<para><programlisting>
++-parent/ (CI)(OI)(NP)(READ)
+| +-file.1 (I)(READ)
+| +-nested/ (I)(READ)
+| +-file.2
+</programlisting></para>
+ <para>Files and folders with protected ACLs do not allow inheritable
+ permissions (set with <parameter>-I</parameter>). Such objects will
+ not receive ACEs flagged for inheritance with (CI) or (OI).</para>
+
+</refsect1>
+
+<refsect1>
+ <title>EXIT STATUS</title>
+
+ <para>The <command>smbcacls</command> program sets the exit status
+ depending on the success or otherwise of the operations performed.
+ The exit status may be one of the following values. </para>
+
+ <para>If the operation succeeded, smbcacls returns and exit
+ status of 0. If <command>smbcacls</command> couldn't connect to the specified server,
+ or there was an error getting or setting the ACLs, an exit status
+ of 1 is returned. If there was an error parsing any command line
+ arguments, an exit status of 2 is returned. </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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><command>smbcacls</command> was written by Andrew Tridgell
+ and Tim Potter.</para>
+
+ <para>The conversion to DocBook for Samba 2.2 was done
+ by Gerald Carter. The conversion to DocBook XML 4.2 for Samba 3.0 was done
+ by Alexander Bokovoy.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbclient.1.xml b/docs-xml/manpages/smbclient.1.xml
new file mode 100644
index 0000000..40f9d89
--- /dev/null
+++ b/docs-xml/manpages/smbclient.1.xml
@@ -0,0 +1,1210 @@
+<?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="smbclient.1">
+
+<refmeta>
+ <refentrytitle>smbclient</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>smbclient</refname>
+ <refpurpose>ftp-like client to access SMB/CIFS resources
+ on servers</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>smbclient</command>
+ <arg choice="opt">-M|--message=HOST</arg>
+ <arg choice="opt">-I|--ip-address=IP</arg>
+ <arg choice="opt">-E|--stderr</arg>
+ <arg choice="opt">-L|--list=HOST</arg>
+ <arg choice="opt">-T|--tar=&lt;c|x&gt;IXFvgbNan</arg>
+ <arg choice="opt">-D|--directory=DIR</arg>
+ <arg choice="opt">-b|--send-buffer=BYTES</arg>
+ <arg choice="opt">-t|--timeout=SECONDS</arg>
+ <arg choice="opt">-p|--port=PORT</arg>
+ <arg choice="opt">-g|--grepable</arg>
+ <arg choice="opt">-q|--quiet</arg>
+ <arg choice="opt">-B|--browse</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</arg>
+ <arg choice="opt">-d|--debuglevel=DEBUGLEVEL</arg>
+ <arg choice="opt">--debug-stdout</arg>
+ <arg choice="opt">-s|--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">-c|--command=STRING</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><command>smbclient</command> is a client that can
+ 'talk' to an SMB/CIFS server. It offers an interface
+ similar to that of the ftp program (see <citerefentry><refentrytitle>ftp</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>).
+ Operations include things like getting files from the server
+ to the local machine, putting files from the local machine to
+ the server, retrieving directory information from the server
+ and so on. </para>
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>servicename</term>
+ <listitem><para>servicename is the name of the service
+ you want to use on the server. A service name takes the form
+ <filename>//server/service</filename> where <parameter>server
+ </parameter> is the NetBIOS name of the SMB/CIFS server
+ offering the desired service and <parameter>service</parameter>
+ is the name of the service offered. Thus to connect to
+ the service "printer" on the SMB/CIFS server "smbserver",
+ you would use the servicename <filename>//smbserver/printer
+ </filename></para>
+
+ <para>Note that the server name required is NOT necessarily
+ the IP (DNS) host name of the server ! The name required is
+ a NetBIOS server name, which may or may not be the
+ same as the IP hostname of the machine running the server.
+ </para>
+
+ <para>The server name is looked up according to either
+ the <parameter>-R|--name-resolve</parameter> parameter to <command>smbclient</command> or
+ using the name resolve order parameter in
+ the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> file,
+ allowing an administrator to change the order and methods
+ by which server names are looked up. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>password</term>
+ <listitem><para>The password required to access the specified
+ service on the specified server. If this parameter is
+ supplied, the <parameter>-N</parameter> option (suppress
+ password prompt) is assumed. </para>
+
+ <para>There is no default password. If no password is supplied
+ on the command line (either by using this parameter or adding
+ a password to the <parameter>-U</parameter> option (see
+ below)) and the <parameter>-N</parameter> option is not
+ specified, the client will prompt for a password, even if
+ the desired service does not require one. (If no password is
+ required, simply press ENTER to provide a null password.)
+ </para>
+
+ <para>Note: Some servers (including OS/2 and Windows for
+ Workgroups) insist on an uppercase password. Lowercase
+ or mixed case passwords may be rejected by these servers.
+ </para>
+
+ <para>Be cautious about including passwords in scripts.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-M|--message NetBIOS name</term>
+ <listitem><para>This options allows you to send messages, using
+ the "WinPopup" protocol, to another computer. Once a connection is
+ established you then type your message, pressing ^D (control-D) to
+ end. </para>
+
+ <para>If the receiving computer is running WinPopup the user will
+ receive the message and probably a beep. If they are not running
+ WinPopup the message will be lost, and no error message will
+ occur. </para>
+
+ <para>The message is also automatically truncated if the message
+ is over 1600 bytes, as this is the limit of the protocol.
+ </para>
+
+ <para>
+ One useful trick is to pipe the message through <command>smbclient</command>.
+ For example: smbclient -M FRED &lt; mymessage.txt will send the
+ message in the file <filename>mymessage.txt</filename> to the
+ machine FRED.
+ </para>
+
+ <para>You may also find the <parameter>-U</parameter> and
+ <parameter>-I</parameter> options useful, as they allow you to
+ control the FROM and TO parts of the message. </para>
+
+ <para>See the <parameter>message command</parameter> parameter in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> for a description of how to handle incoming
+ WinPopup messages in Samba. </para>
+
+ <para><emphasis>Note</emphasis>: Copy WinPopup into the startup group
+ on your WfWg PCs if you want them to always be able to receive
+ messages. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-p|--port port</term>
+ <listitem><para>This number is the TCP port number that will be used
+ when making connections to the server. The standard (well-known)
+ TCP port number for an SMB/CIFS server is 139, which is the
+ default. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-g|--grepable</term>
+ <listitem><para>This parameter provides combined with
+ <parameter>-L</parameter> easy parseable output that allows processing
+ with utilities such as grep and cut.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-m|--max-protocol protocol</term>
+ <listitem><para>This allows the user to select the
+ highest SMB protocol level that smbclient will use to
+ connect to the server. By default this is set to
+ highest available SMB3 protocol version.
+ To connect using SMB2 or SMB1 protocol, use the
+ strings SMB2 or NT1 respectively. Note that to connect
+ to a Windows 2012 server with encrypted transport selecting
+ a max-protocol of SMB3 is required.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-P|--machine-pass</term>
+ <listitem><para>
+ Make queries to the external server using the machine account of the local server.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-I|--ip-address IP-address</term>
+ <listitem><para><replaceable>IP address</replaceable> is the address of the server to connect to.
+ It should be specified in standard "a.b.c.d" notation. </para>
+
+ <para>Normally the client would attempt to locate a named
+ SMB/CIFS server by looking it up via the NetBIOS name resolution
+ mechanism described above in the <parameter>name resolve order</parameter>
+ parameter above. Using this parameter will force the client
+ to assume that the server is on the machine with the specified IP
+ address and the NetBIOS name component of the resource being
+ connected to will be ignored. </para>
+
+ <para>There is no default for this parameter. If not supplied,
+ it will be determined automatically by the client as described
+ above. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-E|--stderr</term>
+ <listitem><para>This parameter causes the client to write messages
+ to the standard error stream (stderr) rather than to the standard
+ output stream. </para>
+
+ <para>By default, the client writes messages to standard output
+ - typically the user's tty. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-L|--list</term>
+ <listitem><para>This option allows you to look at what services
+ are available on a server. You use it as <command>smbclient -L
+ host</command> and a list should appear. The <parameter>-I
+ </parameter> option may be useful if your NetBIOS names don't
+ match your TCP/IP DNS host names or if you are trying to reach a
+ host on another network. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-b|--send-buffer buffersize</term>
+ <listitem><para>
+ When sending or receiving files, smbclient uses an
+ internal buffer sized by the maximum number of allowed requests
+ to the connected server. This command allows this size to be set to any
+ range between 0 (which means use the default server controlled size) bytes
+ and 16776960 (0xFFFF00) bytes. Using the server controlled size is the
+ most efficient as smbclient will pipeline as many simultaneous reads or
+ writes needed to keep the server as busy as possible. Setting this to
+ any other size will slow down the transfer. This can also be set
+ using the <command>iosize</command> command inside smbclient.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-B|--browse</term>
+ <listitem><para>Browse SMB servers using DNS.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-t|--timeout &lt;timeout-seconds&gt;</term>
+ <listitem><para>This allows the user to tune the default
+ timeout used for each SMB request. The default setting is
+ 20 seconds. Increase it if requests to the server sometimes
+ time out. This can happen when SMB3 encryption is selected
+ and smbclient is overwhelming the server with requests.
+ This can also be set using the <command>timeout</command>
+ command inside smbclient.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-T|--tar tar options</term>
+ <listitem><para>smbclient may be used to create <command>tar(1)
+ </command> compatible backups of all the files on an SMB/CIFS
+ share. The secondary tar flags that can be given to this option
+ are:</para>
+
+ <itemizedlist>
+ <listitem><para><parameter>c</parameter> - Create a tar
+ backup archive on the local system. Must be followed by
+ the name of a tar file, tape device or "-" for standard
+ output. If using standard output you must turn the log
+ level to its lowest value -d0 to avoid corrupting your tar
+ file. This flag is mutually exclusive with the
+ <parameter>x</parameter> flag. </para></listitem>
+
+ <listitem><para><parameter>n</parameter> - In
+ combination with the <parameter>c</parameter>
+ flag, do not actually create the archive,
+ instead perform a dry run that attempts
+ everything that involved in creation other than
+ writing the file.</para></listitem>
+
+ <listitem><para><parameter>x</parameter> - Extract (restore) a local
+ tar file back to a share. Unless the -D option is given, the tar
+ files will be restored from the top level of the share. Must be
+ followed by the name of the tar file, device or "-" for standard
+ input. Mutually exclusive with the <parameter>c</parameter> flag.
+ Restored files have their creation times (mtime) set to the
+ date saved in the tar file. Directories currently do not get
+ their creation dates restored properly. </para></listitem>
+
+ <listitem><para><parameter>I</parameter> - Include files and directories.
+ Is the default behavior when filenames are specified above. Causes
+ files to be included in an extract or create (and therefore
+ everything else to be excluded). See example below. Filename globbing
+ works in one of two ways. See <parameter>r</parameter> below. </para></listitem>
+
+ <listitem><para><parameter>X</parameter> - Exclude files and directories.
+ Causes files to be excluded from an extract or create. See
+ example below. Filename globbing works in one of two ways.
+ See <parameter>r</parameter> below. </para></listitem>
+
+ <listitem><para><parameter>F</parameter> - File containing a list of files and directories.
+ The <parameter>F</parameter> causes the name following the tarfile to
+ create to be read as a filename that contains a list of files and directories to
+ be included in an extract or create (and therefore everything else to be excluded).
+ See example below. Filename globbing works in one of two ways.
+ See <parameter>r</parameter> below.
+ </para></listitem>
+
+ <listitem><para><parameter>b</parameter> - Blocksize. Must be followed
+ by a valid (greater than zero) blocksize. Causes tar file to be
+ written out in blocksize*TBLOCK (512 byte) blocks.
+ </para></listitem>
+
+ <listitem><para><parameter>g</parameter> - Incremental. Only back up
+ files that have the archive bit set. Useful only with the
+ <parameter>c</parameter> flag. </para></listitem>
+
+ <listitem><para><parameter>v</parameter> - Verbose. Makes tar
+ print out the files being processed. By default tar is not verbose.
+ This is the same as tarmode verbose.
+ </para></listitem>
+
+ <listitem><para><parameter>r</parameter> - Use wildcard
+ matching to include or exclude. Deprecated.
+ </para></listitem>
+
+ <listitem><para><parameter>N</parameter> - Newer than. Must be followed
+ by the name of a file whose date is compared against files found
+ on the share during a create. Only files newer than the file
+ specified are backed up to the tar file. Useful only with the
+ <parameter>c</parameter> flag. </para></listitem>
+
+ <listitem><para><parameter>a</parameter> - Set archive bit. Causes the
+ archive bit to be reset when a file is backed up. Useful with the
+ <parameter>g</parameter> and <parameter>c</parameter> flags.
+ </para></listitem>
+
+ </itemizedlist>
+
+ <para><emphasis>Tar Long File Names</emphasis></para>
+
+ <para><command>smbclient</command>'s tar option now supports long
+ file names both on backup and restore. However, the full path
+ name of the file must be less than 1024 bytes. Also, when
+ a tar archive is created, <command>smbclient</command>'s tar option places all
+ files in the archive with relative names, not absolute names.
+ </para>
+
+ <para><emphasis>Tar Filenames</emphasis></para>
+
+ <para>All file names can be given as DOS path names (with '\\'
+ as the component separator) or as UNIX path names (with '/' as
+ the component separator). </para>
+
+ <para><emphasis>Examples</emphasis></para>
+
+ <para>Restore from tar file <filename>backup.tar</filename> into myshare on mypc
+ (no password on share). </para>
+
+ <para><command>smbclient //mypc/myshare "" -N -Tx backup.tar
+ </command></para>
+
+ <para>Restore everything except <filename>users/docs</filename>
+ </para>
+
+ <para><command>smbclient //mypc/myshare "" -N -TXx backup.tar
+ users/docs</command></para>
+
+ <para>Create a tar file of the files beneath <filename>
+ users/docs</filename>. </para>
+
+ <para><command>smbclient //mypc/myshare "" -N -Tc
+ backup.tar users/docs </command></para>
+
+ <para>Create the same tar file as above, but now use
+ a DOS path name. </para>
+
+ <para><command>smbclient //mypc/myshare "" -N -Tc backup.tar
+ users\edocs </command></para>
+
+ <para>Create a tar file of the files listed in the file <filename>tarlist</filename>.</para>
+
+ <para><command>smbclient //mypc/myshare "" -N -TcF
+ backup.tar tarlist</command></para>
+
+ <para>Create a tar file of all the files and directories in
+ the share. </para>
+
+ <para><command>smbclient //mypc/myshare "" -N -Tc backup.tar *
+ </command></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-D|--directory initial directory</term>
+ <listitem><para>Change to initial directory before starting. Probably
+ only of any use with the tar -T option. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-c|--command command string</term>
+ <listitem><para>command string is a semicolon-separated list of
+ commands to be executed instead of prompting from stdin. <parameter>
+ -N</parameter> is implied by <parameter>-c</parameter>.</para>
+
+ <para>This is particularly useful in scripts and for printing stdin
+ to the server, e.g. <command>-c 'print -'</command>. </para></listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ &cmdline.common.connection;
+ &cmdline.common.credentials;
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>OPERATIONS</title>
+
+ <para>Once the client is running, the user is presented with
+ a prompt : </para>
+
+ <para><prompt>smb:\&gt; </prompt></para>
+
+ <para>The backslash ("\\") indicates the current working directory
+ on the server, and will change if the current working directory
+ is changed. </para>
+
+ <para>The prompt indicates that the client is ready and waiting to
+ carry out a user command. Each command is a single word, optionally
+ followed by parameters specific to that command. Command and parameters
+ are space-delimited unless these notes specifically
+ state otherwise. All commands are case-insensitive. Parameters to
+ commands may or may not be case sensitive, depending on the command.
+ </para>
+
+ <para>You can specify file names which have spaces in them by quoting
+ the name with double quotes, for example "a long file name". </para>
+
+ <para>Parameters shown in square brackets (e.g., "[parameter]") are
+ optional. If not given, the command will use suitable defaults. Parameters
+ shown in angle brackets (e.g., "&lt;parameter&gt;") are required.
+ </para>
+
+
+ <para>Note that all commands operating on the server are actually
+ performed by issuing a request to the server. Thus the behavior may
+ vary from server to server, depending on how the server was implemented.
+ </para>
+
+ <para>The commands available are given here in alphabetical order. </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>? [command]</term>
+ <listitem><para>If <replaceable>command</replaceable> is specified, the ? command will display
+ a brief informative message about the specified command. If no
+ command is specified, a list of available commands will
+ be displayed. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>! [shell command]</term>
+ <listitem><para>If <replaceable>shell command</replaceable> is specified, the !
+ command will execute a shell locally and run the specified shell
+ command. If no command is specified, a local shell will be run.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>allinfo file</term>
+ <listitem><para>The client will request that the server return
+ all known information about a file or directory (including streams).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>altname file</term>
+ <listitem><para>The client will request that the server return
+ the "alternate" name (the 8.3 name) for a file or directory.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>archive &lt;number&gt;</term>
+ <listitem><para>Sets the archive level when operating on files.
+ 0 means ignore the archive bit, 1 means only operate on files with this bit set,
+ 2 means only operate on files with this bit set and reset it after operation,
+ 3 means operate on all files and reset it after operation. The default is 0.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>backup</term>
+ <listitem><para>Toggle the state of the "backup intent" flag
+ sent to the server on directory listings and file opens. If
+ the "backup intent" flag is true, the server will try and
+ bypass some file system checks if the user has been granted
+ SE_BACKUP or SE_RESTORE privileges. This state is useful when
+ performing a backup or restore operation.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>blocksize &lt;number&gt;</term>
+ <listitem><para>Sets the blocksize parameter for a tar operation. The default is 20.
+ Causes tar file to be written out in blocksize*TBLOCK (normally 512 byte) units.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>cancel jobid0 [jobid1] ... [jobidN]</term>
+ <listitem><para>The client will request that the server cancel
+ the printjobs identified by the given numeric print job ids.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>case_sensitive</term>
+ <listitem><para>Toggles the setting of the flag in SMB packets that
+ tells the server to treat filenames as case sensitive. Set to OFF by
+ default (tells file server to treat filenames as case insensitive). Only
+ currently affects Samba 3.0.5 and above file servers with the case sensitive
+ parameter set to auto in the smb.conf.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>cd &lt;directory name&gt;</term>
+ <listitem><para>If "directory name" is specified, the current
+ working directory on the server will be changed to the directory
+ specified. This operation will fail if for any reason the specified
+ directory is inaccessible. </para>
+
+ <para>If no directory name is specified, the current working
+ directory on the server will be reported. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>chmod file mode in octal</term>
+ <listitem><para>This command depends on the server supporting the CIFS
+ UNIX extensions and will fail if the server does not. The client requests that the server
+ change the UNIX permissions to the given octal mode, in standard UNIX format.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>chown file uid gid</term>
+ <listitem><para>This command depends on the server supporting the CIFS
+ UNIX extensions and will fail if the server does not. The client requests that the server
+ change the UNIX user and group ownership to the given decimal values. Note there is
+ currently no way to remotely look up the UNIX uid and gid values for a given name.
+ This may be addressed in future versions of the CIFS UNIX extensions.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>close &lt;fileid&gt;</term>
+ <listitem><para>Closes a file explicitly opened by the open command. Used for
+ internal Samba testing purposes.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>del &lt;mask&gt;</term>
+ <listitem><para>The client will request that the server attempt
+ to delete all files matching <replaceable>mask</replaceable> from the current working
+ directory on the server. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>deltree &lt;mask&gt;</term>
+ <listitem><para>The client will request that the server attempt
+ to delete all files and directories matching <replaceable>mask</replaceable> from the current working
+ directory on the server. Note this will recursively delete files and directories within
+ the directories selected even without the recurse command being set. If any of the delete
+ requests fail the command will stop processing at that point, leaving files and directories
+ not yet processed untouched. This is by design.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>dir &lt;mask&gt;</term>
+ <listitem><para>A list of the files matching <replaceable>mask</replaceable> in the current
+ working directory on the server will be retrieved from the server
+ and displayed. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>du &lt;filename&gt;</term>
+ <listitem><para>Does a directory listing and then prints out the current disk usage and free space on a share.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>echo &lt;number&gt; &lt;data&gt;</term>
+ <listitem><para>Does an SMBecho request to ping the server. Used for internal Samba testing purposes.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>exit</term>
+ <listitem><para>Terminate the connection with the server and exit
+ from the program. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>get &lt;remote file name&gt; [local file name]</term>
+ <listitem><para>Copy the file called <filename>remote file name</filename> from
+ the server to the machine running the client. If specified, name
+ the local copy <filename>local file name</filename>. Note that all transfers in
+ <command>smbclient</command> are binary. See also the
+ lowercase command. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>getfacl &lt;filename&gt;</term>
+ <listitem><para>Requires the server support the UNIX extensions. Requests and prints
+ the POSIX ACL on a file.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>hardlink &lt;src&gt; &lt;dest&gt;</term>
+ <listitem><para>Creates a hardlink on the server using Windows CIFS semantics.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>help [command]</term>
+ <listitem><para>See the ? command above. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>history</term> <listitem><para>Displays the command history.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>iosize &lt;bytes&gt;</term>
+ <listitem><para>
+ When sending or receiving files, smbclient uses an
+ internal buffer sized by the maximum number of allowed requests
+ to the connected server. This command allows this size to be set to any
+ range between 0 (which means use the default server controlled size) bytes
+ and 16776960 (0xFFFF00) bytes. Using the server controlled size is the
+ most efficient as smbclient will pipeline as many simultaneous reads or
+ writes needed to keep the server as busy as possible. Setting this to
+ any other size will slow down the transfer.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>lcd [directory name]</term>
+ <listitem><para>If <replaceable>directory name</replaceable> is specified, the current
+ working directory on the local machine will be changed to
+ the directory specified. This operation will fail if for any
+ reason the specified directory is inaccessible. </para>
+
+ <para>If no directory name is specified, the name of the
+ current working directory on the local machine will be reported.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>link target linkname</term>
+ <listitem><para>This command depends on the server supporting the CIFS
+ UNIX extensions and will fail if the server does not. The client requests that the server
+ create a hard link between the linkname and target files. The linkname file
+ must not exist.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>listconnect</term>
+ <listitem><para>Show the current connections held for DFS purposes.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>lock &lt;filenum&gt; &lt;r|w&gt; &lt;hex-start&gt; &lt;hex-len&gt;</term>
+ <listitem><para>This command depends on the server supporting the CIFS
+ UNIX extensions and will fail if the server does not. Tries to set a POSIX
+ fcntl lock of the given type on the given range. Used for internal Samba testing purposes.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>logon &lt;username&gt; &lt;password&gt;</term>
+ <listitem><para>Establishes a new vuid for this session by logging on again.
+ Replaces the current vuid. Prints out the new vuid. Used for internal Samba testing purposes.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>logoff</term>
+ <listitem><para>Logs the user off the server, closing the session.
+ Used for internal Samba testing purposes.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>lowercase</term>
+ <listitem><para>Toggle lowercasing of filenames for the get and
+ mget commands.
+ </para>
+
+ <para>When lowercasing is toggled ON, local filenames are converted
+ to lowercase when using the get and mget commands. This is
+ often useful when copying (say) MSDOS files from a server, because
+ lowercase filenames are the norm on UNIX systems. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ls &lt;mask&gt;</term>
+ <listitem><para>See the dir command above. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>mask &lt;mask&gt;</term>
+ <listitem><para>This command allows the user to set up a mask
+ which will be used during recursive operation of the mget and
+ mput commands. </para>
+
+ <para>The masks specified to the mget and mput commands act as
+ filters for directories rather than files when recursion is
+ toggled ON. </para>
+
+ <para>The mask specified with the mask command is necessary
+ to filter files within those directories. For example, if the
+ mask specified in an mget command is "source*" and the mask
+ specified with the mask command is "*.c" and recursion is
+ toggled ON, the mget command will retrieve all files matching
+ "*.c" in all directories below and including all directories
+ matching "source*" in the current working directory. </para>
+
+ <para>Note that the value for mask defaults to blank (equivalent
+ to "*") and remains so until the mask command is used to change it.
+ It retains the most recently specified value indefinitely. To
+ avoid unexpected results it would be wise to change the value of
+ mask back to "*" after using the mget or mput commands. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>md &lt;directory name&gt;</term>
+ <listitem><para>See the mkdir command. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>mget &lt;mask&gt;</term>
+ <listitem><para>Copy all files matching <replaceable>mask</replaceable> from the server to
+ the machine running the client. </para>
+
+ <para>Note that <replaceable>mask</replaceable> is interpreted differently during recursive
+ operation and non-recursive operation - refer to the recurse and
+ mask commands for more information. Note that all transfers in
+ <command>smbclient</command> are binary. See also the lowercase command. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>mkdir &lt;directory name&gt;</term>
+ <listitem><para>Create a new directory on the server (user access
+ privileges permitting) with the specified name. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>more &lt;file name&gt;</term>
+ <listitem><para>Fetch a remote file and view it with the contents
+ of your PAGER environment variable.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>mput &lt;mask&gt;</term>
+ <listitem><para>Copy all files matching <replaceable>mask</replaceable> in the current working
+ directory on the local machine to the current working directory on
+ the server. </para>
+
+ <para>Note that <replaceable>mask</replaceable> is interpreted differently during recursive
+ operation and non-recursive operation - refer to the recurse and mask
+ commands for more information. Note that all transfers in <command>smbclient</command>
+ are binary. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>notify &lt;dir name&gt;</term>
+ <listitem><para>Query a directory for change
+ notifications. This command issues a recursive
+ filechangenotify call for all possible changes. As
+ changes come in will print one line per change. See
+ <ulink url="https://msdn.microsoft.com/en-us/library/dn392331.aspx">https://msdn.microsoft.com/en-us/library/dn392331.aspx</ulink>
+ for a description of the action numbers that this
+ command prints.</para>
+ <para>This command never ends, it waits for event
+ indefinitely.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>posix</term>
+ <listitem><para>Query the remote server to see if it supports the CIFS UNIX
+ extensions and prints out the list of capabilities supported. If so, turn
+ on POSIX pathname processing and large file read/writes (if available),.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>posix_encrypt &lt;domain&gt; &lt;username&gt; &lt;password&gt;</term>
+ <listitem><para>This command depends on the server supporting the CIFS
+ UNIX extensions and will fail if the server does not. Attempt to negotiate
+ SMB encryption on this connection. If smbclient connected with kerberos
+ credentials (-k) the arguments to this command are ignored and the kerberos
+ credentials are used to negotiate GSSAPI signing and sealing instead. See
+ also the -e option to smbclient to force encryption on initial connection.
+ This command is new with Samba 3.2.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>posix_open &lt;filename&gt; &lt;octal mode&gt;</term>
+ <listitem><para>This command depends on the server supporting the CIFS
+ UNIX extensions and will fail if the server does not. Opens a remote file
+ using the CIFS UNIX extensions and prints a fileid. Used for internal Samba
+ testing purposes.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>posix_mkdir &lt;directoryname&gt; &lt;octal mode&gt;</term>
+ <listitem><para>This command depends on the server supporting the CIFS
+ UNIX extensions and will fail if the server does not. Creates a remote directory
+ using the CIFS UNIX extensions with the given mode.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>posix_rmdir &lt;directoryname&gt;</term>
+ <listitem><para>This command depends on the server supporting the CIFS
+ UNIX extensions and will fail if the server does not. Deletes a remote directory
+ using the CIFS UNIX extensions.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>posix_unlink &lt;filename&gt;</term>
+ <listitem><para>This command depends on the server supporting the CIFS
+ UNIX extensions and will fail if the server does not. Deletes a remote file
+ using the CIFS UNIX extensions.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>posix_whoami</term>
+ <listitem><para>Query the remote server for the user token using the CIFS UNIX
+ extensions WHOAMI call. Prints out the guest status, user, group, group list and
+ sid list that the remote server is using on behalf of the logged on user.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>print &lt;file name&gt;</term>
+ <listitem><para>Print the specified file from the local machine
+ through a printable service on the server. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>prompt</term>
+ <listitem><para>Toggle prompting for filenames during operation
+ of the mget and mput commands. </para>
+
+ <para>When toggled ON, the user will be prompted to confirm
+ the transfer of each file during these commands. When toggled
+ OFF, all specified files will be transferred without prompting.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>put &lt;local file name&gt; [remote file name]</term>
+ <listitem><para>Copy the file called <filename>local file name</filename> from the
+ machine running the client to the server. If specified,
+ name the remote copy <filename>remote file name</filename>. Note that all transfers
+ in <command>smbclient</command> are binary. See also the lowercase command.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>queue</term>
+ <listitem><para>Displays the print queue, showing the job id,
+ name, size and current status. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>quit</term>
+ <listitem><para>See the exit command. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>readlink symlinkname</term>
+ <listitem><para>This command depends on the server supporting the CIFS
+ UNIX extensions and will fail if the server does not. Print
+ the value of the symlink "symlinkname".
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>rd &lt;directory name&gt;</term>
+ <listitem><para>See the rmdir command. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>recurse</term>
+ <listitem><para>Toggle directory recursion for the commands mget
+ and mput. </para>
+
+ <para>When toggled ON, these commands will process all directories
+ in the source directory (i.e., the directory they are copying
+ from ) and will recurse into any that match the mask specified
+ to the command. Only files that match the mask specified using
+ the mask command will be retrieved. See also the mask command.
+ </para>
+
+ <para>When recursion is toggled OFF, only files from the current
+ working directory on the source machine that match the mask specified
+ to the mget or mput commands will be copied, and any mask specified
+ using the mask command will be ignored. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>rename &lt;old filename&gt; &lt;new filename&gt; [-f]</term>
+ <listitem><para>Rename files in the current working directory on the
+ server from <replaceable>old filename</replaceable> to
+ <replaceable>new filename</replaceable>. The optional
+ -f switch allows for superseding the destination file,
+ if it exists. This is supported by NT1 protocol dialect
+ and SMB2 protocol family.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>rm &lt;mask&gt;</term>
+ <listitem><para>Remove all files matching <replaceable>mask</replaceable> from the current
+ working directory on the server. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>rmdir &lt;directory name&gt;</term>
+ <listitem><para>Remove the specified directory (user access
+ privileges permitting) from the server. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>scopy &lt;source filename&gt; &lt;destination filename&gt;</term>
+ <listitem><para>Attempt to copy a file on the server using the
+ most efficient server-side copy calls. Falls back to using
+ read then write if server doesn't support server-side copy.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>setmode &lt;filename&gt; &lt;perm=[+|\-]rsha&gt;</term>
+ <listitem><para>A version of the DOS attrib command to set
+ file permissions. For example: </para>
+
+ <para><command>setmode myfile +r </command></para>
+
+ <para>would make myfile read only. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>showconnect</term>
+ <listitem><para>Show the currently active connection held for DFS purposes.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>stat file</term>
+ <listitem><para>This command depends on the server supporting the CIFS
+ UNIX extensions and will fail if the server does not. The client requests the
+ UNIX basic info level and prints out the same info that the Linux stat command
+ would about the file. This includes the size, blocks used on disk, file type,
+ permissions, inode number, number of links and finally the three timestamps
+ (access, modify and change). If the file is a special file (symlink, character or
+ block device, fifo or socket) then extra information may also be printed.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>symlink target linkname</term>
+ <listitem><para>This command depends on the server supporting the CIFS
+ UNIX extensions and will fail if the server does not. The client requests that the server
+ create a symbolic hard link between the target and linkname files. The linkname file
+ must not exist. Note that the server will not create a link to any path that lies
+ outside the currently connected share. This is enforced by the Samba server.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>tar &lt;c|x&gt;[IXbgNa]</term>
+ <listitem><para>Performs a tar operation - see the
+ <parameter>-T</parameter> command line option above. Behavior
+ may be affected by the tarmode command (see below). Using g
+ (incremental) and N (newer) will affect tarmode settings. Note
+ that using the "-" option with tar x may not work - use the
+ command line option instead.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>blocksize &lt;blocksize&gt;</term>
+ <listitem><para>Blocksize. Must be followed by a valid (greater
+ than zero) blocksize. Causes tar file to be written out in
+ <replaceable>blocksize</replaceable>*TBLOCK (512 byte) blocks. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>tarmode &lt;full|inc|reset|noreset|system|nosystem|hidden|nohidden|verbose|noverbose&gt;</term>
+ <listitem><para>Changes tar's behavior with regard to DOS
+ attributes. There are 4 modes which can be turned on or
+ off.</para>
+
+ <para>Incremental mode (default off). When off (using
+ <command>full</command>) tar will back up everything
+ regardless of the <emphasis>archive</emphasis> bit
+ setting. When on (using <command>inc</command>), tar will only
+ back up files with the archive bit set.</para>
+
+ <para>Reset mode (default off). When on (using
+ <command>reset</command>), tar will remove the archive bit on
+ all files it backs up (implies read/write share). Use
+ <command>noreset</command> to turn off.</para>
+
+ <para>System mode (default on). When off, tar will not backup
+ system files. Use <command>nosystem</command> to turn off.</para>
+
+ <para>Hidden mode (default on). When off, tar will not backup
+ hidden files. Use <command>nohidden</command> to turn off.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>timeout &lt;per-operation timeout in seconds&gt;</term>
+ <listitem><para>This allows the user to tune the default
+ timeout used for each SMB request. The default setting is
+ 20 seconds. Increase it if requests to the server sometimes
+ time out. This can happen when SMB3 encryption is selected
+ and smbclient is overwhelming the server with requests.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>unlock &lt;filenum&gt; &lt;hex-start&gt; &lt;hex-len&gt;</term>
+ <listitem><para>This command depends on the server supporting the CIFS
+ UNIX extensions and will fail if the server does not. Tries to unlock a POSIX
+ fcntl lock on the given range. Used for internal Samba testing purposes.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>volume</term>
+ <listitem><para>Prints the current volume name of the share.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>vuid &lt;number&gt;</term>
+ <listitem><para>Changes the currently used vuid in the protocol to
+ the given arbitrary number. Without an argument prints out the current
+ vuid being used. Used for internal Samba testing purposes.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>tcon &lt;sharename&gt;</term>
+ <listitem><para>Establishes a new tree connect (connection to a share).
+ Replaces the current tree connect. Prints the new tid (tree id).
+ Used for internal Samba testing purposes.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>tdis</term>
+ <listitem><para>Close the current share connection (tree disconnect).
+ Used for internal Samba testing purposes.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>tid &lt;number&gt;</term>
+ <listitem><para>Changes the current tree id (tid) in the
+ protocol to a new arbitrary number. Without an argument, it
+ prints out the tid currently used.
+ Used for internal Samba testing purposes.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>utimes &lt;filename&gt; &lt;create time&gt; &lt;access time&gt; &lt;write time&gt; &lt;
+ change time&gt;</term>
+ <listitem><para>Changes the timestamps on a file by name.
+ Times should be specified in the format [YY]YY:MM:DD-HH:MM:SS or -1 for no change.
+ </para></listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>NOTES</title>
+
+ <para>Some servers are fussy about the case of supplied usernames,
+ passwords, share names (AKA service names) and machine names.
+ If you fail to connect try giving all parameters in uppercase.
+ </para>
+
+ <para>It is often necessary to use the -n option when connecting
+ to some types of servers. For example OS/2 LanManager insists
+ on a valid NetBIOS name being used, so you need to supply a valid
+ name that would be known to the server.</para>
+
+ <para>smbclient supports long file names where the server
+ supports the LANMAN2 protocol or above. </para>
+</refsect1>
+
+<refsect1>
+ <title>ENVIRONMENT VARIABLES</title>
+
+ <para>See the <command>--user</command> and
+ <command>--password</command> options for details on ways to
+ specify a username and password via an environment variable.
+ </para>
+</refsect1>
+
+
+<refsect1>
+ <title>INSTALLATION</title>
+
+ <para>The location of the client program is a matter for
+ individual system administrators. The following are thus
+ suggestions only. </para>
+
+ <para>It is recommended that the smbclient software be installed
+ in the <filename>/usr/local/samba/bin/</filename> or <filename>
+ /usr/samba/bin/</filename> directory, this directory readable
+ by all, writeable only by root. The client program itself should
+ be executable by all. The client should <emphasis>NOT</emphasis> be
+ setuid or setgid! </para>
+
+ <para>The client log files should be put in a directory readable
+ and writeable only by the user. </para>
+
+ <para>To test the client, you will need to know the name of a
+ running SMB/CIFS server. It is possible to run <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> as an ordinary user - running that server as a daemon
+ on a user-accessible port (typically any port number over 1024)
+ would provide a suitable test server. </para>
+</refsect1>
+
+
+<refsect1>
+ <title>DIAGNOSTICS</title>
+
+ <para>Most diagnostics issued by the client are logged in a
+ specified log file. The log file name is specified at compile time,
+ but may be overridden on the command line. </para>
+
+ <para>The number and nature of diagnostics available depends
+ on the debug level used by the client. If you have problems,
+ set the debug level to 3 and peruse the log files. </para>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbcontrol.1.xml b/docs-xml/manpages/smbcontrol.1.xml
new file mode 100644
index 0000000..33152de
--- /dev/null
+++ b/docs-xml/manpages/smbcontrol.1.xml
@@ -0,0 +1,372 @@
+<?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="smbcontrol.1">
+
+<refmeta>
+ <refentrytitle>smbcontrol</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>smbcontrol</refname>
+ <refpurpose>send messages to smbd, nmbd or winbindd processes</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>smbcontrol</command>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</arg>
+ <arg choice="opt">-t|--timeout</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>
+ </cmdsynopsis>
+
+ <cmdsynopsis>
+ <command>smbcontrol</command>
+ <arg>destination</arg>
+ <arg>message-type</arg>
+ <arg>parameter</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><command>smbcontrol</command> is a very small program, which
+ sends messages to a <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, a <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, or a <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon running on the system.</para>
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-t|--timeout</term>
+ <listitem><para>
+ Set timeout to seconds.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>destination</term>
+ <listitem><para>One of <parameter>nmbd</parameter>,
+ <parameter>smbd</parameter>, <parameter>winbindd</parameter>
+ or a process ID.</para>
+
+ <para>The <parameter>all</parameter> destination causes the
+ message to "broadcast" to all running daemons including nmbd and
+ winbind. This is a change for Samba 3.3, prior to this the
+ parameter smbd used to do this.</para>
+
+ <para>The <parameter>smbd</parameter> destination causes the
+ message to be sent to the smbd daemon specified in the
+ <filename>smbd.pid</filename> file.</para>
+
+ <para>The <parameter>nmbd</parameter> destination causes the
+ message to be sent to the nmbd daemon specified in the
+ <filename>nmbd.pid</filename> file.</para>
+
+ <para>The <parameter>winbindd</parameter> destination causes the
+ message to be sent to the winbind daemon specified in the
+ <filename>winbindd.pid</filename> file.</para>
+
+ <para>If a single process ID is given, the message is sent
+ to only that process.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>message-type</term>
+ <listitem><para>Type of message to send. See
+ the section <constant>MESSAGE-TYPES</constant> for details.
+ </para></listitem></varlistentry>
+
+ <varlistentry>
+ <term>parameters</term>
+ <listitem><para>any parameters required for the message-type</para>
+ </listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ </variablelist>
+
+</refsect1>
+
+<refsect1>
+ <title>MESSAGE-TYPES</title>
+
+ <para>Available message types are:</para>
+
+ <variablelist>
+ <varlistentry><term>close-share</term>
+ <listitem><para>Order smbd to close the client
+ connections to the named share. Note that this doesn't affect client
+ connections to any other shares. This message-type takes an argument of the
+ share name for which client connections will be closed, or the
+ "*" character which will close all currently open shares.
+ This may be useful if you made changes to the access controls on the share.
+ This message can only be sent to <constant>smbd</constant>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term>close-denied-share</term>
+ <listitem><para>Behave like <constant>close-share</constant>,
+ but don't disconnect users that are still allowed to access
+ the share. It can safely be sent to all smbds after changing
+ share access controls. It will only affect users who have been
+ denied access since having connected initially. This message
+ can only be sent to <constant>smbd</constant>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>debug</term>
+ <listitem><para>Set debug level to the value specified by the
+ parameter. This can be sent to any of the destinations. If this
+ message is sent to either the smbd or winbindd daemons, the parent
+ process will rebroadcast the message to all child processes changing
+ the debug level in each one.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>kill-client-ip</term>
+ <listitem><para>Order smbd to close the client connections from a
+ given IP address. This message-type takes an argument of the IP
+ address from which client connections will be closed. This message
+ can only be sent to <constant>smbd</constant>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>force-election</term>
+ <listitem><para>This message causes the <command>nmbd</command> daemon to
+ force a new browse master election. </para>
+ </listitem></varlistentry>
+
+ <varlistentry>
+ <term>ping</term>
+ <listitem><para>
+ Send specified number of "ping" messages and
+ wait for the same number of reply "pong" messages. This can be sent to
+ any of the destinations.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>profile</term>
+ <listitem><para>Change profile settings of a daemon, based on the
+ parameter. The parameter can be "on" to turn on profile stats
+ collection, "off" to turn off profile stats collection, "count"
+ to enable only collection of count stats (time stats are
+ disabled), and "flush" to zero the current profile stats. This can
+ be sent to any smbd or nmbd destinations.</para>
+ </listitem></varlistentry>
+
+ <varlistentry>
+ <term>debuglevel</term>
+ <listitem><para>
+ Request debuglevel of a certain daemon and write it to stdout. This
+ can be sent to any of the destinations.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>profilelevel</term>
+ <listitem><para>
+ Request profilelevel of a certain daemon and write it to stdout.
+ This can be sent to any smbd or nmbd destinations.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>printnotify</term>
+ <listitem><para>
+ Order smbd to send a printer notify message to any Windows NT clients
+ connected to a printer. This message-type takes the following arguments:
+ </para>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>queuepause printername</term>
+ <listitem><para>Send a queue pause change notify
+ message to the printer specified.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>queueresume printername</term>
+ <listitem><para>Send a queue resume change notify
+ message for the printer specified.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>jobpause printername unixjobid</term>
+ <listitem><para>Send a job pause change notify
+ message for the printer and unix jobid
+ specified.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>jobresume printername unixjobid</term>
+ <listitem><para>Send a job resume change notify
+ message for the printer and unix jobid
+ specified.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>jobdelete printername unixjobid</term>
+ <listitem><para>Send a job delete change notify
+ message for the printer and unix jobid
+ specified.</para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>
+ Note that this message only sends notification that an
+ event has occurred. It doesn't actually cause the
+ event to happen.
+ </para>
+
+ <para>This message can only be sent to <constant>smbd</constant>. </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>dmalloc-mark</term>
+ <listitem><para>Set a mark for dmalloc. Can be sent to both smbd and nmbd. Only available if samba is built with dmalloc support. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>dmalloc-log-changed</term>
+ <listitem><para>
+ Dump the pointers that have changed since the mark set by dmalloc-mark.
+ Can be sent to both smbd and nmbd. Only available if samba is built with dmalloc support. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shutdown</term>
+ <listitem><para>Shut down specified daemon. Can be sent to both smbd and nmbd.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>pool-usage</term>
+ <listitem><para>Print a human-readable description of all
+ talloc(pool) memory usage by the specified daemon/process. Available
+ for both smbd and nmbd.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ringbuf-log</term>
+ <listitem><para>Fetch and print the ringbuf log. Requires
+ <parameter>logging = ringbuf</parameter>. Available for smbd, winbindd
+ and nmbd.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>drvupgrade</term>
+ <listitem><para>Force clients of printers using specified driver
+ to update their local version of the driver. Can only be
+ sent to smbd.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>reload-config</term>
+ <listitem><para>Force daemon to reload smb.conf configuration file. Can be sent
+ to <constant>smbd</constant>, <constant>nmbd</constant>, or <constant>winbindd</constant>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>reload-printers</term>
+ <listitem><para>Force smbd to reload printers. Can only be sent to
+ <constant>smbd</constant>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>idmap</term>
+ <listitem><para>Notify about changes of id mapping. Can be sent
+ to <constant>smbd</constant> or (not implemented yet) <constant>winbindd</constant>.
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>flush [uid|gid]</term>
+ <listitem><para>Flush caches for sid &lt;-&gt; gid and/or sid &lt;-&gt; uid mapping.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>delete &lt;ID&gt;</term>
+ <listitem><para>Remove a mapping from cache. 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".
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>kill &lt;ID&gt;</term>
+ <listitem><para>Remove a mapping from cache. Terminate <constant>smbd</constant> if
+ the id is currently in use.</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>num-children</term>
+ <listitem><para>Query the number of smbd child processes. This
+ message can only be sent
+ to <constant>smbd</constant>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>reload-certs</term>
+ <listitem><para>Instruct the LDAP server of a Samba AD DC to
+ reload the TLS certificates protecting ldaps:// connections. This
+ message can only be sent
+ to <constant>ldap_server</constant>.</para></listitem>
+ </varlistentry>
+
+</variablelist>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of
+ the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> and <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>.</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbcquotas.1.xml b/docs-xml/manpages/smbcquotas.1.xml
new file mode 100644
index 0000000..b5ce53c
--- /dev/null
+++ b/docs-xml/manpages/smbcquotas.1.xml
@@ -0,0 +1,199 @@
+<?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="smbcquotas.1">
+
+<refmeta>
+ <refentrytitle>smbcquotas</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>smbcquotas</refname>
+ <refpurpose>Set or get QUOTAs of NTFS 5 shares</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>smbcquotas</command>
+ <arg choice="req">//server/share</arg>
+ <arg choice="opt">-u|--quota-user=USER</arg>
+ <arg choice="opt">-L|--list</arg>
+ <arg choice="opt">-F|--fs</arg>
+ <arg choice="opt">-S|--set=SETSTRING</arg>
+ <arg choice="opt">-n|--numeric</arg>
+ <arg choice="opt">-v|--verbose</arg>
+ <arg choice="opt">-t|--test-args</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</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>
+ </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 <command>smbcquotas</command> program manipulates NT Quotas on SMB file shares. </para>
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <para>The following options are available to the <command>smbcquotas</command> program. </para>
+
+
+ <variablelist>
+ <varlistentry>
+ <term>-u|--quota-user user</term>
+ <listitem><para> Specifies the user of whom the quotas are get or set.
+ By default the current user's username will be used.</para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-L|--list</term>
+ <listitem><para>Lists all quota records of the share.</para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-F|--fs</term>
+ <listitem><para>Show the share quota status and default limits.</para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-S|--set QUOTA_SET_COMMAND</term>
+ <listitem><para>This command sets/modifies quotas for a user or on the share,
+ depending on the QUOTA_SET_COMMAND parameter which is described later.</para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-n|--numeric</term>
+ <listitem><para>This option displays all QUOTA information in numeric
+ format. The default is to convert SIDs to names and QUOTA limits
+ to a readable string format.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-t|--test-args</term>
+ <listitem><para>
+ Don't actually do anything, only validate the correctness of the arguments.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-v|--verbose</term>
+ <listitem><para>
+ Be verbose.
+ </para></listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ &cmdline.common.connection;
+ &cmdline.common.credentials;
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>QUOTA_SET_COMMAND</title>
+
+ <para>The format of an the QUOTA_SET_COMMAND is an operation
+ name followed by a set of parameters specific to that operation.
+ </para>
+
+ <para>To set user quotas for the user specified by -u or for the
+ current username: </para>
+
+ <para><userinput>
+ UQLIM:&lt;username&gt;:&lt;softlimit&gt;/&lt;hardlimit&gt;
+ </userinput></para>
+
+ <para>To set the default quotas for a share:
+ </para>
+
+ <para><userinput>
+ FSQLIM:&lt;softlimit&gt;/&lt;hardlimit&gt;
+ </userinput></para>
+
+ <para>
+ To change the share quota settings:
+ </para>
+
+ <para><userinput>
+ FSQFLAGS:QUOTA_ENABLED/DENY_DISK/LOG_SOFTLIMIT/LOG_HARD_LIMIT
+ </userinput></para>
+
+ <para>All limits are specified as a number of bytes.</para>
+</refsect1>
+
+<refsect1>
+ <title>EXIT STATUS</title>
+
+ <para>The <command>smbcquotas</command> program sets the exit status
+ depending on the success or otherwise of the operations performed.
+ The exit status may be one of the following values. </para>
+
+ <para>If the operation succeeded, smbcquotas returns an exit
+ status of 0. If <command>smbcquotas</command> couldn't connect to the specified server,
+ or when there was an error getting or setting the quota(s), an exit status
+ of 1 is returned. If there was an error parsing any command line
+ arguments, an exit status of 2 is returned. </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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><command>smbcquotas</command> was written by Stefan Metzmacher.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbd.8.xml b/docs-xml/manpages/smbd.8.xml
new file mode 100644
index 0000000..ac4164f
--- /dev/null
+++ b/docs-xml/manpages/smbd.8.xml
@@ -0,0 +1,448 @@
+<?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="smbd.8">
+
+<refmeta>
+ <refentrytitle>smbd</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>smbd</refname>
+ <refpurpose>server to provide SMB/CIFS services to clients</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>smbd</command>
+ <arg choice="opt">-D|--daemon</arg>
+ <arg choice="opt">-i|--interactive</arg>
+ <arg choice="opt">-F|--foreground</arg>
+ <arg choice="opt">--no-process-group</arg>
+ <arg choice="opt">-b|--build-options</arg>
+ <arg choice="opt">-p &lt;port number(s)&gt;</arg>
+ <arg choice="opt">-P &lt;profiling level&gt;</arg>
+ <arg choice="opt">-d &lt;debug level&gt;</arg>
+ <arg choice="opt">--debug-stdout</arg>
+ <arg choice="opt">--configfile=&lt;configuration file&gt;</arg>
+ <arg choice="opt">--option=&lt;name&gt;=&lt;value&gt;</arg>
+ <arg choice="opt">-l|--log-basename &lt;log directory&gt;</arg>
+ <arg choice="opt">--leak-report</arg>
+ <arg choice="opt">--leak-report-full</arg>
+ <arg choice="opt">-V|--version</arg>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+ <para>This program is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para><command>smbd</command> is the server daemon that
+ provides filesharing and printing services to Windows clients.
+ The server provides filespace and printer services to
+ clients using the SMB (or CIFS) protocol. This is compatible
+ with the LanManager protocol, and can service LanManager
+ clients. These include MSCLIENT 3.0 for DOS, Windows for
+ Workgroups, Windows 95/98/ME, Windows NT, Windows 2000,
+ OS/2, DAVE for Macintosh, and smbfs for Linux.</para>
+
+ <para>An extensive description of the services that the
+ server can provide is given in the man page for the
+ configuration file controlling the attributes of those
+ services (see <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>. This man page will not describe the
+ services, but will concentrate on the administrative aspects
+ of running the server.</para>
+
+ <para>Please note that there are significant security
+ implications to running this server, and the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> manual page should be regarded as mandatory reading before
+ proceeding with installation.</para>
+
+ <para>A session is created whenever a client requests one.
+ Each client gets a copy of the server for each session. This
+ copy then services all connections made by the client during
+ that session. When all connections from its client are closed,
+ the copy of the server for that client terminates.</para>
+
+ <para>The configuration file, and any files that it includes,
+ are automatically reloaded every three minutes, if they change.
+ One can force a reload by sending a SIGHUP to the server. Reloading
+ the configuration file will not affect connections to any service
+ that is already established. Either the user will have to
+ disconnect from the service, or <command>smbd</command> killed and restarted.
+ </para>
+
+ <para>Instead of sending a SIGHUP signal, a request to reload configuration
+ file may be sent using <citerefentry><refentrytitle>smbcontrol</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> program.
+ </para>
+
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-D|--daemon</term>
+ <listitem><para>If specified, this parameter causes
+ the server to operate as a daemon. That is, it detaches
+ itself and runs in the background, fielding requests
+ on the appropriate port. Operating the server as a
+ daemon is the recommended way of running <command>smbd</command> for
+ servers that provide more than casual use file and
+ print services. This switch is assumed if <command>smbd
+ </command> is executed on the command line of a shell.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-i|--interactive</term>
+ <listitem><para>If this parameter is specified it causes the
+ server to run "interactively", not as a daemon, even if the
+ server is executed on the command line of a shell. Setting this
+ parameter negates the implicit daemon mode when run from the
+ command line. <command>smbd</command> will only accept one
+ connection and terminate. It will also log to standard output,
+ as if the <command>-S</command> parameter had been given.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-F|--foreground</term>
+ <listitem><para>If specified, this parameter causes
+ the main <command>smbd</command> process to not daemonize,
+ i.e. double-fork and disassociate with the terminal.
+ Child processes are still created as normal to service
+ each connection request, but the main process does not
+ exit. This operation mode is suitable for running
+ <command>smbd</command> under process supervisors such
+ as <command>supervise</command> and <command>svscan</command>
+ from Daniel J. Bernstein's <command>daemontools</command>
+ package, or the AIX process monitor.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--no-process-group</term>
+ <listitem><para>Do not create a new process group for smbd.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-b|--build-options</term>
+ <listitem><para>Prints information about how
+ Samba was built.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-p|--port&lt;port number(s)&gt;</term>
+ <listitem><para><replaceable>port number(s)</replaceable> is a
+ space or comma-separated list of TCP ports smbd should listen on.
+ The default value is taken from the <smbconfoption name="ports"/> parameter in &smb.conf;</para>
+
+ <para>The default ports are 139 (used for SMB over NetBIOS over TCP)
+ and port 445 (used for plain SMB over TCP).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-P|--profiling-level&lt;profiling level&gt;</term>
+ <listitem><para><replaceable>profiling level</replaceable> is a
+ number specifying the level of profiling data to be collected.
+ 0 turns off profiling, 1 turns on counter profiling only,
+ 2 turns on complete profiling, and 3 resets all profiling data.
+ </para></listitem>
+ </varlistentry>
+
+ &cmdline.common.samba.server;
+ &popt.autohelp;
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>FILES</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><filename>/etc/inetd.conf</filename></term>
+ <listitem><para>If the server is to be run by the
+ <command>inetd</command> meta-daemon, this file
+ must contain suitable startup information for the
+ meta-daemon.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>/etc/rc</filename></term>
+ <listitem><para>or whatever initialization script your
+ system uses).</para>
+
+ <para>If running the server as a daemon at startup,
+ this file will need to contain an appropriate startup
+ sequence for the server. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>/etc/services</filename></term>
+ <listitem><para>If running the server via the
+ meta-daemon <command>inetd</command>, this file
+ must contain a mapping of service name (e.g., netbios-ssn)
+ to service port (e.g., 139) and protocol type (e.g., tcp).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>/usr/local/samba/lib/smb.conf</filename></term>
+ <listitem><para>This is the default location of the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> server configuration file. Other common places that systems
+ install this file are <filename>/usr/samba/lib/smb.conf</filename>
+ and <filename>/etc/samba/smb.conf</filename>.</para>
+
+ <para>This file describes all the services the server
+ is to make available to clients. See <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> for more information.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>LIMITATIONS</title>
+ <para>On some systems <command>smbd</command> cannot change uid back
+ to root after a setuid() call. Such systems are called
+ trapdoor uid systems. If you have such a system,
+ you will be unable to connect from a client (such as a PC) as
+ two different users at once. Attempts to connect the
+ second user will result in access denied or
+ similar.</para>
+</refsect1>
+
+<refsect1>
+ <title>ENVIRONMENT VARIABLES</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><envar>PRINTER</envar></term>
+ <listitem><para>If no printer name is specified to
+ printable services, most systems will use the value of
+ this variable (or <constant>lp</constant> if this variable is
+ not defined) as the name of the printer to use. This
+ is not specific to the server, however.</para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>PAM INTERACTION</title>
+ <para>Samba uses PAM for authentication (when presented with a plaintext
+ password), for account checking (is this account disabled?) and for
+ session management. The degree too which samba supports PAM is restricted
+ by the limitations of the SMB protocol and the <smbconfoption name="obey pam restrictions"/> <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> parameter. When this is set, the following restrictions apply:
+ </para>
+
+ <itemizedlist>
+ <listitem><para><emphasis>Account Validation</emphasis>: All accesses to a
+ samba server are checked
+ against PAM to see if the account is valid, not disabled and is permitted to
+ login at this time. This also applies to encrypted logins.
+ </para></listitem>
+
+ <listitem><para><emphasis>Session Management</emphasis>: When not using share
+ level security, users must pass PAM's session checks before access
+ is granted. Note however, that this is bypassed in share level security.
+ Note also that some older pam configuration files may need a line
+ added for session support.
+ </para></listitem>
+ </itemizedlist>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of
+ the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>DIAGNOSTICS</title>
+
+ <para>Most diagnostics issued by the server are logged
+ in a specified log file. The log file name is specified
+ at compile time, but may be overridden on the command line.</para>
+
+ <para>The number and nature of diagnostics available depends
+ on the debug level used by the server. If you have problems, set
+ the debug level to 3 and peruse the log files.</para>
+
+ <para>Most messages are reasonably self-explanatory. Unfortunately,
+ at the time this man page was created, there are too many diagnostics
+ available in the source code to warrant describing each and every
+ diagnostic. At this stage your best bet is still to grep the
+ source code and inspect the conditions that gave rise to the
+ diagnostics you are seeing.</para>
+</refsect1>
+
+<refsect1>
+ <title>TDB FILES</title>
+
+ <para>Samba stores it's data in several TDB (Trivial Database) files, usually located in <filename>/var/lib/samba</filename>.</para>
+
+ <para>
+ (*) information persistent across restarts (but not
+ necessarily important to backup).
+ </para>
+
+<variablelist>
+<varlistentry><term>account_policy.tdb*</term>
+<listitem>
+<para>NT account policy settings such as pw expiration, etc...</para>
+</listitem>
+</varlistentry>
+
+<varlistentry><term>brlock.tdb</term>
+<listitem><para>byte range locks</para></listitem>
+</varlistentry>
+
+<varlistentry><term>browse.dat</term>
+<listitem><para>browse lists</para></listitem>
+</varlistentry>
+
+<varlistentry><term>gencache.tdb</term>
+<listitem><para>generic caching db</para></listitem>
+</varlistentry>
+
+<varlistentry><term>group_mapping.tdb*</term>
+<listitem><para>group mapping information</para></listitem>
+</varlistentry>
+
+<varlistentry><term>locking.tdb</term>
+<listitem><para>share modes &amp; oplocks</para></listitem>
+</varlistentry>
+
+<varlistentry><term>login_cache.tdb*</term>
+<listitem><para>bad pw attempts</para></listitem>
+</varlistentry>
+
+<varlistentry><term>messages.tdb</term>
+<listitem><para>Samba messaging system</para></listitem>
+</varlistentry>
+
+<varlistentry><term>netsamlogon_cache.tdb*</term>
+<listitem><para>cache of user net_info_3 struct from net_samlogon() request (as a domain member)</para></listitem>
+</varlistentry>
+
+<varlistentry><term>ntdrivers.tdb*</term>
+<listitem><para>installed printer drivers</para></listitem>
+</varlistentry>
+
+<varlistentry><term>ntforms.tdb*</term>
+<listitem><para>installed printer forms</para></listitem>
+</varlistentry>
+
+<varlistentry><term>ntprinters.tdb*</term>
+<listitem><para>installed printer information</para></listitem>
+</varlistentry>
+
+<varlistentry><term>printing/</term>
+<listitem><para>directory containing tdb per print queue of cached lpq output</para></listitem>
+</varlistentry>
+
+<varlistentry><term>registry.tdb</term>
+<listitem><para>Windows registry skeleton (connect via regedit.exe)</para></listitem>
+</varlistentry>
+
+<varlistentry><term>smbXsrv_session_global.tdb</term>
+<listitem><para>session information (e.g. support for 'utmp = yes')</para></listitem>
+</varlistentry>
+
+<varlistentry><term>smbXsrv_tcon_global.tdb</term>
+<listitem><para>share connections (used to enforce max connections, etc...)</para></listitem>
+</varlistentry>
+
+<varlistentry><term>smbXsrv_open_global.tdb</term>
+<listitem><para>open file handles (used durable handles, etc...)</para></listitem>
+</varlistentry>
+
+<varlistentry><term>share_info.tdb*</term>
+<listitem><para>share acls</para></listitem>
+</varlistentry>
+
+<varlistentry><term>winbindd_cache.tdb</term>
+<listitem><para>winbindd's cache of user lists, etc...</para></listitem>
+</varlistentry>
+
+<varlistentry><term>winbindd_idmap.tdb*</term>
+<listitem><para>winbindd's local idmap db</para></listitem>
+</varlistentry>
+
+<varlistentry><term>wins.dat*</term>
+<listitem><para>wins database when 'wins support = yes'</para></listitem>
+</varlistentry>
+
+</variablelist>
+
+</refsect1>
+
+<refsect1>
+ <title>SIGNALS</title>
+
+ <para>Sending the <command>smbd</command> a SIGHUP will cause it to
+ reload its <filename>smb.conf</filename> configuration
+ file within a short period of time.</para>
+
+ <para>To shut down a user's <command>smbd</command> process it is recommended
+ that <command>SIGKILL (-9)</command> <emphasis>NOT</emphasis>
+ be used, except as a last resort, as this may leave the shared
+ memory area in an inconsistent state. The safe way to terminate
+ an <command>smbd</command> is to send it a SIGTERM (-15) signal and wait for
+ it to die on its own.</para>
+
+ <para>The debug log level of <command>smbd</command> may be raised
+ or lowered using <citerefentry><refentrytitle>smbcontrol</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> program (SIGUSR[1|2] signals are no longer
+ used since Samba 2.2). This is to allow transient problems to be diagnosed,
+ whilst still running at a normally low log level.</para>
+
+ <para>Note that as the signal handlers send a debug write,
+ they are not re-entrant in <command>smbd</command>. This you should wait until
+ <command>smbd</command> is in a state of waiting for an incoming SMB before
+ issuing them. It is possible to make the signal handlers safe
+ by un-blocking the signals before the select call and re-blocking
+ them after, however this would affect performance.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>hosts_access</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>inetd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>smbclient</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>testparm</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, and the
+ Internet RFC's <filename>rfc1001.txt</filename>, <filename>rfc1002.txt</filename>.
+ In addition the CIFS (formerly SMB) specification is available
+ as a link from the Web page <ulink noescape="1" url="https://www.samba.org/cifs/">
+ https://www.samba.org/cifs/</ulink>.</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbget.1.xml b/docs-xml/manpages/smbget.1.xml
new file mode 100644
index 0000000..d7eac27
--- /dev/null
+++ b/docs-xml/manpages/smbget.1.xml
@@ -0,0 +1,214 @@
+<?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="smbget.1">
+
+<refmeta>
+ <refentrytitle>smbget</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>smbget</refname>
+ <refpurpose>wget-like utility for download files over SMB</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>smbget</command>
+ <arg choice="opt">-a, --guest</arg>
+ <arg choice="opt">-r, --resume</arg>
+ <arg choice="opt">--recursive</arg>
+ <arg choice="opt">-D, --dots</arg>
+ <arg choice="opt">-o, --outputfile</arg>
+ <arg choice="opt">-q, --quiet</arg>
+ <arg choice="opt">-v, --verbose</arg>
+ <arg choice="opt">-b, --blocksize</arg>
+ <arg choice="opt">-O, --stdout</arg>
+ <arg choice="opt">-u, --update</arg>
+ <arg choice="opt">-e, --encrypt</arg>
+ <arg choice="opt">--limit-rate=INT</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</arg>
+ <arg choice="opt">-d|--debuglevel=DEBUGLEVEL</arg>
+ <arg choice="opt">--debug-stdout</arg>
+ <arg choice="opt">-s|--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="req">smb://host/share/path/to/file</arg>
+ <arg choice="opt">smb://url2/</arg>
+ <arg choice="opt">...</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>smbget is a simple utility with wget-like semantics, that can download files from SMB servers. You can specify the files you would like to download on the command-line.
+ </para>
+
+ <para>
+ The files should be in the smb-URL standard, e.g. use smb://host/share/file
+ for the UNC path <emphasis>\\\\HOST\\SHARE\\file</emphasis>.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <varlistentry>
+ <term>-a, --guest</term>
+ <listitem><para>Work as user guest</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-r, --resume</term>
+ <listitem><para>Automatically resume aborted files</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--recursive</term>
+ <listitem><para>Recursively download files</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-D, --dots</term>
+ <listitem><para>Show dots as progress indication</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-o, --outputfile</term>
+ <listitem><para>Write the file that is being downloaded to the specified file. Can not be used together with -R.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--stdout</term>
+ <listitem><para>Write the file that is being downloaded to standard output.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-q, --quiet</term>
+ <listitem><para>Be quiet</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-v, --verbose</term>
+ <listitem><para>Be verbose</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-b, --blocksize</term>
+ <listitem><para>Number of bytes to download in a block. Defaults to 64000.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-u, --update</term>
+ <listitem><para>Download only when remote file is newer than local file or local file is missing.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-e, --encrypt</term>
+ <listitem><para>Enable SMB encryption.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--limit-rate=INT</term>
+ <listitem><para>Limit download rate by this many KB/s.</para></listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ &cmdline.common.connection;
+ &cmdline.common.credentials;
+</refsect1>
+
+<refsect1>
+ <title>SMB URLS</title>
+
+ <para> SMB URL's should be specified in the following format:</para>
+
+ <para><programlisting>
+smb://[[[domain;]user[:password@]]server[/share[/path[/file]]]]
+</programlisting></para>
+
+<para><programlisting>
+smb:// means all the workgroups
+</programlisting></para>
+
+<para><programlisting>
+smb://name/ means, if <replaceable>name</replaceable> is a workgroup, all the servers in this workgroup, or if <replaceable>name</replaceable> is a server, all the shares on this server.
+</programlisting></para>
+
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+<programlisting>
+# Recursively download 'src' directory
+smbget --recursive smb://rhonwyn/jelmer/src
+# Download FreeBSD ISO and enable resuming
+smbget --resume smb://rhonwyn/isos/FreeBSD5.1.iso
+# Recursively download all ISOs
+smbget --recursive --resume smb://rhonwyn/isos
+# Backup my data on rhonwyn
+smbget --recursive -resume smb://rhonwyn/
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>BUGS</title>
+
+ <para>Permission denied is returned in some cases where the cause of the error is unknown
+(such as an illegally formatted smb:// url or trying to get a directory without --resursive
+turned on).</para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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 smbget manpage was written by Jelmer Vernooij.</para>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbpasswd.5.xml b/docs-xml/manpages/smbpasswd.5.xml
new file mode 100644
index 0000000..6705362
--- /dev/null
+++ b/docs-xml/manpages/smbpasswd.5.xml
@@ -0,0 +1,203 @@
+<?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="smbpasswd.5">
+
+<refmeta>
+ <refentrytitle>smbpasswd</refentrytitle>
+ <manvolnum>5</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">File Formats and Conventions</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>smbpasswd</refname>
+ <refpurpose>The Samba encrypted password file</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <para><filename>smbpasswd</filename></para>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>smbpasswd is the Samba encrypted password file. It contains
+ the username, Unix user id and the SMB hashed passwords of the
+ user, as well as account flag information and the time the
+ password was last changed. This file format has been evolving with
+ Samba and has had several different formats in the past. </para>
+</refsect1>
+
+<refsect1>
+ <title>FILE FORMAT</title>
+
+ <para>The format of the smbpasswd file used by Samba 2.2
+ is very similar to the familiar Unix <filename>passwd(5)</filename>
+ file. It is an ASCII file containing one line for each user. Each field
+ within each line is separated from the next by a colon. Any entry
+ beginning with '#' is ignored. The smbpasswd file contains the
+ following information for each user: </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>name</term>
+ <listitem><para> This is the user name. It must be a name that
+ already exists in the standard UNIX passwd file. </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>uid</term>
+ <listitem><para>This is the UNIX uid. It must match the uid
+ field for the same user entry in the standard UNIX passwd file.
+ If this does not match then Samba will refuse to recognize
+ this smbpasswd file entry as being valid for a user.
+ </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>Lanman Password Hash</term>
+ <listitem><para>This is the LANMAN hash of the user's password,
+ encoded as 32 hex digits. The LANMAN hash is created by DES
+ encrypting a well known string with the user's password as the
+ DES key. This is the same password used by Windows 95/98 machines.
+ Note that this password hash is regarded as weak as it is
+ vulnerable to dictionary attacks and if two users choose the
+ same password this entry will be identical (i.e. the password
+ is not "salted" as the UNIX password is). If the user has a
+ null password this field will contain the characters "NO PASSWORD"
+ as the start of the hex string. If the hex string is equal to
+ 32 'X' characters then the user's account is marked as
+ <constant>disabled</constant> and the user will not be able to
+ log onto the Samba server. </para>
+
+ <para><emphasis>WARNING !!</emphasis> Note that, due to
+ the challenge-response nature of the SMB/CIFS authentication
+ protocol, anyone with a knowledge of this password hash will
+ be able to impersonate the user on the network. For this
+ reason these hashes are known as <emphasis>plain text
+ equivalents</emphasis> and must <emphasis>NOT</emphasis> be made
+ available to anyone but the root user. To protect these passwords
+ the smbpasswd file is placed in a directory with read and
+ traverse access only to the root user and the smbpasswd file
+ itself must be set to be read/write only by root, with no
+ other access. </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>NT Password Hash</term>
+ <listitem><para>This is the Windows NT hash of the user's
+ password, encoded as 32 hex digits. The Windows NT hash is
+ created by taking the user's password as represented in
+ 16-bit, little-endian UNICODE and then applying the MD4
+ (internet rfc1321) hashing algorithm to it. </para>
+
+ <para>This password hash is considered more secure than
+ the LANMAN Password Hash as it preserves the case of the
+ password and uses a much higher quality hashing algorithm.
+ However, it is still the case that if two users choose the same
+ password this entry will be identical (i.e. the password is
+ not "salted" as the UNIX password is). </para>
+
+ <para><emphasis>WARNING !!</emphasis>. Note that, due to
+ the challenge-response nature of the SMB/CIFS authentication
+ protocol, anyone with a knowledge of this password hash will
+ be able to impersonate the user on the network. For this
+ reason these hashes are known as <emphasis>plain text
+ equivalents</emphasis> and must <emphasis>NOT</emphasis> be made
+ available to anyone but the root user. To protect these passwords
+ the smbpasswd file is placed in a directory with read and
+ traverse access only to the root user and the smbpasswd file
+ itself must be set to be read/write only by root, with no
+ other access. </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>Account Flags</term>
+ <listitem><para>This section contains flags that describe
+ the attributes of the users account. This field is bracketed by
+ '[' and ']' characters and is always 13 characters in length
+ (including the '[' and ']' characters).
+ The contents of this field may be any of the following characters:
+ </para>
+
+ <itemizedlist>
+ <listitem><para><emphasis>U</emphasis> - This means
+ this is a "User" account, i.e. an ordinary user.</para></listitem>
+
+ <listitem><para><emphasis>N</emphasis> - This means the
+ account has no password (the passwords in the fields LANMAN
+ Password Hash and NT Password Hash are ignored). Note that this
+ will only allow users to log on with no password if the <parameter>
+ null passwords</parameter> parameter is set in the
+ <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> config file. </para></listitem>
+
+ <listitem><para><emphasis>D</emphasis> - This means the account
+ is disabled and no SMB/CIFS logins will be allowed for this user. </para></listitem>
+
+ <listitem><para><emphasis>X</emphasis> - This means the password
+ does not expire. </para></listitem>
+
+ <listitem><para><emphasis>W</emphasis> - This means this account
+ is a "Workstation Trust" account. This kind of account is used
+ in the Samba PDC code stream to allow Windows NT Workstations
+ and Servers to join a Domain hosted by a Samba PDC. </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Other flags may be added as the code is extended in future.
+ The rest of this field space is filled in with spaces. For further
+ information regarding the flags that are supported please refer to the
+ man page for the <command>pdbedit</command> command.</para>
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>Last Change Time</term>
+ <listitem><para>This field consists of the time the account was
+ last modified. It consists of the characters 'LCT-' (standing for
+ "Last Change Time") followed by a numeric encoding of the UNIX time
+ in seconds since the epoch (1970) that the last change was made.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>All other colon separated fields are ignored at this time.</para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of
+ the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>smbpasswd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry><refentrytitle>Samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry>, and
+ the Internet RFC1321 for details on the MD4 algorithm.
+ </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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbpasswd.8.xml b/docs-xml/manpages/smbpasswd.8.xml
new file mode 100644
index 0000000..ba0e549
--- /dev/null
+++ b/docs-xml/manpages/smbpasswd.8.xml
@@ -0,0 +1,422 @@
+<?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="smbpasswd.8">
+
+<refmeta>
+ <refentrytitle>smbpasswd</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>smbpasswd</refname>
+ <refpurpose>change a user's SMB password</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>smbpasswd</command>
+ <arg choice="opt">-a</arg>
+ <arg choice="opt">-c &lt;config file&gt;</arg>
+ <arg choice="opt">-x</arg>
+ <arg choice="opt">-d</arg>
+ <arg choice="opt">-e</arg>
+ <arg choice="opt">-D debuglevel</arg>
+ <arg choice="opt">-n</arg>
+ <arg choice="opt">-r &lt;remote machine&gt;</arg>
+ <arg choice="opt">-R &lt;name resolve order&gt;</arg>
+ <arg choice="opt">-m</arg>
+ <arg choice="opt">-U username[%password]</arg>
+ <arg choice="opt">-h</arg>
+ <arg choice="opt">-s</arg>
+ <arg choice="opt">-w pass</arg>
+ <arg choice="opt">-W</arg>
+ <arg choice="opt">-i</arg>
+ <arg choice="opt">-L</arg>
+ <arg choice="opt">username</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 smbpasswd program has several different
+ functions, depending on whether it is run by the <emphasis>root</emphasis> user
+ or not. When run as a normal user it allows the user to change
+ the password used for their SMB sessions on any machines that store
+ SMB passwords. </para>
+
+ <para>By default (when run with no arguments) it will attempt to
+ change the current user's SMB password on the local machine. This is
+ similar to the way the <command>passwd(1)</command> program works. <command>
+ smbpasswd</command> differs from how the passwd program works
+ however in that it is not <emphasis>setuid root</emphasis> but works in
+ a client-server mode and communicates with a
+ locally running <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>. As a consequence in order for this to
+ succeed the smbd daemon must be running on the local machine. On a
+ UNIX machine the encrypted SMB passwords are usually stored in
+ the default passdb backend.</para>
+
+ <para>When run by an ordinary user with no options, smbpasswd
+ will prompt them for their old SMB password and then ask them
+ for their new password twice, to ensure that the new password
+ was typed correctly. No passwords will be echoed on the screen
+ whilst being typed. If you have a blank SMB password (specified by
+ the string "NO PASSWORD" in the smbpasswd file) then just press
+ the &lt;Enter&gt; key when asked for your old password. </para>
+
+ <para>smbpasswd can also be used by a normal user to change their
+ SMB password on remote machines, such as Windows NT Primary Domain
+ Controllers. See the (<parameter>-r</parameter>) and <parameter>-U</parameter> options
+ below. </para>
+
+ <para>When run by root, smbpasswd allows new users to be added
+ and deleted in the smbpasswd file, as well as allows changes to
+ the attributes of the user in this file to be made. When run by root, <command>
+ smbpasswd</command> accesses the local smbpasswd file
+ directly, thus enabling changes to be made even if smbd is not
+ running. </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+ <variablelist>
+ <varlistentry>
+ <term>-a</term>
+ <listitem><para>
+ This option specifies that the username following should be added to the local smbpasswd file, with the new
+ password typed (type &lt;Enter&gt; for the old password). This option is ignored if the username following
+ already exists in the smbpasswd file and it is treated like a regular change password command. Note that the
+ default passdb backends require the user to already exist in the system password file (usually
+ <filename>/etc/passwd</filename>), else the request to add the user will fail.
+ </para>
+
+ <para>This option is only available when running smbpasswd
+ as root. </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-c</term>
+ <listitem><para>
+ This option can be used to specify the path and file name of the &smb.conf; configuration file when it
+ is important to use other than the default file and / or location.
+ </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-x</term>
+ <listitem><para>
+ This option specifies that the username following should be deleted from the local smbpasswd file.
+ </para>
+
+ <para>
+ This option is only available when running smbpasswd as root.
+ </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-d</term>
+ <listitem><para>This option specifies that the username following
+ should be <constant>disabled</constant> in the local smbpasswd
+ file. This is done by writing a <constant>'D'</constant> flag
+ into the account control space in the smbpasswd file. Once this
+ is done all attempts to authenticate via SMB using this username
+ will fail. </para>
+
+ <para>If the smbpasswd file is in the 'old' format (pre-Samba 2.0
+ format) there is no space in the user's password entry to write
+ this information and the command will FAIL. See <citerefentry><refentrytitle>smbpasswd</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> for details on the 'old' and new password file formats.
+ </para>
+
+ <para>This option is only available when running smbpasswd as
+ root.</para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-e</term>
+ <listitem><para>This option specifies that the username following
+ should be <constant>enabled</constant> in the local smbpasswd file,
+ if the account was previously disabled. If the account was not
+ disabled this option has no effect. Once the account is enabled then
+ the user will be able to authenticate via SMB once again. </para>
+
+ <para>If the smbpasswd file is in the 'old' format, then <command>
+ smbpasswd</command> will FAIL to enable the account.
+ See <citerefentry><refentrytitle>smbpasswd</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> for
+ details on the 'old' and new password file formats. </para>
+
+ <para>This option is only available when running smbpasswd as root.
+ </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-D debuglevel</term>
+ <listitem><para><replaceable>debuglevel</replaceable> is an integer
+ from 0 to 10. The default value if this parameter is not specified
+ is zero. </para>
+
+ <para>The higher this value, the more detail will be logged to the
+ log files about the activities of smbpasswd. At level 0, only
+ critical errors and serious warnings will be logged. </para>
+
+ <para>Levels above 1 will generate considerable amounts of log
+ data, and should only be used when investigating a problem. Levels
+ above 3 are designed for use only by developers and generate
+ HUGE amounts of log data, most of which is extremely cryptic.
+ </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-n</term>
+ <listitem><para>This option specifies that the username following
+ should have their password set to null (i.e. a blank password) in
+ the local smbpasswd file. This is done by writing the string "NO
+ PASSWORD" as the first part of the first password stored in the
+ smbpasswd file. </para>
+
+ <para>Note that to allow users to logon to a Samba server once
+ the password has been set to "NO PASSWORD" in the smbpasswd
+ file the administrator must set the following parameter in the [global]
+ section of the <filename>smb.conf</filename> file : </para>
+
+ <para><command>null passwords = yes</command></para>
+
+ <para>This option is only available when running smbpasswd as
+ root.</para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-r remote machine name</term>
+ <listitem><para>This option allows a user to specify what machine
+ they wish to change their password on. Without this parameter
+ smbpasswd defaults to the local host. The <replaceable>remote
+ machine name</replaceable> is the NetBIOS name of the SMB/CIFS
+ server to contact to attempt the password change. This name is
+ resolved into an IP address using the standard name resolution
+ mechanism in all programs of the Samba suite. See the <parameter>-R
+ name resolve order</parameter> parameter for details on changing
+ this resolving mechanism. </para>
+
+ <para>The username whose password is changed is that of the
+ current UNIX logged on user. See the <parameter>-U username</parameter>
+ parameter for details on changing the password for a different
+ username. </para>
+
+ <para>Note that if changing a Windows NT Domain password the
+ remote machine specified must be the Primary Domain Controller for
+ the domain (Backup Domain Controllers only have a read-only
+ copy of the user account database and will not allow the password
+ change).</para>
+
+ <para><emphasis>Note</emphasis> that Windows 95/98 do not have
+ a real password database so it is not possible to change passwords
+ specifying a Win95/98 machine as remote machine target. </para>
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-R name resolve order</term>
+ <listitem><para>This option allows the user of smbpasswd to determine
+ what name resolution services to use when looking up the NetBIOS
+ name of the host being connected to. </para>
+
+ <para>The options are :"lmhosts", "host", "wins" and "bcast". They
+ cause names to be resolved as follows: </para>
+ <itemizedlist>
+ <listitem><para><constant>lmhosts</constant>: Lookup an IP
+ address in the Samba lmhosts file. If the line in lmhosts has
+ no name type attached to the NetBIOS name (see the <citerefentry><refentrytitle>lmhosts</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> for details) then
+ any name type matches for lookup.</para></listitem>
+
+ <listitem><para><constant>host</constant>: Do a standard host
+ name to IP address resolution, using the system <filename>/etc/hosts
+ </filename>, NIS, or DNS lookups. This method of name resolution
+ is operating system depended for instance on IRIX or Solaris this
+ may be controlled by the <filename>/etc/nsswitch.conf</filename>
+ file). Note that this method is only used if the NetBIOS name
+ type being queried is the 0x20 (server) name type, otherwise
+ it is ignored.</para></listitem>
+
+ <listitem><para><constant>wins</constant>: Query a name with
+ the IP address listed in the <parameter>wins server</parameter>
+ parameter. If no WINS server has been specified this method
+ will be ignored.</para></listitem>
+
+ <listitem><para><constant>bcast</constant>: Do a broadcast on
+ each of the known local interfaces listed in the
+ <parameter>interfaces</parameter> parameter. This is the least
+ reliable of the name resolution methods as it depends on the
+ target host being on a locally connected subnet.</para></listitem>
+ </itemizedlist>
+
+ <para>The default order is <command>lmhosts, host, wins, bcast</command>
+ and without this parameter or any entry in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> file the name resolution methods will
+ be attempted in this order. </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-m</term>
+ <listitem><para>This option tells smbpasswd that the account
+ being changed is a MACHINE account. Currently this is used
+ when Samba is being used as an NT Primary Domain Controller.</para>
+
+ <para>This option is only available when running smbpasswd as root.
+ </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-U username</term>
+ <listitem><para>This option may only be used in conjunction
+ with the <parameter>-r</parameter> option. When changing
+ a password on a remote machine it allows the user to specify
+ the user name on that machine whose password will be changed. It
+ is present to allow users who have different user names on
+ different systems to change these passwords. </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-h</term>
+ <listitem><para>This option prints the help string for <command>
+ smbpasswd</command>, selecting the correct one for running as root
+ or as an ordinary user. </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-s</term>
+ <listitem><para>This option causes smbpasswd to be silent (i.e.
+ not issue prompts) and to read its old and new passwords from
+ standard input, rather than from <filename>/dev/tty</filename>
+ (like the <command>passwd(1)</command> program does). This option
+ is to aid people writing scripts to drive smbpasswd</para>
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-w password</term>
+ <listitem><para>This parameter is only available if Samba
+ has been compiled with LDAP support. The <parameter>-w</parameter>
+ switch is used to specify the password to be used with the
+ <smbconfoption name="ldap admin dn"/>. Note that the password is stored in
+ the <filename>secrets.tdb</filename> and is keyed off
+ of the admin's DN. This means that if the value of <parameter>ldap
+ admin dn</parameter> ever changes, the password will need to be
+ manually updated as well.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-W</term>
+ <listitem><para><command>NOTE: </command> This option is same as "-w"
+ except that the password should be entered using stdin.
+ </para>
+ <para>This parameter is only available if Samba
+ has been compiled with LDAP support. The <parameter>-W</parameter>
+ switch is used to specify the password to be used with the
+ <smbconfoption name="ldap admin dn"/>. Note that the password is stored in
+ the <filename>secrets.tdb</filename> and is keyed off
+ of the admin's DN. This means that if the value of <parameter>ldap
+ admin dn</parameter> ever changes, the password will need to be
+ manually updated as well.
+ </para>
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-i</term>
+ <listitem><para>This option tells smbpasswd that the account
+ being changed is an interdomain trust account. Currently this is used
+ when Samba is being used as an NT Primary Domain Controller.
+ The account contains the info about another trusted domain.</para>
+
+ <para>This option is only available when running smbpasswd as root.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-L</term>
+ <listitem><para>Run in local mode.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>username</term>
+ <listitem><para>This specifies the username for all of the
+ <emphasis>root only</emphasis> options to operate on. Only root
+ can specify this parameter as only root has the permission needed
+ to modify attributes directly in the local smbpasswd file.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>NOTES</title>
+
+ <para>Since <command>smbpasswd</command> works in client-server
+ mode communicating with a local smbd for a non-root user then
+ the smbd daemon must be running for this to work. A common problem
+ is to add a restriction to the hosts that may access the <command>
+ smbd</command> running on the local machine by specifying either <parameter>allow
+ hosts</parameter> or <parameter>deny hosts</parameter> entry in
+ the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> file and neglecting to
+ allow "localhost" access to the smbd. </para>
+
+ <para>In addition, the smbpasswd command is only useful if Samba
+ has been set up to use encrypted passwords. </para>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>smbpasswd</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>Samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry>.</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbspool.8.xml b/docs-xml/manpages/smbspool.8.xml
new file mode 100644
index 0000000..fba8ca3
--- /dev/null
+++ b/docs-xml/manpages/smbspool.8.xml
@@ -0,0 +1,125 @@
+<?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="smbspool.8">
+
+<refmeta>
+ <refentrytitle>smbspool</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>smbspool</refname>
+ <refpurpose>send a print file to an SMB printer</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>smbspool</command>
+ <arg choice="req">job</arg>
+ <arg choice="req">user</arg>
+ <arg choice="req">title</arg>
+ <arg choice="req">copies</arg>
+ <arg choice="req">options</arg>
+ <arg choice="opt">filename</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>smbspool is a very small print spooling program that
+ sends a print file to an SMB printer. The command-line arguments
+ are position-dependent for compatibility with the Common UNIX
+ Printing System, but you can use smbspool with any printing system
+ or from a program or script.</para>
+
+ <para><emphasis>DEVICE URI</emphasis></para>
+
+ <para>smbspool specifies the destination using a Uniform Resource
+ Identifier ("URI") with a method of "smb". This string can take
+ a number of forms:</para>
+
+ <itemizedlist>
+ <listitem><para>smb://server[:port]/printer</para></listitem>
+ <listitem><para>smb://workgroup/server[:port]/printer</para></listitem>
+ <listitem><para>smb://username:password@server[:port]/printer</para></listitem>
+ <listitem><para>smb://username:password@workgroup/server[:port]/printer</para></listitem>
+ </itemizedlist>
+
+ <para>smbspool tries to get the URI from the environment variable
+ <envar>DEVICE_URI</envar>. If <envar>DEVICE_URI</envar> is not present,
+ smbspool will use argv[0] if that starts with <quote>smb://</quote>
+ or argv[1] if that is not the case.</para>
+
+ <para>Programs using the <command>exec(2)</command> functions can
+ pass the URI in argv[0], while shell scripts must set the
+ <envar>DEVICE_URI</envar> environment variable prior to
+ running smbspool.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <itemizedlist>
+ <listitem><para>The job argument (argv[1]) contains the
+ job ID number and is presently not used by smbspool.
+ </para></listitem>
+
+ <listitem><para>The user argument (argv[2]) contains the
+ print user's name and is presently not used by smbspool.
+ </para></listitem>
+
+ <listitem><para>The title argument (argv[3]) contains the
+ job title string and is passed as the remote file name
+ when sending the print job.</para></listitem>
+
+ <listitem><para>The copies argument (argv[4]) contains
+ the number of copies to be printed of the named file. If
+ no filename is provided then this argument is not used by
+ smbspool.</para></listitem>
+
+ <listitem><para>The options argument (argv[5]) contains
+ the print options in a single string and is currently
+ not used by smbspool.</para></listitem>
+
+ <listitem><para>The filename argument (argv[6]) contains the
+ name of the file to print. If this argument is not specified
+ then the print file is read from the standard input.</para>
+ </listitem>
+ </itemizedlist>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> and <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry>.</para>
+</refsect1>
+
+<refsect1>
+ <title>AUTHOR</title>
+
+ <para><command>smbspool</command> was written by Michael Sweet
+ at Easy Software Products.</para>
+
+ <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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbspool_krb5_wrapper.8.xml b/docs-xml/manpages/smbspool_krb5_wrapper.8.xml
new file mode 100644
index 0000000..3835719
--- /dev/null
+++ b/docs-xml/manpages/smbspool_krb5_wrapper.8.xml
@@ -0,0 +1,64 @@
+<?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="smbspool.8">
+
+<refmeta>
+ <refentrytitle>smbspool_krb5_wrapper</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>smbspool_krb5_wrapper</refname>
+ <refpurpose>This is a CUPS printing backend which calls smbspool</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>smbspool_krb5_wrapper</command>
+ <arg choice="req">job</arg>
+ <arg choice="req">user</arg>
+ <arg choice="req">title</arg>
+ <arg choice="req">copies</arg>
+ <arg choice="req">options</arg>
+ <arg choice="opt">filename</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>smbspool_krb5_wrapper is a tool that can be used to print using
+ Kerberos credentials. To get this working smbspool_krb5_wrapper
+ needs to be the smb backend of CUPS. It needs to be owned by
+ root and the permissions for the binary need to be 0700. Once
+ smbspool_krb5_wrapper switched to the user trying to print it
+ executes smbspool. It should not be called by a user.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>smbspool</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>.</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 smbspool_krb5_wrapper manpage was written by Andreas
+ Schneider.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbstatus.1.xml b/docs-xml/manpages/smbstatus.1.xml
new file mode 100644
index 0000000..63ae464
--- /dev/null
+++ b/docs-xml/manpages/smbstatus.1.xml
@@ -0,0 +1,431 @@
+<?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="smbstatus.1">
+
+<refmeta>
+ <refentrytitle>smbstatus</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>smbstatus</refname>
+ <refpurpose>report on current Samba connections</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>smbstatus</command>
+ <arg choice="opt">-p|--processes</arg>
+ <arg choice="opt">-v|--verbose</arg>
+ <arg choice="opt">-L|--locks</arg>
+ <arg choice="opt">-S|--shares</arg>
+ <arg choice="opt">-N|--notify</arg>
+ <arg choice="opt">-u|--user=STRING</arg>
+ <arg choice="opt">-b|--brief</arg>
+ <arg choice="opt">-P|--profile</arg>
+ <arg choice="opt">-R|--profile-rates</arg>
+ <arg choice="opt">-B|--byterange</arg>
+ <arg choice="opt">-n|--numeric</arg>
+ <arg choice="opt">-f|--fast</arg>
+ <arg choice="opt">-j|--json</arg>
+ <arg choice="opt">--resolve-uids</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</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>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para><command>smbstatus</command> is a very simple program to
+ list the current Samba connections.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-P|--profile</term>
+ <listitem><para>If samba has been compiled with the
+ profiling option, print only the contents of the profiling
+ shared memory area.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-R|--profile-rates</term>
+ <listitem><para>If samba has been compiled with the
+ profiling option, print the contents of the profiling
+ shared memory area and the call rates.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-b|--brief</term>
+ <listitem><para>gives brief output.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-v|--verbose</term>
+ <listitem><para>gives verbose output.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-L|--locks</term>
+ <listitem><para>causes smbstatus to only list locks.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-B|--byterange</term>
+ <listitem><para>causes smbstatus to include byte range locks.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-p|--processes</term>
+ <listitem><para>print a list of <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> processes and exit.
+ Useful for scripting.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-S|--shares</term>
+ <listitem><para>causes smbstatus to only list shares.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-N|--notify</term>
+ <listitem><para>causes smbstatus to display registered file
+ notifications</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-f|--fast</term>
+ <listitem><para>causes smbstatus to not check if the status data
+ is valid by checking if the processes that the status data refer to all still
+ exist. This speeds up execution on busy systems and clusters but
+ might display stale data of processes that died without cleaning up properly.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-u|--user=&lt;username&gt;</term>
+ <listitem><para>selects information relevant to <parameter>username</parameter> only.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-n|--numeric</term>
+ <listitem><para>causes smbstatus to display numeric UIDs and GIDs instead of
+ resolving them to names.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-j|--json</term>
+ <listitem><para>Output more detailed information in JSON format instead
+ of human readable.
+ The output has the following format:
+ <programlisting>
+{
+ "timestamp": "2022-04-15T18:25:15.364891+0200",
+ "version": "4.17.0pre1-GIT-a0f12b9c80b",
+ "smb_conf": "/opt/samba/etc/smb.conf",
+ "sessions": {
+ "3639217376": {
+ "session_id": "3639217376",
+ "server_id": {
+ "pid": "69650",
+ "task_id": "0",
+ "vnn": "4294967295",
+ "unique_id": "10756714984493602300"
+ },
+ "uid": 1000,
+ "gid": 1000,
+ "username": "johndoe",
+ "groupname": "johndoe",
+ "remote_machine": "127.0.0.1",
+ "hostname": "ipv4:127.0.0.1:59944",
+ "session_dialect": "SMB3_11",
+ "encryption": {
+ "cipher": "",
+ "degree": "none"
+ },
+ "signing": {
+ "cipher": "AES-128-GMAC",
+ "degree": "partial"
+ }
+ }
+ },
+ "tcons": {
+ "3813255619": {
+ "service": "sharename",
+ "server_id": {
+ "pid": "69650",
+ "task_id": "0",
+ "vnn": "4294967295",
+ "unique_id": "10756714984493602300"
+ },
+ "tcon_id": "3813255619",
+ "session_id": "3639217376",
+ "machine": "127.0.0.1",
+ "connected_at": "2022-04-15T17:30:37+0200",
+ "encryption": {
+ "cipher": "AES-128-GMAC",
+ "degree": "full"
+ },
+ "signing": {
+ "cipher": "",
+ "degree": "none"
+ }
+ }
+ },
+ "open_files": {
+ "/home/johndoe/testfolder/sample": {
+ "service_path": "/home/johndoe/testfolder",
+ "filename": "sample",
+ "fileid": {
+ "devid": 59,
+ "inode": 11404245,
+ "extid": 0
+ },
+ "num_pending_deletes": 0,
+ "opens": {
+ "56839/2": {
+ "server_id": {
+ "pid": "69650",
+ "task_id": "0",
+ "vnn": "4294967295",
+ "unique_id": "10756714984493602300"
+ },
+ "uid": 1000,
+ "share_file_id": 2,
+ "sharemode": {
+ "hex": "0x00000003",
+ "NONE": false,
+ "READ": true,
+ "WRITE": true,
+ "DELETE": false,
+ "text": "RW"
+ },
+ "access_mask": {
+ "hex": "0x00000003",
+ "READ_DATA": true,
+ "WRITE_DATA": true,
+ "APPEND_DATA": false,
+ "READ_EA": false,
+ "WRITE_EA": false,
+ "EXECUTE": false,
+ "READ_ATTRIBUTES": false,
+ "WRITE_ATTRIBUTES": false,
+ "DELETE_CHILD": false,
+ "DELETE": false,
+ "READ_CONTROL": false,
+ "WRITE_DAC": false,
+ "SYNCHRONIZE": false,
+ "ACCESS_SYSTEM_SECURITY": false,
+ "text": "RW"
+ },
+ "caching": {
+ "READ": false,
+ "WRITE": false,
+ "HANDLE": false,
+ "hex": "0x00000000",
+ "text": ""
+ },
+ "oplock": {},
+ "lease": {},
+ "opened_at": "2022-04-15T17:30:38+0200"
+ }
+ }
+ }
+ }
+}
+ </programlisting> </para>
+
+ <para>If oplocks are used:
+ <programlisting>
+ "oplock": {
+ "EXCLUSIVE": false,
+ "BATCH": false,
+ "LEVEL_II": true,
+ "LEASE": false,
+ "text": "LEVEL_II"
+ }
+ </programlisting> </para>
+
+ <para>If leases are used:
+
+ <programlisting>
+ "lease": {
+ "lease_key": "29316055-f55c-de10-c813-af7bf5a430bb",
+ "hex": "0x00000005",
+ "READ": true,
+ "WRITE": true,
+ "HANDLE": false,
+ "text": "RW"
+ }
+ </programlisting> </para>
+
+ <para>With byte-range locks (-B, --byterange):
+ <programlisting>
+ "byte_range_locks": {
+ "/home/johndoe/testfolder/sample": {
+ "fileid": {
+ "devid": 59,
+ "inode": 11404245,
+ "extid": 0
+ },
+ "file_name": "sample",
+ "share_path": "/home/johndoe/testfolder",
+ "locks": [
+ {
+ "server_id": {
+ "pid": "69650",
+ "task_id": "0",
+ "vnn": "4294967295",
+ "unique_id": "10756714984493602300"
+ },
+ "type": "R",
+ "flavour": "Posix",
+ "start": 0,
+ "size": 16
+ }
+ ]
+ }
+ </programlisting> </para>
+
+ <para> With notifies (-N, --notify):
+ <programlisting>
+ "notify": {
+ "77247": {
+ "server_id": {
+ "pid": "69650",
+ "task_id": "0",
+ "vnn": "4294967295",
+ "unique_id": "10756714984493602300"
+ },
+ "path": "/home/johndoe/testfolder/testdir",
+ "filter": 4095,
+ "subdir_filter": 4095,
+ "creation_time": "1970-01-01T01:00:14.326582+01:00"
+ }
+ }
+ </programlisting> </para>
+
+ <para> For profiling (-P, --profile):
+ <programlisting>
+{
+ "timestamp": "2022-04-15T18:40:43.112216+0200",
+ "version": "4.17.0pre1-GIT-a0f12b9c80b",
+ "smb_conf": "/opt/samba/etc/smb.conf",
+ "SMBD loop": {
+ "connect": {
+ "count": 2
+ },
+ "disconnect": {
+ "count": 1
+ },
+ ...
+ },
+ "System Calls": {
+ "syscall_opendir": {
+ "count": 0,
+ "time": 0
+ },
+ ...
+ },
+ "ACL Calls": {
+ "get_nt_acl": {
+ "count": 0,
+ "time": 0
+ },
+ ...
+ },
+ "Stat Cache": {
+ "statcache_lookups": {
+ "count": 2
+ },
+ ...
+ },
+ "SMB Calls": {
+ "SMBmkdir": {
+ "count": 0,
+ "time": 0
+ },
+ ...
+ },
+ "Trans2 Calls": {
+ "Trans2_open": {
+ "count": 0,
+ "time": 0
+ },
+ ...
+ },
+ "NT Transact Calls": {
+ "NT_transact_create": {
+ "count": 0,
+ "time": 0
+ },
+ ...
+ },
+ "SMB2 Calls": {
+ "smb2_negprot": {
+ "count": 2,
+ "time": 3060,
+ "idle": 0,
+ "inbytes": 452,
+ "outbytes": 568
+ },
+ ...
+ }
+}
+ </programlisting> </para>
+ </listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of
+ the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> and <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>.</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbtar.1.xml b/docs-xml/manpages/smbtar.1.xml
new file mode 100644
index 0000000..c1b3450
--- /dev/null
+++ b/docs-xml/manpages/smbtar.1.xml
@@ -0,0 +1,237 @@
+<?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="smbtar.1">
+
+<refmeta>
+ <refentrytitle>smbtar</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>smbtar</refname>
+ <refpurpose>shell script for backing up SMB/CIFS shares
+ directly to UNIX tape drives</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>smbtar</command>
+ <arg choice="opt">-r</arg>
+ <arg choice="opt">-i</arg>
+ <arg choice="opt">-a</arg>
+ <arg choice="opt">-v</arg>
+ <arg choice="req">-s server</arg>
+ <arg choice="opt">-p password</arg>
+ <arg choice="opt">-x services</arg>
+ <arg choice="opt">-X</arg>
+ <arg choice="opt">-N filename</arg>
+ <arg choice="opt">-b blocksize</arg>
+ <arg choice="opt">-d directory</arg>
+ <arg choice="opt">-l loglevel</arg>
+ <arg choice="opt">-u user</arg>
+ <arg choice="opt">-t tape</arg>
+ <arg choice="req">filenames</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><command>smbtar</command> is a very small shell script on top
+ of <citerefentry><refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum>
+ </citerefentry> which dumps SMB shares directly to tape.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-s server</term>
+ <listitem><para>The SMB/CIFS server that the share resides
+ upon.</para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-x service</term>
+ <listitem><para>The share name on the server to connect to.
+ The default is "backup".</para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-X</term>
+ <listitem><para>Exclude mode. Exclude filenames... from tar
+ create or restore. </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-d directory</term>
+ <listitem><para>Change to initial <parameter>directory
+ </parameter> before restoring / backing up files. </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-v</term>
+ <listitem><para>Verbose mode.</para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-p password</term>
+ <listitem><para>The password to use to access a share.
+ Default: none </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-u user</term>
+ <listitem><para>The user id to connect as. Default:
+ UNIX login name. </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-a</term>
+ <listitem><para>Reset DOS archive bit mode to
+ indicate file has been archived. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-t tape</term>
+ <listitem><para>Tape device. May be regular file or tape
+ device. Default: <parameter>$TAPE</parameter> environmental
+ variable; if not set, a file called <filename>tar.out
+ </filename>. </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-b blocksize</term>
+ <listitem><para>Blocking factor. Defaults to 20. See
+ <command>tar(1)</command> for a fuller explanation. </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-N filename</term>
+ <listitem><para>Backup only files newer than filename. Could
+ be used (for example) on a log file to implement incremental
+ backups. </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-i</term>
+ <listitem><para>Incremental mode; tar files are only backed
+ up if they have the archive bit set. The archive bit is reset
+ after each file is read. </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>-r</term>
+ <listitem><para>Restore. Files are restored to the share
+ from the tar file. </para></listitem>
+ </varlistentry>
+
+
+
+ <varlistentry>
+ <term>-l log level</term>
+ <listitem><para>Log (debug) level. Corresponds to the
+ <parameter>-d</parameter> flag of <citerefentry>
+ <refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum>
+ </citerefentry>.</para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>ENVIRONMENT VARIABLES</title>
+
+ <para>The <parameter>$TAPE</parameter> variable specifies the
+ default tape device to write to. May be overridden
+ with the -t option. </para>
+</refsect1>
+
+
+<refsect1>
+ <title>BUGS</title>
+
+ <para>The <command>smbtar</command> script has different
+ options from ordinary tar and from smbclient's tar command. </para>
+
+</refsect1>
+
+<refsect1>
+ <title>CAVEATS</title>
+
+ <para>Sites that are more careful about security may not like
+ the way the script handles PC passwords. Backup and restore work
+ on entire shares; should work on file lists. smbtar works best
+ with GNU tar and may not work well with other versions. </para>
+</refsect1>
+
+
+<refsect1>
+ <title>DIAGNOSTICS</title>
+
+ <para>See the <emphasis>DIAGNOSTICS</emphasis> section for the <citerefentry>
+ <refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum>
+ </citerefentry> command.</para>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of
+ the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>smbclient</refentrytitle><manvolnum>1</manvolnum>
+ </citerefentry>, <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>.</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><ulink noescape="1" url="mailto:poultenr@logica.co.uk">Ricky Poulten</ulink>
+ wrote the tar extension and this man page. The <command>smbtar</command>
+ script was heavily rewritten and improved by <ulink noescape="1"
+ url="mailto:Martin.Kraemer@mch.sni.de">Martin Kraemer</ulink>. Many
+ thanks to everyone who suggested extensions, improvements, bug
+ fixes, etc. The man page sources were converted to YODL format (another
+ excellent piece of Open Source software, available at <ulink noescape="1" url="ftp://ftp.icce.rug.nl/pub/unix/">
+ ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0
+ release by Jeremy Allison. The conversion to DocBook for
+ Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2 for
+ Samba 3.0 was done by Alexander Bokovoy.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/smbtree.1.xml b/docs-xml/manpages/smbtree.1.xml
new file mode 100644
index 0000000..b1ba700
--- /dev/null
+++ b/docs-xml/manpages/smbtree.1.xml
@@ -0,0 +1,107 @@
+<?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="smbtree.1">
+
+<refmeta>
+ <refentrytitle>smbtree</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>smbtree</refname>
+ <refpurpose>A text based smb network browser
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>smbtree</command>
+ <arg choice="opt">-D|--domains</arg>
+ <arg choice="opt">-S|--servers</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</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">-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>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para><command>smbtree</command> is a smb browser program
+ in text mode. It is similar to the "Network Neighborhood" found
+ on Windows computers. It prints a tree with all
+ the known domains, the servers in those domains and
+ the shares on the servers.
+ </para>
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-D|--domains</term>
+ <listitem><para>Only print a list of all
+ the domains known on broadcast or by the
+ master browser</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-S|--servers</term>
+ <listitem><para>Only print a list of
+ all the domains and servers responding on broadcast or
+ known by the master browser.
+ </para></listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ &cmdline.common.credentials;
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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 smbtree man page was written by Jelmer Vernooij. </para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/testparm.1.xml b/docs-xml/manpages/testparm.1.xml
new file mode 100644
index 0000000..578eb78
--- /dev/null
+++ b/docs-xml/manpages/testparm.1.xml
@@ -0,0 +1,215 @@
+<?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="testparm.1">
+
+<refmeta>
+ <refentrytitle>testparm</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>testparm</refname>
+ <refpurpose>check an smb.conf configuration file for
+ internal correctness</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>testparm</command>
+ <arg choice="opt">-s|--suppress-prompt</arg>
+ <arg choice="opt">-v|--verbose</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</arg>
+ <arg choice="opt">-d|--debuglevel=DEBUGLEVEL</arg>
+ <arg choice="opt">--debug-stdout</arg>
+ <arg choice="req">config filename</arg>
+ <arg choice="opt">hostname hostIP</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><command>testparm</command> is a very simple test program
+ to check an <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> configuration file for
+ internal correctness. If this program reports no problems, you
+ can use the configuration file with confidence that <command>smbd
+ </command> will successfully load the configuration file.</para>
+
+
+ <para>Note that this is <emphasis>NOT</emphasis> a guarantee that
+ the services specified in the configuration file will be
+ available or will operate as expected. </para>
+
+ <para>If the optional host name and host IP address are
+ specified on the command line, this test program will run through
+ the service entries reporting whether the specified host
+ has access to each service. </para>
+
+ <para>If <command>testparm</command> finds an error in the <filename>
+ smb.conf</filename> file it returns an exit code of 1 to the calling
+ program, else it returns an exit code of 0. This allows shell scripts
+ to test the output from <command>testparm</command>.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-s|--suppress-prompt</term>
+ <listitem><para>Without this option, <command>testparm</command>
+ will prompt for a carriage return after printing the service
+ names and before dumping the service definitions.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-v|--verbose</term>
+ <listitem><para>If this option is specified, testparm
+ will also output all options that were not used in <citerefentry>
+ <refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
+ </citerefentry> and are thus set to their defaults.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--parameter-name parametername</term>
+ <listitem><para>
+ Dumps the named parameter. If no section-name is set the view
+ is limited by default to the global section.
+
+ It is also possible to dump a parametrical option. Therefore
+ the option has to be separated by a colon from the
+ parametername.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--section-name sectionname</term>
+ <listitem><para>
+ Dumps the named section.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--show-all-parameters</term>
+ <listitem><para>
+ Show the parameters, type, possible values.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-l|--skip-logic-checks</term>
+ <listitem><para>
+ Skip the global checks.
+ </para></listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.debug.client;
+ &cmdline.common.config.client;
+ &cmdline.common.option;
+ &cmdline.version;
+
+ <varlistentry>
+ <term>configfilename</term>
+ <listitem><para>This is the name of the configuration file
+ to check. If this parameter is not present then the
+ default <citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
+ </citerefentry> file will be checked.
+ </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>hostname</term>
+ <listitem><para>If this parameter and the following are
+ specified, then <command>testparm</command> will examine the <parameter>hosts
+ allow</parameter> and <parameter>hosts deny</parameter>
+ parameters in the <citerefentry>
+ <refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
+ </citerefentry> file to
+ determine if the hostname with this IP address would be
+ allowed access to the <command>smbd</command> server. If
+ this parameter is supplied, the hostIP parameter must also
+ be supplied.</para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>hostIP</term>
+ <listitem><para>This is the IP address of the host specified
+ in the previous parameter. This address must be supplied
+ if the hostname parameter is supplied. </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>FILES</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
+ </citerefentry></term>
+ <listitem><para>This is usually the name of the configuration
+ file used by <citerefentry><refentrytitle>smbd</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry>.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>DIAGNOSTICS</title>
+
+ <para>The program will issue a message saying whether the
+ configuration file loaded OK or not. This message may be preceded by
+ errors and warnings if the file did not load. If the file was
+ loaded OK, the program then dumps all known service details
+ to stdout. </para>
+
+ <para>For certain use cases, SMB protocol requires use of
+ cryptographic algorithms which are known to be weak and already
+ broken. DES and ARCFOUR (RC4) ciphers and the SHA1 and MD5 hash
+ algorithms are considered weak but they are required for backward
+ compatibility. The testparm utility shows whether the Samba tools
+ will fall back to these weak crypto algorithms if it is not possible
+ to use strong cryptography by default.
+ In FIPS mode weak crypto cannot be enabled.</para>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of
+ the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry>
+ <refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
+ </citerefentry>, <citerefentry>
+ <refentrytitle>smbd</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry></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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/traffic_learner.7.xml b/docs-xml/manpages/traffic_learner.7.xml
new file mode 100644
index 0000000..b921035
--- /dev/null
+++ b/docs-xml/manpages/traffic_learner.7.xml
@@ -0,0 +1,199 @@
+<?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="traffic_learner.7">
+
+<refmeta>
+ <refentrytitle>traffic_learner</refentrytitle>
+ <manvolnum>7</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>traffic_learner</refname>
+ <refpurpose>Samba tool to assist with traffic generation.
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>traffic_learner</command>
+ <arg choice="req">-o OUTPUT_FILE ...</arg>
+ <arg choice="opt">-h</arg>
+ <arg choice="opt">--dns-mode {inline|count}</arg>
+ <arg choice="opt">SUMMARY_FILE</arg>
+ <arg choice="opt">SUMMARY_FILE ...</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>This tool assists with generation of Samba traffic.
+ It takes a traffic-summary file (produced by
+ <command>traffic_summary.pl</command>) as input and produces a
+ traffic-model file that can be used by <command>traffic_replay</command>
+ for traffic generation.</para>
+
+ <para>The model file summarizes the types of traffic ('conversations'
+ between a host and a Samba DC) that occur on a network. The model file
+ describes the traffic in a way that allows it to be scaled so that
+ either more (or fewer) packets get sent, and the packets can be sent at
+ a faster (or slower) rate than that seen in the network.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>-h|--help</term>
+ <listitem><para>
+ Print a summary of command line options.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>SUMMARY_FILE</term>
+ <listitem><para>
+ File containing a network traffic-summary. The traffic-summary file
+ should be generated by <command>traffic_summary.pl</command> from a
+ packet capture of actual network traffic.
+ More than one file can be specified, in which case the traffic will
+ be combined into a single traffic-model. If no SUMMARY_FILE is
+ specified, this tool will read the traffic-summary from STDIN, i.e.
+ you can pipe the output from traffic_summary.pl directly to this tool.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-o|--out OUTPUT_FILE</term>
+ <listitem><para>
+ The traffic-model that is produced will be written to this file. The
+ OUTPUT_FILE can then be passed to <command>traffic_replay</command>
+ to generate (and manipulate) Samba network traffic.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--dns-mode [inline|count]</term>
+ <listitem><para>
+ How DNS traffic should be handled by the model.
+ </para></listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>To take a traffic-summary file and produce a traffic-model
+ file, use:</para>
+
+ <para><command>traffic_learner traffic-summary.txt
+ -o traffic-model.txt</command></para>
+
+ <para>To generate a traffic-model from a packet capture, you can
+ pipe the traffic summary to STDIN using:</para>
+
+ <para><command>tshark -r capture.pcapng -T pdml |
+ traffic_summary.pl | traffic_learner -o traffic-model.txt</command></para>
+</refsect1>
+
+<refsect1>
+ <title>OUTPUT FILE FORMAT</title>
+
+ <para>The output model file describes a Markov model estimating the
+ probability of a packet occurring given the last two packets.</para>
+
+ <para>The count of each continuation after a pair of
+ successive packets is stored, and the ratios of these counts
+ is used to calculate probabilities for the next packet.
+ </para>
+
+ <para>The model is stored in JSON format, and also contains
+ information about the packet rate and DNS traffic rate.</para>
+
+
+<refsect2>
+ <title>Example ngram listing</title>
+ <para>The following listing shows a contrived example of a single ngram entry.
+ </para>
+
+ <programlisting>
+ "ngrams": {
+ "ldap:0\tdcerpc:11": {
+ "lsarpc:77": 1,
+ "ldap:2": 370,
+ "ldap:3": 62,
+ "wait:3": 2,
+ "-": 1
+ }, <lineannotation>[...]</lineannotation>
+ }
+ </programlisting>
+ <para> This counts the observed continuations after an ldap
+ packet with opcode 0 (a bind) followed by a dcerpc packet with
+ opcode 11 (also a bind). The most common next packet is
+ "<code>ldap:2</code>" which is an unbind, so this is the most
+ likely packet type to be selected in replay. At the other
+ extreme, lsarpc opcode 77 (lookup names) has been seen only
+ once, and it is unlikely but possible that this will be
+ selected in replay.
+ </para>
+ <para> There are two special packet types here.
+ "<code>wait:3</code>" refers to a temporary pause in the
+ conversation, where the "<code>3</code>" pseudo-opcode indicates
+ the length of the wait on an exponential scale. That is, a
+ "<code>wait:4</code>" pause would be about 2.7 times longer that
+ a "<code>wait:3</code>", which in turn would be similarly longer
+ than a "<code>wait:2</code>".
+ </para>
+
+ <para>The other special packet is "-", which represents the
+ limit of the conversation. In the example, this indicates that
+ one observed conversation ended after this particular ngram.
+ This special opcode is also used at the beginning of
+ conversations, which are indicated by the ngram "<code>-\t-</code>".
+ </para>
+
+
+</refsect2>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is complete for version &doc.version; of the Samba
+ suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para>
+ <citerefentry>
+ <refentrytitle>traffic_replay</refentrytitle><manvolnum>7</manvolnum>
+ </citerefentry>.
+ </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 traffic_learner tool was developed by the Samba team at
+ Catalyst IT Ltd.</para>
+
+ <para>The traffic_learner manpage was written by Tim Beale.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/traffic_replay.7.xml b/docs-xml/manpages/traffic_replay.7.xml
new file mode 100644
index 0000000..f0d6ac1
--- /dev/null
+++ b/docs-xml/manpages/traffic_replay.7.xml
@@ -0,0 +1,621 @@
+<?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="traffic_replay.7">
+
+<refmeta>
+ <refentrytitle>traffic_replay</refentrytitle>
+ <manvolnum>7</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>traffic_replay</refname>
+ <refpurpose>Samba traffic generation tool.
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>traffic_replay</command>
+ <arg choice="opt">-F, --fixed-password &lt;test-password&gt;</arg>
+ <arg choice="opt">-T, --packets-per-second &lt;number&gt;</arg>
+ <arg choice="opt">-S, --scale-traffic &lt;scale by factor&gt;</arg>
+ <arg choice="opt">-r, --replay-rate &lt;scale by factor&gt;</arg>
+ <arg choice="opt">-D, --duration &lt;seconds&gt;</arg>
+ <arg choice="opt">--traffic-summary &lt;output file&gt;</arg>
+ <arg choice="opt">-I, --instance-id &lt;id&gt;</arg>
+ <arg choice="opt">-K, --prefer-kerberos</arg>
+ <arg choice="opt">-B, --badpassword-frequency &lt;frequency&gt;</arg>
+ <arg choice="opt">--dns-rate &lt;rate&gt;</arg>
+ <arg choice="opt">-t, --timing-data &lt;file&gt;</arg>
+ <arg choice="opt">--random-seed &lt;seed&gt;</arg>
+ <arg choice="opt">-U, --username user</arg>
+ <arg choice="opt">--password &lt;password&gt;</arg>
+ <arg choice="opt">-W --workgroup &lt;workgroup&gt;</arg>
+ <arg choice="opt">--realm &lt;realm&gt;</arg>
+ <arg choice="opt">-s, --config-file &lt;file&gt;</arg>
+ <arg choice="opt">-k, --kerberos &lt;kerberos&gt;</arg>
+ <arg choice="opt">--ipaddress &lt;address&gt;</arg>
+ <arg choice="opt">-P, --machine-pass</arg>
+ <arg choice="opt">--option &lt;option&gt;</arg>
+ <arg choice="opt">-d, --debuglevel &lt;debug level&gt;</arg>
+ <arg choice="opt">--conversation-persistence &lt;0-1&gt;</arg>
+ <arg choice="opt">--latency-timeout &lt;seconds&gt;</arg>
+ <arg choice="opt">--stop-on-any-error</arg>
+ <arg choice="req">summary-file</arg>
+ <arg choice="req">dns-hostname</arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis>
+ <command>traffic_replay</command>
+ <arg choice="opt">-G, --generate-users-only</arg>
+ <arg choice="opt">-F, --fixed-password &lt;test-password&gt;</arg>
+ <arg choice="opt">-n, --number-of-users &lt;total users&gt;</arg>
+ <arg choice="opt">--number-of-groups &lt;total groups&gt;</arg>
+ <arg choice="opt">--average-groups-per-user &lt;average number&gt;</arg>
+ <arg choice="opt">--group-memberships &lt;total memberships&gt;</arg>
+ <arg choice="opt">--max-members &lt;group size&gt;</arg>
+ <arg choice="req">dns-hostname</arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis>
+ <command>traffic_replay</command>
+ <arg choice="req">-c|--clean-up</arg>
+ <arg choice="req">dns-hostname</arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis>
+ <command>traffic_replay</command>
+ <arg choice="opt">-h, --help</arg>
+ <arg choice="opt">-V, --version</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>This tool generates traffic in order to measure the performance
+ of a Samba DC, and to test how well Samba will scale as a network
+ increases in size. It can simulate multiple different hosts making
+ multiple different types of requests to a DC.</para>
+
+ <para>This tool is intended to run against a dedicated test DC (rather
+ than a live DC that is handling real network traffic).</para>
+
+ <para>Note that a side-effect of running this tool is that user
+ accounts will be created on the DC, in order to test various Samba
+ operations. As creating accounts can be very time-consuming, these
+ users will remain on the DC by default. To remove these accounts, use
+ the --clean-up option.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>-h|--help</term>
+ <listitem><para>
+ Print a summary of command line options.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>summary-file</term>
+ <listitem><para>
+ File containing the network traffic to replay. This should be a
+ traffic-model (generated by <command>traffic_learner</command>).
+ Based on this file, this tool will generate 'conversations' which
+ represent Samba activity between a network host and the DC.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>dns-hostname</term>
+ <listitem><para>
+ The full DNS hostname of the DC that's being tested. The Samba activity
+ in the summary-file will be replicated and directed at this DC. It's
+ recommended that you use a dedicated DC for testing and don't try to run
+ this tool against a DC that's processing live network traffic.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-F|--fixed-password &lt;test-password&gt;</term>
+ <listitem><para>
+ Test users are created when this tool is run, so that actual Samba
+ activity, such as authorizing users, can be mimicked. This option
+ specifies the password that will be used for any test users that are
+ created.</para>
+
+ <para>Note that any users created by this tool will remain on the DC
+ until you run the --clean-up option. Therefore, the fixed-password
+ option needs to be the same each time the tool is run, otherwise the
+ test users won't authenticate correctly.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>random-seed</term>
+ <listitem><para>
+ A number to seed the random number generator with. When traffic is
+ generated from a model-file, use this option to keep the traffic
+ consistent across multiple test runs. This allows you to compare the
+ performance of Samba between different releases.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Traffic Model Options</term>
+ <listitem><para>
+ When the summary-file is a traffic-model (produced by
+ <command>traffic_learner</command>), use these options to alter the
+ traffic that gets generated.</para>
+ <variablelist>
+ <varlistentry>
+ <term>-D|--duration &lt;seconds&gt;</term>
+ <listitem><para>
+ Specifies the approximate duration in seconds to generate
+ traffic for. The default is 60 seconds.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-T|--packets-per-second &lt;number&gt;</term>
+ <listitem><para>
+ Generate this many packets per second, regardless of
+ the traffic rate of the sample on which the model
+ was based. This cannot be used with <option>-S</option>.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-S|--scale-traffic &lt;factor&gt;</term>
+ <listitem><para>
+ Increases the number of conversations by this factor,
+ relative to the original traffic sample on which the
+ model was based. This option won't affect the rate at
+ which packets get sent (which is still based on the
+ traffic model), but it will mean more conversations
+ get replayed. It cannot be combined with
+ <option>-T</option>, which sets the traffic rate in a
+ different way.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-r|--replay-rate &lt;factor&gt;</term>
+ <listitem><para> Replays the traffic faster by this
+ factor. This option won't affect the number of packets
+ sent, but it will squeeze them into fewer
+ conversations, which may reduce resource usage.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--traffic-summary &lt;output-file&gt;</term>
+ <listitem><para>
+ Instead of replaying a traffic-model, this option generates a
+ traffic-summary file based on what traffic would be sent. Using
+ a traffic-model allows you to scale the packet rate and number
+ of packets sent. However, using a traffic-model introduces
+ some randomness into the traffic generation. So running the
+ same traffic_replay command multiple times using a model file
+ may result in some differences in the actual traffic sent.
+ However, running the same traffic_replay command multiple times
+ with a traffic-summary file will always result in the same
+ traffic being sent. </para>
+ <para>
+ For taking performance measurements over several test runs,
+ it's recommended to use this option and replay the traffic from
+ a traffic-summary file, or to use the --random-seed option.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--stop-on-any-error</term>
+ <listitem><para> Any client error causes the whole run to stop.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--conversation-persistence &lt;0-1&gt;</term>
+ <listitem><para> Conversation termination (as decided
+ by the model) is re-interpreted as a long pause with
+ this probability. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--latency-timeout &lt;seconds&gt;</term>
+ <listitem><para> Wait this long at the end of the run
+ for outstanding reply packets. The number of
+ conversations that have not finished at the end of the
+ timeout is a failure metric. </para></listitem>
+ </varlistentry>
+
+ </variablelist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--generate-users-only</term>
+ <listitem><para>Add extra user/groups on the DC to increase the DB
+ size. By default, this tool automatically creates test users that map
+ to the traffic conversations being generated. This option allows extra
+ users to be created on top of this. Note that these extra users may
+ not actually used for traffic generation - the traffic generation is
+ still based on the number of conversations from the model/summary file.
+ </para>
+
+ <para>
+ Generating a large number of users can take a long time, so it this
+ option allows this to be done only once.</para>
+
+ <para>Note that the users created will remain on the DC until the
+ tool is run with the --clean-up option. This means that it is best to
+ only assign group memberships once, i.e. run --clean-up before
+ assigning a different allocation of group memberships.</para>
+ <itemizedlist>
+
+ <varlistentry>
+ <term>-n|--number-of-users &lt;total-users&gt;</term>
+ <listitem><para>
+ Specifies the total number of test users to create (excluding
+ any machine accounts required for the traffic). Note that these
+ extra users simply populate the DC's DB - the actual user
+ traffic generated is still based on the summary-file.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--number-of-groups &lt;total-groups&gt;</term>
+ <listitem><para>
+ Creates the specified number of groups, for assigning the test
+ users to. Note that users are not automatically assigned to
+ groups - use either --average-groups-per-user or
+ --group-memberships to do this.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--average-groups-per-user &lt;average-groups&gt;</term>
+ <listitem><para>
+ Randomly assigns the test users to the test groups created.
+ The group memberships are distributed so that the overall
+ average groups that a user is member of matches this number.
+ Some users will belong to more groups and some users will
+ belong to fewer groups. This option is incompatible with
+ the --group-membership option.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--group-memberships &lt;total-memberships&gt;</term>
+ <listitem><para>
+ Randomly assigns the test users to the test groups created.
+ The group memberships are distributed so that the total
+ groups that a user is member of, across all users, matches
+ this number. For example, with 100 users and 10 groups,
+ --group-memberships=300 would assign a user to 3 groups
+ on average. Some users will belong to more groups and some
+ users will belong to fewer groups, but the total of all
+ member linked attributes would be 300. This option is
+ incompatible with the --average-groups-per-user option.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>--max-members &lt;group size&gt;</term>
+ <listitem><para> Limit the largest group to this size,
+ even if the other group options would have it otherwise.
+ </para></listitem>
+ </varlistentry>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--clean-up</term>
+ <listitem><para>
+ Cleans up any users and groups that were created by previously running
+ this tool. It is recommended you always clean up after running the tool.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-I|--instance-id &lt;id&gt;</term>
+ <listitem><para>
+ Use this option to run multiple instances of the tool on the same DC at
+ the same time. This adds a prefix to the test users generated to keep
+ them separate on the DC.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-K|--prefer-kerberos</term>
+ <listitem><para>
+ Use Kerberos to authenticate the test users.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-B|--badpassword-frequency &lt;frequency&gt;</term>
+ <listitem><para>
+ Use this option to simulate users trying to authenticate with an
+ incorrect password.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--dns-rate &lt;rate&gt;</term>
+ <listitem><para>
+ Increase the rate at which DNS packets get sent.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-t|--timing-data &lt;file&gt;</term>
+ <listitem><para>
+ This writes extra timing data to the file specified. This is mostly
+ used for reporting options, such as generating graphs.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Samba Common Options</term>
+ <listitem>
+ <itemizedlist>
+ &cmdline.common.debug.client;
+ &cmdline.common.config.client;
+ &cmdline.common.option;
+ <varlistentry>
+ <term>--realm=REALM</term>
+ <listitem><para>
+ Set the realm name
+ </para></listitem>
+ </varlistentry>
+ &cmdline.version;
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Credential Options</term>
+ <listitem>
+ <itemizedlist>
+ <varlistentry>
+ <term>--simple-bind-dn=DN</term>
+ <listitem><para>
+ DN to use for a simple bind
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--password=PASSWORD</term>
+ <listitem><para>
+ Password
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-U USERNAME|--username=USERNAME</term>
+ <listitem><para>
+ Username
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-W WORKGROUP|--workgroup=WORKGROUP</term>
+ <listitem><para>
+ Workgroup
+ </para></listitem>
+ </varlistentry>
+
+ &cmdline.common.credentials.usekerberos;
+
+ <varlistentry>
+ <term>--ipaddress=IPADDRESS</term>
+ <listitem><para>
+ IP address of the server
+ </para></listitem>
+ </varlistentry>
+
+ &cmdline.common.credentials.machinepass;
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+<title>OPERATIONS</title>
+
+<refsect2>
+ <title>Generating a traffic-summary file</title>
+ <para>To use this tool, you need either a traffic-summary file or a
+ traffic-model file. To generate either of these files, you will need a
+ packet capture of actual Samba activity on your network.</para>
+
+ <para>Use Wireshark to take a packet capture on your network of the
+ traffic you want to generate. For example, if you want to simulate lots
+ of users logging on, then take a capture at 8:30am when users are
+ logging in.</para>
+
+ <para>Next, you need to convert your packet capture into a traffic
+ summary file, using <command>traffic_summary.pl</command>. Basically
+ this removes any sensitive information from the capture and summarizes
+ what type of packet was sent and when.</para>
+
+ <para>Refer to the <command>traffic_summary.pl --help</command> help for more
+ details, but the basic command will look something like:</para>
+
+ <para><command>tshark -r capture.pcapng -T pdml |
+ traffic_summary.pl &gt; traffic-summary.txt</command></para>
+</refsect2>
+
+<refsect2>
+ <title>Replaying a traffic-summary file</title>
+ <para>Once you have a traffic-summary file, you can use it to generate
+ traffic. The traffic_replay tool gets passed the traffic-summary file,
+ along with the full DNS hostname of the DC being tested. You also need
+ to provide some user credentials, and possibly the Samba realm and
+ workgroup (although the realm and workgroup may be determined
+ automatically, for example from the /etc/smb.conf file, if one is
+ present). E.g.</para>
+
+ <para><command>traffic_replay traffic-summary.txt
+ my-dc.samdom.example.com -UAdmin%password -W samdom
+ --realm=samdom.example.com --fixed-password=blahblah123!</command>
+ </para>
+
+ <para>This simply regenerates Samba activity seen in the traffic
+ summary. The traffic is grouped into 'conversations' between a host and
+ the DC. A user and machine account is created on the DC for each
+ conversation, in order to allow logon and other operations to succeed.
+ The script generates the same types of packets as those seen in the
+ summary.</para>
+
+ <para>Creating users can be quite a time-consuming process, especially
+ if a lot of conversations are being generated. To save time, the test
+ users remain on the DC by default. You will need to run the --clean-up
+ option to remove them, once you have finished generating traffic.
+ Because the same test users are used across multiple runs of the tool,
+ a consistent password for these users needs to be used - this is
+ specified by the --fixed-password option.
+ </para>
+
+ <para>The benefit of this tool over simply using tcprelay is that the
+ traffic generated is independent of any specific network. No setup is
+ needed beforehand on the test DC. The traffic no longer contains
+ sensitive details, so the traffic summary could be potentially shared
+ with other Samba developers.</para>
+
+ <para>However, replaying a traffic-summary directly is somewhat limited
+ in what you can actually do. A more flexible approach is to generate
+ the traffic using a model file.</para>
+</refsect2>
+
+<refsect2>
+ <title>Generating a traffic-model file</title>
+ <para>To create a traffic-model file, simply pass the traffic-summary
+ file to the <command>traffic_learner</command> script. E.g.</para>
+
+ <para><command>traffic_learner traffic-summary.txt
+ -o traffic-model.txt</command></para>
+
+ <para>This generates a model of the Samba activity in your network.
+ This model-file can now be used to generate traffic.</para>
+</refsect2>
+
+<refsect2>
+ <title>Replaying the traffic-model file</title>
+ <para>Packet generation using a traffic-model file uses the same
+ command as a traffic-summary file, e.g.</para>
+
+ <para><command>traffic_replay traffic-model.txt
+ my-dc.samdom.example.com -UAdmin%password</command>
+ </para>
+
+ <para>By default, this will generate 60 seconds worth of traffic based
+ on the model. You can specify longer using the --duration parameter.
+ </para>
+
+ <para>The traffic generated is an approximation of what was seen in
+ the network capture. The traffic generation involves some randomness,
+ so running the same command multiple times may result in slightly
+ different traffic being generated (although you can avoid this, by
+ specifying the --random-seed option).</para>
+
+ <para>As well as changing how long the model runs for, you can also
+ change how many conversations get generated and how fast the traffic
+ gets replayed. To roughly double the number of conversations that get
+ replayed, use --scale-traffic=2 or to approximately halve the number
+ use --scale-traffic=0.5. To approximately double how quickly the
+ conversations get replayed, use --replay-rate=2, or to halve this use
+ --replay-rate=0.5</para>
+
+ <para>For example, to generate approximately 10 times the amount of
+ traffic seen over a two-minute period (based on the network capture),
+ use:</para>
+
+ <para><command>traffic_replay traffic-model.txt
+ my-dc.samdom.example.com -UAdmin%password --fixed-password=blahblah123!
+ --scale-traffic=10 --duration=120</command></para>
+</refsect2>
+
+<refsect2>
+ <title>Scaling the number of users</title>
+ <para>The performance of a Samba DC running a small subset of test
+ users will be different to a fully-populated Samba DC running in a
+ network. As the number of users increases, the size of the DB
+ increases, and a very large DB will perform worse than a smaller DB.
+ </para>
+
+ <para>To increase the size of the Samba DB, this tool can also create
+ extra users and groups. These extra users are basically 'filler' for
+ the DB. They won't actually be used to generate traffic, but they may
+ slow down authentication of the test users.</para>
+
+ <para>For example, to populate the DB with an extra 5000 users (note
+ this will take a while), use the command:</para>
+
+ <para><command>traffic_replay my-dc.samdom.example.com
+ -UAdmin%password --generate-users-only --fixed-password=blahblah123!
+ --number-of-users=5000</command></para>
+
+ <para>You can also create groups and assign users to groups. The users
+ can be randomly assigned to groups - this includes any extra users
+ created as well as the users that map to conversations. Use either
+ --average-groups-per-user or --group-memberships to specify how many
+ group memberships should be assigned to the test users.</para>
+
+ <para>For example, to assign the users in the replayed conversations
+ into 10 groups on average, use a command like:</para>
+
+ <para><command>traffic_replay traffic-model.txt my-dc.samdom.example.com
+ -UAdmin%password --fixed-password=blahblah123!
+ --generate-users-only --number-of-groups=25 --average-groups-per-user=10
+ </command></para>
+
+ <para>The users created by the test will have names like STGU-0-xyz.
+ The groups generated have names like STGG-0-xyz.</para>
+</refsect2>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is complete for version &doc.version; of the Samba
+ suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para>
+ <citerefentry>
+ <refentrytitle>traffic_learner</refentrytitle><manvolnum>7</manvolnum>
+ </citerefentry>.
+ </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 traffic_replay tool was developed by the Samba team at
+ Catalyst IT Ltd.</para>
+
+ <para>The traffic_replay manpage was written by Tim Beale.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_acl_tdb.8.xml b/docs-xml/manpages/vfs_acl_tdb.8.xml
new file mode 100644
index 0000000..5f3c6ba
--- /dev/null
+++ b/docs-xml/manpages/vfs_acl_tdb.8.xml
@@ -0,0 +1,132 @@
+<?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="vfs_acl_tdb.8">
+
+<refmeta>
+ <refentrytitle>vfs_acl_tdb</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>vfs_acl_tdb</refname>
+ <refpurpose>Save NTFS-ACLs in a tdb file</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = acl_tdb</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_acl_tdb</command> VFS module stores
+ NTFS Access Control Lists (ACLs) in a tdb file.
+ This enables the full mapping of Windows ACLs on Samba
+ servers.
+ </para>
+
+ <para>
+ The ACL settings are stored in
+ <filename>$LOCKDIR/file_ntacls.tdb</filename>.
+ </para>
+
+ <para>
+ This module forces the following parameters:
+ <itemizedlist>
+ <listitem><para>inherit acls = true</para></listitem>
+ <listitem><para>dos filemode = true</para></listitem>
+ <listitem><para>force unknown acl user = true</para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para>This module is stackable.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <!-- please keep in sync with the other acl vfs modules that provide the same options -->
+ <varlistentry>
+ <term>acl_tdb:ignore system acls = [yes|no]</term>
+ <listitem>
+ <para>
+ When set to <emphasis>yes</emphasis>, a best effort mapping
+ from/to the POSIX ACL layer will <emphasis>not</emphasis> be
+ done by this module. The default is <emphasis>no</emphasis>,
+ which means that Samba keeps setting and evaluating both the
+ system ACLs and the NT ACLs. This is better if you need your
+ system ACLs be set for local or NFS file access, too. If you only
+ access the data via Samba you might set this to yes to achieve
+ better NT ACL compatibility.
+ </para>
+
+ <para>
+ If <emphasis>acl_tdb:ignore system acls</emphasis>
+ is set to <emphasis>yes</emphasis>, the following
+ additional settings will be enforced:
+ <itemizedlist>
+ <listitem><para>create mask = 0666</para></listitem>
+ <listitem><para>directory mask = 0777</para></listitem>
+ <listitem><para>map archive = no</para></listitem>
+ <listitem><para>map hidden = no</para></listitem>
+ <listitem><para>map readonly = no</para></listitem>
+ <listitem><para>map system = no</para></listitem>
+ <listitem><para>store dos attributes = yes</para></listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>acl_tdb:default acl style = [posix|windows|everyone]</term>
+ <listitem>
+ <para>
+ This parameter determines the type of ACL that is synthesized in
+ case a file or directory lacks an
+ <emphasis>security.NTACL</emphasis> xattr.
+ </para>
+ <para>
+ When set to <emphasis>posix</emphasis>, an ACL will be
+ synthesized based on the POSIX mode permissions for user, group
+ and others, with an additional ACE for <emphasis>NT
+ Authority\SYSTEM</emphasis> will full rights.
+ </para>
+ <para>
+ When set to <emphasis>windows</emphasis>, an ACL is synthesized
+ the same way Windows does it, only including permissions for the
+ owner and <emphasis>NT Authority\SYSTEM</emphasis>.
+ </para>
+ <para>
+ When set to <emphasis>everyone</emphasis>, an ACL is synthesized
+ giving full permissions to everyone (S-1-1-0).
+ </para>
+ <para>
+ The default for this option is <emphasis>posix</emphasis>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_acl_xattr.8.xml b/docs-xml/manpages/vfs_acl_xattr.8.xml
new file mode 100644
index 0000000..bb72f3f
--- /dev/null
+++ b/docs-xml/manpages/vfs_acl_xattr.8.xml
@@ -0,0 +1,170 @@
+<?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="vfs_acl_xattr.8">
+
+<refmeta>
+ <refentrytitle>vfs_acl_xattr</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>vfs_acl_xattr</refname>
+ <refpurpose>Save NTFS-ACLs in Extended Attributes (EAs)</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = acl_xattr</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>This module is made for systems which do not support
+ standardized NFS4 ACLs but only a deprecated POSIX ACL
+ draft implementation. This is usually the case on Linux systems.
+ Systems that do support just use NFSv4 ACLs directly instead
+ of this module. Such support is usually provided by the filesystem
+ VFS module specific to the underlying filesystem that supports
+ NFS4 ACLs
+ </para>
+
+ <para>The <command>vfs_acl_xattr</command> VFS module stores
+ NTFS Access Control Lists (ACLs) in Extended Attributes (EAs).
+ This enables the full mapping of Windows ACLs on Samba
+ servers even if the ACL implementation is not capable of
+ doing so.
+ </para>
+
+ <para>The NT ACLs are stored in the
+ <parameter>security.NTACL</parameter> extended attribute of files and
+ directories in a form containing the Windows SID representing the users
+ and groups in the ACL.
+ This is different from the uid and gids stored in local filesystem ACLs
+ and the mapping from users and groups to Windows SIDs must be
+ consistent in order to maintain the meaning of the stored NT ACL
+ That extended attribute is <emphasis>not</emphasis> listed by the Linux
+ command <command>getfattr -d <filename>filename</filename></command>.
+ To show the current value, the name of the EA must be specified
+ (e.g. <command>getfattr -n security.NTACL <filename>filename</filename>
+ </command>).
+ </para>
+
+ <para>
+ This module forces the following parameters:
+ <itemizedlist>
+ <listitem><para>inherit acls = true</para></listitem>
+ <listitem><para>dos filemode = true</para></listitem>
+ <listitem><para>force unknown acl user = true</para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para>This module is stackable.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <!-- please keep in sync with the other acl vfs modules that provide the same options -->
+ <varlistentry>
+ <term>acl_xattr:security_acl_name = NAME</term>
+ <listitem>
+ <para>
+ This option allows to redefine the default location for the
+ NTACL extended attribute (xattr). If not set, NTACL xattrs are
+ written to security.NTACL which is a protected location, which
+ means the content of the security.NTACL attribute is not
+ accessible from normal users outside of Samba. When this option
+ is set to use a user-defined value, e.g. user.NTACL then any
+ user can potentially access and overwrite this information. The
+ module prevents access to this xattr over SMB, but the xattr may
+ still be accessed by other means (eg local access, SSH, NFS). This option must only be used
+ when this consequence is clearly understood and when specific precautions
+ are taken to avoid compromising the ACL content.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>acl_xattr:ignore system acls = [yes|no]</term>
+ <listitem>
+ <para>
+ When set to <emphasis>yes</emphasis>, a best effort mapping
+ from/to the POSIX draft ACL layer will <emphasis>not</emphasis> be
+ done by this module. The default is <emphasis>no</emphasis>,
+ which means that Samba keeps setting and evaluating both the
+ system ACLs and the NT ACLs. This is better if you need your
+ system ACLs be set for local or NFS file access, too. If you only
+ access the data via Samba you might set this to yes to achieve
+ better NT ACL compatibility.
+ </para>
+
+ <para>
+ If <emphasis>acl_xattr:ignore system acls</emphasis>
+ is set to <emphasis>yes</emphasis>, the following
+ additional settings will be enforced:
+ <itemizedlist>
+ <listitem><para>create mask = 0666</para></listitem>
+ <listitem><para>directory mask = 0777</para></listitem>
+ <listitem><para>map archive = no</para></listitem>
+ <listitem><para>map hidden = no</para></listitem>
+ <listitem><para>map readonly = no</para></listitem>
+ <listitem><para>map system = no</para></listitem>
+ <listitem><para>store dos attributes = yes</para></listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>acl_xattr:default acl style = [posix|windows|everyone]</term>
+ <listitem>
+ <para>
+ This parameter determines the type of ACL that is synthesized in
+ case a file or directory lacks an
+ <emphasis>security.NTACL</emphasis> xattr.
+ </para>
+ <para>
+ When set to <emphasis>posix</emphasis>, an ACL will be
+ synthesized based on the POSIX mode permissions for user, group
+ and others, with an additional ACE for <emphasis>NT
+ Authority\SYSTEM</emphasis> will full rights.
+ </para>
+ <para>
+ When set to <emphasis>windows</emphasis>, an ACL is synthesized
+ the same way Windows does it, only including permissions for the
+ owner and <emphasis>NT Authority\SYSTEM</emphasis>.
+ </para>
+ <para>
+ When set to <emphasis>everyone</emphasis>, an ACL is synthesized
+ giving full permissions to everyone (S-1-1-0).
+ </para>
+ <para>
+ The default for this option is <emphasis>posix</emphasis>.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+</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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_aio_fork.8.xml b/docs-xml/manpages/vfs_aio_fork.8.xml
new file mode 100644
index 0000000..d55af32
--- /dev/null
+++ b/docs-xml/manpages/vfs_aio_fork.8.xml
@@ -0,0 +1,86 @@
+<?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="vfs_aio_fork.8">
+
+<refmeta>
+ <refentrytitle>vfs_aio_fork</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>vfs_aio_fork</refname>
+ <refpurpose>implement async I/O in Samba vfs</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = aio_fork</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>aio_fork</command> VFS module enables async
+ I/O for Samba on platforms where the system level Posix AIO
+ interface is insufficient. Posix AIO can suffer from severe
+ limitations. For example, on some Linux versions the
+ real-time signals that it uses are broken under heavy load.
+ Other systems only allow AIO when special kernel modules are
+ loaded or only allow a certain system-wide amount of async
+ requests being scheduled. Systems based on glibc (most Linux
+ systems) only allow a single outstanding request per file
+ descriptor. </para>
+
+ <para>To work around all these limitations, the aio_fork module
+ was written. It uses forked helper processes instead of the
+ internal Posix AIO interface to create asynchronousity for
+ read and write calls. It has no parameters, it will create
+ helper processes when async requests come in as needed. Idle
+ helper processes will be removed every 30 seconds.
+ </para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Straight forward use:</para>
+
+<programlisting>
+ <smbconfsection name="[cooldata]"/>
+ <smbconfoption name="path">/data/ice</smbconfoption>
+ <smbconfoption name="vfs objects">aio_fork</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_aio_pthread.8.xml b/docs-xml/manpages/vfs_aio_pthread.8.xml
new file mode 100644
index 0000000..c6f291b
--- /dev/null
+++ b/docs-xml/manpages/vfs_aio_pthread.8.xml
@@ -0,0 +1,97 @@
+<?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="vfs_aio_pthread.8">
+
+<refmeta>
+ <refentrytitle>vfs_aio_pthread</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>vfs_aio_pthread</refname>
+ <refpurpose>implement async open in Samba vfs using a pthread pool</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = aio_pthread</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>aio_pthread</command> VFS module enables asynchronous
+ opens (for new files) with <smbconfoption name="aio_pthread:aio open">yes</smbconfoption>
+ on platforms which have the pthreads API available,
+ support the openat() syscall and support per thread credentials (modern Linux kernels).
+ </para>
+
+ <para>The module makes use of the global thread pool which uses the
+ <smbconfoption name="aio max threads"/> option.</para>
+
+ <para>This module MUST be listed last in any module stack as
+ the Samba VFS open interface is not thread-safe. This
+ module makes direct openat() system calls and does
+ NOT call the Samba VFS open interfaces.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Straight forward use:</para>
+
+<programlisting>
+ <smbconfsection name="[cooldata]"/>
+ <smbconfoption name="path">/data/ice</smbconfoption>
+ <smbconfoption name="vfs objects">aio_pthread</smbconfoption>
+ <smbconfoption name="aio_pthread:aio open">yes</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>aio_pthread:aio open = BOOL</term>
+ <listitem>
+ <para>Try async opens for creating new files.
+ </para>
+ <para>The default is 'no'.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_audit.8.xml b/docs-xml/manpages/vfs_audit.8.xml
new file mode 100644
index 0000000..3a1576d
--- /dev/null
+++ b/docs-xml/manpages/vfs_audit.8.xml
@@ -0,0 +1,120 @@
+<?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="vfs_audit.8">
+
+<refmeta>
+ <refentrytitle>vfs_audit</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>vfs_audit</refname>
+ <refpurpose>record selected Samba VFS operations in the system log</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = audit</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_audit</command> VFS module records selected
+ client operations to the system log using
+ <citerefentry><refentrytitle>syslog</refentrytitle>
+ <manvolnum>3</manvolnum></citerefentry>.</para>
+
+ <para>The following Samba VFS operations are recorded:</para>
+ <simplelist>
+ <member>connect</member>
+ <member>disconnect</member>
+ <member>opendir</member>
+ <member>mkdir</member>
+ <member>rmdir</member>
+ <member>open</member>
+ <member>close</member>
+ <member>rename</member>
+ <member>unlink</member>
+ <member>chmod</member>
+ <member>fchmod</member>
+ </simplelist>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>audit:facility = FACILITY</term>
+ <listitem>
+ <para>Log messages to the named
+ <citerefentry><refentrytitle>syslog</refentrytitle>
+ <manvolnum>3</manvolnum></citerefentry> facility.
+
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>audit:priority = PRIORITY</term>
+ <listitem>
+ <para>Log messages with the named
+ <citerefentry><refentrytitle>syslog</refentrytitle>
+ <manvolnum>3</manvolnum></citerefentry> priority.
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Log operations on all shares using the LOCAL1 facility
+ and NOTICE priority:</para>
+
+<programlisting>
+ <smbconfsection name="[global]"/>
+ <smbconfoption name="vfs objects">audit</smbconfoption>
+ <smbconfoption name="audit:facility">LOCAL1</smbconfoption>
+ <smbconfoption name="audit:priority">NOTICE</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_btrfs.8.xml b/docs-xml/manpages/vfs_btrfs.8.xml
new file mode 100644
index 0000000..c617a27
--- /dev/null
+++ b/docs-xml/manpages/vfs_btrfs.8.xml
@@ -0,0 +1,137 @@
+<?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="vfs_btrfs.8">
+
+<refmeta>
+ <refentrytitle>vfs_btrfs</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>vfs_btrfs</refname>
+ <refpurpose>
+ Utilize features provided by the Btrfs filesystem
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = btrfs</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> suite.</para>
+
+ <para>
+ The <command>vfs_btrfs</command> VFS module exposes Btrfs
+ specific features for use by Samba.
+ </para>
+
+ <para>
+ Btrfs allows for multiple files to share the same on-disk data
+ through the use cloned ranges. When an SMB client issues a
+ request to copy duplicate data (via FSCTL_SRV_COPYCHUNK), this
+ module maps the request to a Btrfs clone range IOCTL, instead
+ of performing reads and writes required by a traditional copy.
+ Doing so saves storage capacity and greatly reduces disk IO.
+ </para>
+
+ <para>
+ This module also exposes Btrfs per-file compression support to
+ SMB clients via the get/set compression fsctls.
+ </para>
+
+ <para>
+ Btrfs snapshots can be manipulated by Samba's FSRVP server.
+ Snapshot manipulation using this module is currently considered
+ experimental, and is therefore disabled by default. The
+ <command>vfs_snapper</command> module is instead recommended for
+ this purpose.
+ </para>
+
+ <para>
+ This module is stackable.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>btrfs: manipulate snapshots = [yes|no]</term>
+ <listitem>
+ <para>
+ When set to <emphasis>yes</emphasis>, experimental support for
+ the creation and deletion of snapshots via corresponding Btrfs
+ IOCTLs will be enabled. The default is <emphasis>no</emphasis>,
+ which means that such requests are passed through to any
+ underlying VFS module.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>CONFIGURATION</title>
+
+ <para>
+ <command>vfs_btrfs</command> requires that the underlying share
+ path is a Btrfs subvolume.
+ </para>
+ <programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="vfs objects">btrfs</smbconfoption>
+ <smbconfoption name="btrfs: manipulate snapshots">no</smbconfoption>
+ </programlisting>
+ <para>
+ To use the experimental snapshot manipulation functionality
+ provided by this module, it must be explicitly enabled, and
+ Samba's FSRVP server must be running.
+ </para>
+ <para>
+ The <command>vfs_shadow_copy</command> module can be used to
+ expose snapshots created by <command>vfs_btrfs</command> to
+ Windows Explorer as file / directory "previous versions".
+ </para>
+
+ <programlisting>
+ <smbconfsection name="[global]"/>
+ <smbconfoption name="registry shares">yes</smbconfoption>
+ <smbconfoption name="include">registry</smbconfoption>
+
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="vfs objects">btrfs shadow_copy</smbconfoption>
+ <smbconfoption name="btrfs: manipulate snapshots">yes</smbconfoption>
+ </programlisting>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>
+ This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_cacheprime.8.xml b/docs-xml/manpages/vfs_cacheprime.8.xml
new file mode 100644
index 0000000..51b2446
--- /dev/null
+++ b/docs-xml/manpages/vfs_cacheprime.8.xml
@@ -0,0 +1,110 @@
+<?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="vfs_cacheprime.8">
+
+<refmeta>
+ <refentrytitle>vfs_cacheprime</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>vfs_cacheprime</refname>
+ <refpurpose>prime the kernel file data cache</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = cacheprime</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_cacheprime</command> VFS module reads chunks
+ of file data near the range requested by clients in order to
+ make sure the data is present in the kernel file data cache at
+ the time when it is actually requested by clients. </para>
+
+ <para>The size of the disk read operations performed
+ by <command>vfs_cacheprime</command> is determined by the
+ cacheprime:rsize option. All disk read operations are aligned
+ on boundaries that are a multiple of this size. Each range of
+ the file data is primed at most once during the time the client
+ has the file open. </para>
+
+ <para>This module is stackable.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>cacheprime:rsize = BYTES</term>
+ <listitem>
+ <para>The number of bytes with which to prime
+ the kernel data cache.</para>
+ <para>The following suffixes may be applied to BYTES:</para>
+ <itemizedlist>
+ <listitem><para><command>K</command> - BYTES is a number of kilobytes</para></listitem>
+ <listitem><para><command>M</command> - BYTES is a number of megabytes</para></listitem>
+ <listitem><para><command>G</command> - BYTES is a number of gigabytes</para></listitem>
+ </itemizedlist>
+
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>For a hypothetical disk array, it is necessary to ensure
+ that all read operations are of size 1 megabyte (1048576 bytes),
+ and aligned on 1 megabyte boundaries:
+ </para>
+<programlisting>
+ <smbconfsection name="[hypothetical]"/>
+ <smbconfoption name="vfs objects">cacheprime</smbconfoption>
+ <smbconfoption name="cacheprime:rsize">1M</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>CAVEATS</title>
+ <para><command>cacheprime</command> is not a substitute for
+ a general-purpose readahead mechanism. It is intended for use
+ only in very specific environments where disk operations must
+ be aligned and sized to known values (as much as that is possible).
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_cap.8.xml b/docs-xml/manpages/vfs_cap.8.xml
new file mode 100644
index 0000000..46dd900
--- /dev/null
+++ b/docs-xml/manpages/vfs_cap.8.xml
@@ -0,0 +1,78 @@
+<?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="vfs_cap.8">
+
+<refmeta>
+ <refentrytitle>vfs_cap</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>vfs_cap</refname>
+ <refpurpose>CAP encode filenames</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = cap</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>CAP (Columbia Appletalk Protocol) encoding is a
+ technique for representing non-ASCII filenames in ASCII. The
+ <command>vfs_cap</command> VFS module translates filenames to and
+ from CAP format, allowing users to name files in their native
+ encoding. </para>
+
+ <para>CAP encoding is most commonly
+ used in Japanese language environments. </para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>On a system using GNU libiconv, use CAP encoding to support
+ users in the Shift_JIS locale:</para>
+
+<programlisting>
+ <smbconfsection name="[global]"/>
+ <smbconfoption name="dos charset">CP932</smbconfoption>
+ <smbconfoption name="dos charset">CP932</smbconfoption>
+ <smbconfoption name="vfs objects">cap</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_catia.8.xml b/docs-xml/manpages/vfs_catia.8.xml
new file mode 100644
index 0000000..15ec7d5
--- /dev/null
+++ b/docs-xml/manpages/vfs_catia.8.xml
@@ -0,0 +1,142 @@
+<?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="vfs_catia.8">
+
+<refmeta>
+ <refentrytitle>vfs_catia</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>vfs_catia</refname>
+ <refpurpose>translate illegal characters in Catia filenames</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = catia</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The Catia CAD package commonly creates filenames that
+ use characters that are illegal in CIFS filenames. The
+ <command>vfs_catia</command> VFS module implements a character
+ mapping so that these files can be shared with CIFS clients.
+ </para>
+
+ <para>This module is stackable.</para>
+
+ <para>The parameter "catia:mappings" specifies the mapping on a
+ per-character basis, see below.
+ </para>
+</refsect1>
+
+
+
+<refsect1>
+ <title>OPTIONS</title>
+ <variablelist>
+ <varlistentry>
+ <term>catia:mappings = SERVER_HEX_CHAR:CLIENT_HEX_CHAR
+ </term>
+ <listitem>
+ <para>SERVER_HEX_CHAR specifies a 0x prefixed hexedecimal
+ character code that, when included in a Samba server-side
+ filename, will be mapped to CLIENT_HEX_CHAR for the CIFS
+ client.</para>
+ <para>The same mapping occurs in the opposite direction.
+ Multiple character mappings are separated by a comma.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Map server-side quotation-marks (") to client-side diaeresis
+ (&#x00a8;) on filenames in the [CAD] share:</para>
+
+<programlisting>
+ <smbconfsection name="[CAD]"/>
+ <smbconfoption name="path">/data/cad</smbconfoption>
+ <smbconfoption name="vfs objects">catia</smbconfoption>
+ <smbconfoption name="catia:mappings">0x22:0xa8</smbconfoption>
+</programlisting>
+
+ <para>Perform comprehensive mapping of common Catia filename characters:</para>
+<programlisting>
+ <smbconfsection name="[CAD]"/>
+ <smbconfoption name="path">/data/cad</smbconfoption>
+ <smbconfoption name="vfs objects">catia</smbconfoption>
+ <smbconfoption name="catia:mappings">0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6</smbconfoption>
+</programlisting>
+
+ <para>Server-side filename to be translated (Note that the path delimiter "/" is not used here):
+ </para>
+ <para>a\a:a*a?a"a&lt;a&gt;a|a</para>
+
+ <para>Resulting filename, as seen by the client:</para>
+
+ <para>a&#x00ff;a&#x00f7;a&#x00a4;a&#x00bf;a&#x00a8;a&#x00ab;a&#x00bb;a&#x00a6;a
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>CAVEATS</title>
+
+ <para>Character mapping must work in BOTH directions (server -&gt;
+ client and client -&gt; server) to get unique and existing file names!
+ </para>
+
+ <para>A NOT working example:</para>
+
+<programlisting>
+ <smbconfsection name="[CAD]"/>
+ <smbconfoption name="path">/data/cad</smbconfoption>
+ <smbconfoption name="vfs objects">catia</smbconfoption>
+ <smbconfoption name="catia:mappings">0x3a:0x5f</smbconfoption>
+</programlisting>
+
+ <para>Here the colon ":" is mapped to the underscore "_".</para>
+ <para>Assuming a server-side filename "a:should_work", which is
+ translated to "a_should_work" for the client.</para>
+ <para>BUT the reverse mapping from client "a_should_work" to server
+ will result in "a:should:work" - something like "file not found"
+ will be returned.
+ </para>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of Samba versions from 3.5.0 to 4.0.6.
+ </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>New version written by Guenter Kukkukk kukks@samba.org</para>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_ceph.8.xml b/docs-xml/manpages/vfs_ceph.8.xml
new file mode 100644
index 0000000..47b5523
--- /dev/null
+++ b/docs-xml/manpages/vfs_ceph.8.xml
@@ -0,0 +1,167 @@
+<?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="vfs_ceph.8">
+
+<refmeta>
+ <refentrytitle>vfs_ceph</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>vfs_ceph</refname>
+ <refpurpose>
+ Utilize features provided by CephFS
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = ceph</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> suite.</para>
+
+ <para>
+ The <command>vfs_ceph</command> VFS module exposes
+ CephFS specific features for use by Samba.
+ </para>
+
+ <para>
+ Ceph is a distributed network file system designed to provide
+ excellent performance, reliability, and scalability. This is a
+ shared library allowing applications to access a Ceph
+ distributed file system via a POSIX-like interface.
+ </para>
+
+ <para>
+ This module can be combined with other modules, but it
+ should be the last module in the <command>vfs objects</command>
+ list. Modules added to this list to the right of the ceph
+ entry may not have any effect at all.
+ </para>
+
+ <para>
+ <command>vfs_ceph</command> performs mapping between Windows and
+ POSIX Access Control Lists (ACLs). To ensure correct processing
+ and enforcement of POSIX ACLs, the following Ceph configuration
+ parameters are automatically applied:
+ </para>
+ <programlisting>
+ <command>client acl type = posix_acl</command>
+ <command>fuse default permissions = false</command>
+ </programlisting>
+</refsect1>
+
+<refsect1>
+ <title>CONFIGURATION</title>
+
+ <para>
+ <command>vfs_ceph</command> requires that the underlying share
+ path is a Ceph filesystem.
+ </para>
+
+ <programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="vfs objects">ceph</smbconfoption>
+ <smbconfoption name="path">/non-mounted/cephfs/path</smbconfoption>
+ <smbconfoption name="kernel share modes">no</smbconfoption>
+ </programlisting>
+
+ <para>
+ Since <command>vfs_ceph</command> does not require a filesystem
+ mount, the share <command>path</command> is treated differently:
+ it is interpreted as an absolute path within the Ceph filesystem
+ on the attached Ceph cluster.
+ In a ctdb cluster environment where ctdb manages Samba,
+ <command>CTDB_SAMBA_SKIP_SHARE_CHECK=yes</command> must be
+ configured to disable local share path checks, otherwise ctdb
+ will not reach a healthy state.
+ </para>
+
+ <para>
+ Note that currently <command>kernel share modes</command> have
+ to be disabled in a share running with the CephFS vfs module for
+ file serving to work properly.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>ceph:config_file = path</term>
+ <listitem>
+ <para>
+ Allows one to define a ceph configfile to use. Empty by default.
+ </para>
+ <para>
+ Example: ceph:config_file =
+ /etc/ceph/ceph.conf
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ceph:user_id = name</term>
+ <listitem>
+ <para>
+ Allows one to explicitly set the client ID used for the
+ CephFS mount handle. Empty by default (use the libcephfs
+ client default).
+ </para>
+ <para>
+ Example: ceph:user_id = samba
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ceph:filesystem = fs_name</term>
+ <listitem>
+ <para>
+ Allows one to explicitly select the CephFS file system
+ to use when the Ceph cluster supports more than one
+ file system. Empty by default (use the default file system
+ of the Ceph cluster).
+ </para>
+ <para>
+ Example: ceph:filesystem = myfs2
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>
+ This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_ceph_snapshots.8.xml b/docs-xml/manpages/vfs_ceph_snapshots.8.xml
new file mode 100644
index 0000000..872b523
--- /dev/null
+++ b/docs-xml/manpages/vfs_ceph_snapshots.8.xml
@@ -0,0 +1,130 @@
+<?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="vfs_ceph_snapshots.8">
+
+<refmeta>
+ <refentrytitle>vfs_ceph_snapshots</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>vfs_ceph_snapshots</refname>
+ <refpurpose>
+ Expose CephFS snapshots as shadow-copies
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = ceph_snapshots</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> suite.</para>
+
+ <para>
+ The <command>vfs_ceph_snapshots</command> VFS module exposes
+ CephFS snapshots for use by Samba. When enabled, SMB clients
+ such as Windows Explorer's Previous Versions dialog, can
+ enumerate snapshots and access them via "timewarp" tokens.
+ </para>
+
+ <para>
+ This module can be combined with <command>vfs_ceph</command>,
+ but <command>vfs_ceph_snapshots</command> must be listed first
+ in the <command>vfs objects</command> parameter list.
+ </para>
+
+ <para>
+ CephFS support for ceph.snap.btime virtual extended attributes
+ is required for this module to work properly. This support was
+ added via https://tracker.ceph.com/issues/38838.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>CONFIGURATION</title>
+
+ <para>
+ When used atop <command>vfs_ceph</command>,
+ <command>path</command> refers to an absolute path within the
+ Ceph filesystem and should not be mounted locally:
+ </para>
+
+ <programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="vfs objects">ceph_snapshots ceph</smbconfoption>
+ <smbconfoption name="path">/non-mounted/cephfs/path</smbconfoption>
+ <smbconfoption name="kernel share modes">no</smbconfoption>
+ </programlisting>
+
+ <para>
+ <command>vfs_ceph_snapshots</command> can also be used atop a
+ kernel CephFS mounted share path, without
+ <command>vfs_ceph</command>. In this case Samba's default VFS
+ backend <command>vfs_default</command> is used:
+ </para>
+
+ <programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="vfs objects">ceph_snapshots</smbconfoption>
+ <smbconfoption name="path">/mnt/cephfs/</smbconfoption>
+ </programlisting>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>ceph:snapdir = subdirectory</term>
+ <listitem>
+ <para>
+ Allows for the configuration of the special CephFS
+ snapshot subdirectory name. This parameter should only
+ be changed from the ".snap" default if the ceph.conf
+ <command>client snapdir</command> or
+ <command>snapdirname</command> mount option settings
+ are changed from their matching ".snap" defaults.
+ </para>
+ <para>
+ Default:
+ <smbconfoption name="ceph:snapdir">.snap</smbconfoption>
+ </para>
+ <para>
+ Example:
+ <smbconfoption name="ceph:snapdir">.snapshots</smbconfoption>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>
+ This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_commit.8.xml b/docs-xml/manpages/vfs_commit.8.xml
new file mode 100644
index 0000000..36c4f8e
--- /dev/null
+++ b/docs-xml/manpages/vfs_commit.8.xml
@@ -0,0 +1,110 @@
+<?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="vfs_commit.8">
+
+<refmeta>
+ <refentrytitle>vfs_commit</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>vfs_commit</refname>
+ <refpurpose>flush dirty data at specified intervals</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = commit</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_commit</command> VFS module keeps track of
+ the amount of data written to a file and synchronizes it to
+ disk when a specified amount accumulates.
+ </para>
+
+ <para><command>vfs_commit</command> is useful in two
+ circumstances. First, if you have very precious data, the
+ impact of unexpected power loss can be minimized by a small
+ commit:dthresh value. Secondly, write performance can be
+ improved on some systems by flushing file data early and at
+ regular intervals.</para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>commit:dthresh = BYTES</term>
+ <listitem>
+ <para>Synchronize file data each time the specified
+ number of bytes has been written.
+ </para>
+
+ <para>The following suffixes may be applied to BYTES:</para>
+ <itemizedlist>
+ <listitem><para><command>K</command> - BYTES is a number of kilobytes</para></listitem>
+ <listitem><para><command>M</command> - BYTES is a number of megabytes</para></listitem>
+ <listitem><para><command>G</command> - BYTES is a number of gigabytes</para></listitem>
+ </itemizedlist>
+
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Synchronize the file data on the [precious] share after
+ every 512 kilobytes (524288 bytes) of data is written:</para>
+<programlisting>
+ <smbconfsection name="[precious]"/>
+ <smbconfoption name="path">/data/precious</smbconfoption>
+ <smbconfoption name="vfs objects">commit</smbconfoption>
+ <smbconfoption name="commit:dthresh">512K</smbconfoption>
+</programlisting>
+</refsect1>
+
+<refsect1>
+ <title>CAVEATS</title>
+ <para>On some systems, the data synchronization performed by
+ <command>commit</command> may reduce performance.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_crossrename.8.xml b/docs-xml/manpages/vfs_crossrename.8.xml
new file mode 100644
index 0000000..72d67d6
--- /dev/null
+++ b/docs-xml/manpages/vfs_crossrename.8.xml
@@ -0,0 +1,118 @@
+<?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="vfs_crossrename.8">
+
+<refmeta>
+ <refentrytitle>vfs_crossrename</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>vfs_crossrename</refname>
+ <refpurpose>server side rename files across filesystem boundaries</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = crossrename</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_crossrename</command> VFS module allows
+ server side rename operations even if source and target are on
+ different physical devices. A "move" in Explorer is usually a
+ rename operation if it is inside of a single share or device.
+ Usually such a rename operation returns
+ NT_STATUS_NOT_SAME_DEVICE and the client has to move the file by
+ manual copy and delete operations. If the rename by copy is done by the
+ server this can be much more efficient. vfs_crossrename tries to do
+ this server-side cross-device rename operation.
+ </para>
+
+ <para>There are however limitations that this module currently does not
+ solve:</para>
+
+ <variablelist>
+ <varlistentry>
+ <para>The ACLs of files are not preserved,</para>
+ </varlistentry>
+ <varlistentry>
+ <para>meta data in EAs are not preserved,</para>
+ </varlistentry>
+ <varlistentry>
+ <para>renames of whole subdirectories cannot be done recursively,
+ in that case we still return STATUS_NOT_SAME_DEVICE and
+ let the client decide what to do,</para>
+ </varlistentry>
+ <varlistentry>
+ <para>rename operations of huge files can cause hangs on the
+ client because clients expect a rename operation to
+ return fast.</para>
+ </varlistentry>
+ </variablelist>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>crossrename:sizelimit = BYTES</term>
+ <listitem>
+ <para>server-side cross-device-renames are only done
+ for files if the filesize is not larger than the defined
+ size in MiB to prevent timeouts. The default sizelimit is
+ 20 (MiB)
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>To add server-side cross-device renames inside of a share
+ for all files sized up to 50MB:</para>
+
+<programlisting>
+ <smbconfsection name="[testshare]"/>
+ <smbconfoption name="path">/data/mounts</smbconfoption>
+ <smbconfoption name="vfs objects">crossrename</smbconfoption>
+ <smbconfoption name="crossrename:sizelimit">50</smbconfoption>
+</programlisting>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_default_quota.8.xml b/docs-xml/manpages/vfs_default_quota.8.xml
new file mode 100644
index 0000000..7008f4e
--- /dev/null
+++ b/docs-xml/manpages/vfs_default_quota.8.xml
@@ -0,0 +1,136 @@
+<?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="vfs_default_quota.8">
+
+<refmeta>
+ <refentrytitle>vfs_default_quota</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>vfs_default_quota</refname>
+ <refpurpose>store default quota records for Windows clients</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = default_quota</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry>
+ suite.</para>
+
+ <para>Many common quota implementations only store
+ quotas for users and groups, but do not store a default quota. The
+ <command>vfs_default_quota</command> module allows Samba to store
+ default quota values which can be examined using the Windows
+ Explorer interface.
+ </para>
+
+ <para>By default, Samba returns NO_LIMIT the default quota and
+ refuses to update them. <command>vfs_default_quota</command> maps
+ the default quota to the quota record of a user. By default the
+ root user is taken because quota limits for root are typically
+ not enforced.</para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>default_quota:uid = UID</term>
+ <listitem>
+ <para>UID specifies the user ID of the quota record where the
+ default user quota values are stored.
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>default_quota:gid = GID</term>
+ <listitem>
+ <para>GID specifies the group ID of the quota record where the
+ default group quota values are stored.
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>default_quota:uid nolimit = BOOL</term>
+ <listitem>
+ <para>If this parameter is True, then the user whose
+ quota record is storing the default user quota will
+ be reported as having a quota of NO_LIMIT. Otherwise,
+ the stored values will be reported.
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>default_quota:gid nolimit = BOOL</term>
+ <listitem>
+ <para>If this parameter is True, then the group whose
+ quota record is storing the default group quota will
+ be reported as having a quota of NO_LIMIT. Otherwise,
+ the stored values will be reported.
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Store the default quota record in the quota record for
+ the user with ID 65535 and report that user as having no quota
+ limits:</para>
+
+<programlisting>
+ <smbconfsection name="[global]"/>
+ <smbconfoption name="vfs objects">default_quota</smbconfoption>
+ <smbconfoption name="default_quota:uid">65535</smbconfoption>
+ <smbconfoption name="default_quota:uid nolimit">yes</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_dirsort.8.xml b/docs-xml/manpages/vfs_dirsort.8.xml
new file mode 100644
index 0000000..586e388
--- /dev/null
+++ b/docs-xml/manpages/vfs_dirsort.8.xml
@@ -0,0 +1,69 @@
+<?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="vfs_dirsort.8">
+
+<refmeta>
+ <refentrytitle>vfs_dirsort</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>vfs_dirsort</refname>
+ <refpurpose>Sort directory contents</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = dirsort</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_dirsort</command> module sorts directory
+ entries alphabetically before sending them to the client.</para>
+
+ <para>Please be aware that adding this module might have negative
+ performance implications for large directories.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Sort directories for all shares:</para>
+
+<programlisting>
+ <smbconfsection name="[global]"/>
+ <smbconfoption name="vfs objects">dirsort</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_expand_msdfs.8.xml b/docs-xml/manpages/vfs_expand_msdfs.8.xml
new file mode 100644
index 0000000..34f92c6
--- /dev/null
+++ b/docs-xml/manpages/vfs_expand_msdfs.8.xml
@@ -0,0 +1,69 @@
+<?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="vfs_expand_msdfs.8">
+
+<refmeta>
+ <refentrytitle>vfs_expand_msdfs</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>vfs_expand_msdfs</refname>
+ <refpurpose>Expand msdfs links depending on client IP</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = expand_msdfs</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>With this module, the link target is not directly a
+ server and share, but this module expects the target to
+ reference a file, containing a table. The file is referenced
+ by means of the msdfs symlink target according to
+ msdfs:@table-filename@/share. The file table-filename is
+ supposed to contain a list of destinations that are looked at
+ from top to bottom:</para>
+
+ <programlisting>
+192.168.234 local.samba.org
+192.168 remote.samba.org
+ default.samba.org
+ </programlisting>
+
+ <para>With this, clients from network 192.168.234/24 are
+ redirected to host local.samba.org, clients from 192.168/16
+ are redirected to remote.samba.org and all other clients go to
+ default.samba.org.</para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_extd_audit.8.xml b/docs-xml/manpages/vfs_extd_audit.8.xml
new file mode 100644
index 0000000..378fde0
--- /dev/null
+++ b/docs-xml/manpages/vfs_extd_audit.8.xml
@@ -0,0 +1,68 @@
+<?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="vfs_extd_audit.8">
+
+<refmeta>
+ <refentrytitle>vfs_extd_audit</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>vfs_extd_audit</refname>
+ <refpurpose>record selected Samba VFS operations</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = extd_audit</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>extd_audit</command> VFS module records selected
+ client operations to both the
+ <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> log and
+ system log (using
+ <citerefentry><refentrytitle>syslog</refentrytitle>
+ <manvolnum>3</manvolnum></citerefentry>).</para>
+
+ <para>Other than logging to the
+ <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> log,
+ <command>vfs_extd_audit</command> is identical to
+ <citerefentry><refentrytitle>vfs_audit</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>.
+ </para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_fake_perms.8.xml b/docs-xml/manpages/vfs_fake_perms.8.xml
new file mode 100644
index 0000000..57d9a74
--- /dev/null
+++ b/docs-xml/manpages/vfs_fake_perms.8.xml
@@ -0,0 +1,73 @@
+<?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="vfs_fake_perms.8">
+
+<refmeta>
+ <refentrytitle>vfs_fake_perms</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>vfs_fake_perms</refname>
+ <refpurpose>enable read only Roaming Profiles</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = fake_perms</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_fake_perms</command> VFS module was created
+ to allow Roaming Profile files and directories to be set (on
+ the Samba server under UNIX) as read only. This module will,
+ if installed on the Profiles share, report to the client that
+ the Profile files and directories are writeable. This satisfies
+ the client even though the files will never be overwritten as
+ the client logs out or shuts down.
+ </para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+<programlisting>
+ <smbconfsection name="[Profiles]"/>
+ <smbconfoption name="path">/profiles</smbconfoption>
+ <smbconfoption name="vfs objects">fake_perms</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_fileid.8.xml b/docs-xml/manpages/vfs_fileid.8.xml
new file mode 100644
index 0000000..ed4d434
--- /dev/null
+++ b/docs-xml/manpages/vfs_fileid.8.xml
@@ -0,0 +1,282 @@
+<?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="vfs_fileid.8">
+
+<refmeta>
+ <refentrytitle>vfs_fileid</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>vfs_fileid</refname>
+ <refpurpose>Generates file_id structs with unique device id values for
+ cluster setups. It also adds ways to deliberately break lock coherency for specific inodes</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = fileid</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry>
+ suite.</para>
+
+ <para>Samba uses file_id structs to uniquely identify files
+ for locking purpose. By default the file_id contains the device
+ and inode number returned by the <command>stat()</command> system call.
+ As the file_id is a unique identifier of a file, it must be the same
+ on all nodes in a cluster setup. This module overloads the
+ <command>SMB_VFS_FILE_ID_CREATE()</command> operation and
+ generates the device number based on the configured algorithm
+ (see the "fileid:algorithm" option).
+ </para>
+
+ <para>When using the fsname or fsid algorithm a
+ <command>stat()</command> and <command>statfs()</command> call is
+ required for all mounted file systems to generate the file_id. If e.g.
+ an NFS file system is unresponsive such a call might block and the smbd
+ process will become unresponsive. Use the "fileid:fstype deny",
+ "fileid:fstype allow", "fileid:mntdir deny", or "fileid:mntdir allow"
+ options to ignore potentially unresponsive file systems.
+ </para>
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>fileid:algorithm = ALGORITHM</term>
+ <listitem>
+ <para>Available algorithms are <command>fsname</command>,
+ <command>fsid</command>, <command>next_module</command>. The default value is
+ <command>fsname</command>. As well as the following legacy
+ algorithms: <command>fsname_nodirs</command>, <command>fsname_norootdir</command>,
+ <command>fsname_norootdir_ext</command> and <command>hostname</command>.
+ </para>
+
+ <para>The <command>fsname</command> algorithm generates
+ device id by hashing the kernel device name.
+ </para>
+
+ <para>The <command>fsid</command> algorithm generates
+ the device id from the <command>f_fsid</command> returned
+ from the <command>statfs()</command> syscall.
+ </para>
+
+ <para>The <command>next_module</command> algorithm lets the next vfs module
+ in the module chain generate the id. This is mainly used in combination
+ with the various 'nolock' features the fileid module provides.
+ </para>
+
+ <para>The legacy <command>hostname</command> algorithm generates unique
+ devid by hashing the hostname and low level device id.
+ It also implies <command>fileid:nolock_all_inodes=yes</command>.
+ This can be used to deliberately break lock coherency in a cluster
+ and with <command>fileid:nolock_max_slots</command> also between local processes
+ within a node. NOTE: Do not use this without knowing what you are doing!
+ It breaks SMB semantics and it can lead to data corruption!
+ This implies <command>fileid:nolock_all_inodes=yes</command>.
+ </para>
+
+ <para>The legacy <command>fsname_nodirs</command> algorithm is an alias
+ for using the <command>fsname</command> algorithm together with
+ <command>fileid:nolock_all_dirs=yes</command>.
+ NOTE: Do not use this without knowing what you are doing!
+ It breaks SMB semantics!
+ See <command>fileid:nolock_paths</command> for a more fine grained
+ approach.
+ </para>
+
+ <para>The legacy <command>fsname_norootdir</command> algorithm is an alias
+ for using the <command>fsname</command> algorithm together with
+ <command>fileid:nolock_paths= <quote>.</quote> </command>. It means
+ this can be used to deliberately break lock coherency
+ in a cluster for the root directory of a share.
+ </para>
+
+ <para>The legacy <command>fsname_norootdir_ext</command> algorithm is an alias
+ for using the <command>fsname</command> algorithm together with
+ <command>fileid:nolock_paths= <quote>.</quote></command> and
+ <command>fileid:nolock_max_slots = 18446744073709551615</command>.
+ It means this can be used to deliberately break lock coherency
+ completely for the root directory of a share. Even local processes
+ are no longer lock coherent.
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fileid:mapping = ALGORITHM</term>
+ <listitem>
+ <para>This option is the legacy version of the
+ <command>fileid:algorithm</command> option, which was used in earlier
+ versions of fileid mapping feature in custom Samba 3.0 versions.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fileid:fstype deny = LIST</term>
+ <listitem>
+ <para>List of file system types to be ignored for file_id
+ generation.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fileid:fstype allow = LIST</term>
+ <listitem>
+ <para>List of file system types to be allowed for file_id
+ generation. If this option is set, file system types not listed
+ here are ignored.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fileid:mntdir deny = LIST</term>
+ <listitem>
+ <para>List of file system mount points to be ignored for
+ file_id generation.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fileid:mntdir allow = LIST</term>
+ <listitem>
+ <para>List of file system mount points to be allowed for file_id
+ generation. If this option is set, file system mount points
+ not listed here are ignored.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fileid:nolock_max_slots = NUMBER(1-18446744073709551615)</term>
+ <listitem>
+ <para>This option alters the behavior of the <command>nolock</command> algorithm
+ in a way that it also breaks the lock coherency between individual processes
+ on the same host. The default is to have just 1 concurrent slot available per host.
+ By increasing the number of slots you can specify how many concurrent processes
+ can work on a given inode without contention, the number should typically be larger
+ than the number of logical cpus, maybe 2 times num_cpus.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fileid:nolock_all_dirs = BOOL</term>
+ <listitem>
+ <para>This option triggers the use of the fileid nolock behavior
+ for all directory inodes, which can be used to deliberately break
+ the lock coherency for all directories.
+ NOTE: Do not use this without knowing what you are doing!
+ It breaks SMB semantics!
+ See <command>fileid:nolock_paths</command> for a more fine grained
+ approach.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fileid:nolock_all_inodes = BOOL</term>
+ <listitem>
+ <para>This option triggers the use of the fileid nolock algorithm
+ for all directoriy inode, which can be used to deliberately break
+ the lock coherency for all directories.
+ NOTE: Do not use this without knowing what you are doing!
+ It breaks SMB semantics and it can lead to data corruption!
+ See <command>fileid:nolock_paths</command> for a more fine grained
+ approach.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fileid:nolock_paths = LIST</term>
+ <listitem>
+ <para>This option specifies a path list referring to files and/or directories,
+ which should use fileid nolock algorithm in order to deliberately break
+ the lock coherency for them. The specified paths can be relative to
+ the share root directory or absolute. The names are case sensitive unix pathnames!
+ Note all paths are only evaluated at tree connect time, when the share is being connected, from there on
+ only the related device and inode numbers from the stat() syscall are compared.
+ Non existing paths will generate a log level 0 message.
+ NOTE: This option should be used with care as it breaks SMB semantics!
+ But it may help in situation where a specific (commonly read-only) inode is highly contended.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fileid:nolockinode = NUMBER</term>
+ <listitem>
+ <para>This legacy option triggers use of the fileid nolock behavior
+ for the configured inode, while ignoring and device id. This can be used to deliberately break
+ lock coherency for the corresponding file or directory in a
+ cluster. Using the <command>fileid:nolock_paths</command> option is much more flexible and simpler to use.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Usage of the <command>fileid</command> module with the
+ <command>fsid</command> algorithm:</para>
+
+<programlisting>
+ <smbconfsection name="[global]"/>
+ <smbconfoption name="vfs objects">fileid</smbconfoption>
+ <smbconfoption name="fileid:algorithm">fsid</smbconfoption>
+</programlisting>
+
+ <para>Usage of the <command>fileid</command> module in order
+ avoid load on heavily contended (most likely read-only) inodes.</para>
+
+<programlisting>
+ <smbconfsection name="[global]"/>
+ <smbconfoption name="vfs objects">fileid</smbconfoption>
+ <smbconfoption name="fileid:algorithm">next_module</smbconfoption>
+ <smbconfoption name="fileid:nolock_paths">. ContendedFolder1 /path/to/contended.exe</smbconfoption>
+ <smbconfoption name="fileid:nolock_max_slots">256</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_fruit.8.xml b/docs-xml/manpages/vfs_fruit.8.xml
new file mode 100644
index 0000000..61051f9
--- /dev/null
+++ b/docs-xml/manpages/vfs_fruit.8.xml
@@ -0,0 +1,467 @@
+<?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="vfs_fruit.8">
+
+<refmeta>
+ <refentrytitle>vfs_fruit</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>vfs_fruit</refname>
+ <refpurpose>Enhanced OS X and Netatalk interoperability</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = fruit</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_fruit</command> module provides
+ enhanced compatibility with Apple SMB clients and
+ interoperability with a Netatalk 3 AFP fileserver.</para>
+
+ <para>The module should be stacked with
+ <command>vfs_catia</command> if enabling character conversion and
+ must be stacked with <command>vfs_streams_xattr</command>, see the
+ example section for the correct config.</para>
+
+ <para>The module enables alternate data streams (ADS) support
+ for a share, intercepts the OS X special streams "AFP_AfpInfo"
+ and "AFP_Resource" and handles them in a special way. All
+ other named streams are deferred to
+ <command>vfs_streams_xattr</command> which must be loaded
+ together with <command>vfs_fruit</command>.</para>
+
+ <para>Be careful when mixing shares with and without
+ vfs_fruit. OS X clients negotiate SMB2 AAPL protocol
+ extensions on the first tcon, so mixing shares with and
+ without fruit will globally disable AAPL if the first tcon is
+ without fruit.</para>
+
+ <para>Having shares with ADS support enabled for OS X client
+ is worthwhile because it resembles the behaviour of Apple's
+ own SMB server implementation and it avoids certain severe
+ performance degradations caused by Samba's case sensitivity
+ semantics.</para>
+
+ <para>The OS X metadata and resource fork stream can be stored
+ in a way compatible with Netatalk 3 by setting
+ <command>fruit:resource = file</command> and
+ <command>fruit:metadata = netatalk</command>.</para>
+
+ <para>OS X maps NTFS illegal characters to the Unicode private
+ range in SMB requests. By setting <command>fruit:encoding =
+ native</command>, all mapped characters are converted to
+ native ASCII characters.</para>
+
+ <para>Finally, share access modes are optionally checked
+ against Netatalk AFP sharing modes by setting
+ <command>fruit:locking = netatalk</command>.</para>
+
+ <para>This module is not stackable other than described in
+ this manpage.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>GLOBAL OPTIONS</title>
+
+ <para>The following options must be set in the global smb.conf section
+ and won't take effect when set per share.</para>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>fruit:aapl = yes | no</term>
+ <listitem>
+ <para>A <emphasis>global</emphasis> option whether to enable Apple's SMB2+
+ extension codenamed AAPL. Default
+ <emphasis>yes</emphasis>. This extension enhances
+ several deficiencies when connecting from Macs:</para>
+
+ <itemizedlist>
+ <listitem><para>directory enumeration is enriched with
+ Mac relevant filesystem metadata (UNIX mode,
+ FinderInfo, resource fork size and effective
+ permission), as a result the Mac client doesn't need
+ to fetch this metadata individually per directory
+ entry resulting in an often tremendous performance
+ increase.</para></listitem>
+
+ <listitem><para>The ability to query and modify the
+ UNIX mode of directory entries.</para></listitem>
+ </itemizedlist>
+
+ <para>There's a set of per share options that come into play when
+ <emphasis>fruit:aapl</emphasis> is enabled. These options, listed
+ below, can be used to disable the computation of specific Mac
+ metadata in the directory enumeration context, all are enabled by
+ default:</para>
+
+ <itemizedlist>
+ <listitem><para>readdir_attr:aapl_rsize = yes | no</para></listitem>
+ <listitem><para>readdir_attr:aapl_finder_info = yes | no</para></listitem>
+ <listitem><para>readdir_attr:aapl_max_access = yes | no</para></listitem>
+ </itemizedlist>
+
+ <para>See below for a description of these options.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:nfs_aces = yes | no</term>
+ <listitem>
+ <para>A <emphasis>global</emphasis> option whether support for
+ querying and modifying the UNIX mode of directory entries via NFS
+ ACEs is enabled, default <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:copyfile = yes | no</term>
+ <listitem>
+ <para>A <emphasis>global</emphasis> option whether to enable OS X
+ specific copychunk ioctl that requests a copy of a whole file
+ along with all attached metadata.</para>
+ <para>WARNING: the copyfile request is blocking the
+ client while the server does the copy.</para>
+ <para>The default is <emphasis>no</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:model = MacSamba</term>
+ <listitem>
+ <para>This option defines the model string inside the AAPL
+ extension and will determine the appearance of the icon representing the
+ Samba server in the Finder window.</para>
+ <para>The default is <emphasis>MacSamba</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <para>The following options can be set either in the global smb.conf section
+ or per share.</para>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>fruit:resource = [ file | xattr | stream ]</term>
+ <listitem>
+ <para>Controls where the OS X resource fork is stored.</para>
+
+ <para>Due to a spelling bug in all Samba versions older than
+ 4.6.0, this option can also be given as
+ <emphasis>fruit:ressource</emphasis>, ie with two s.</para>
+
+ <para>Settings:</para>
+
+ <itemizedlist>
+ <listitem><para><command>file (default)</command> - use a ._
+ AppleDouble file compatible with OS X and
+ Netatalk</para></listitem>
+
+ <listitem><para><command>xattr</command> - use a
+ xattr, requires a filesystem with large xattr support
+ and a file IO API compatible with xattrs, this boils
+ down to Solaris and derived platforms and
+ ZFS</para></listitem>
+
+ <listitem><para><command>stream (experimental)</command> - pass
+ the stream on to the next module in the VFS stack.
+ <emphasis>Warning: </emphasis> this option should not be used
+ with the <emphasis>streams_xattr</emphasis> module due to the
+ extended attributes size limitations of most
+ filesystems.</para></listitem>
+ </itemizedlist>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:time machine = [ yes | no ]</term>
+ <listitem>
+ <para>Controls if Time Machine support via the FULLSYNC volume
+ capability is advertised to clients.</para>
+
+ <itemizedlist>
+ <listitem><para><command>yes</command> - Enables Time Machine
+ support for this share. Also registers the share with mDNS in
+ case Samba is built with mDNS support.</para></listitem>
+
+ <listitem><para><command>no (default)</command> Disables
+ advertising Time Machine support.</para></listitem>
+
+ </itemizedlist>
+
+ <para>This option enforces the following settings per share (or
+ for all shares if enabled globally):</para>
+ <itemizedlist>
+ <listitem><para><command>durable handles = yes</command></para></listitem>
+ <listitem><para><command>kernel oplocks = no</command></para></listitem>
+ <listitem><para><command>kernel share modes = no</command></para></listitem>
+ <listitem><para><command>posix locking = no</command></para></listitem>
+ </itemizedlist>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:time machine max size = SIZE [K|M|G|T|P]</term>
+ <listitem>
+ <para>Useful for Time Machine: limits the reported disksize, thus
+ preventing Time Machine from using the whole real disk space for
+ backup. The option takes a number plus an optional unit.</para>
+ <para><emphasis>IMPORTANT</emphasis>: This is an approximated
+ calculation that only takes into account the contents of Time
+ Machine sparsebundle images. Therefore you <emphasis>MUST
+ NOT</emphasis> use this volume to store other content when using
+ this option, because it would NOT be accounted.</para>
+ <para>The calculation works by reading the band size from the
+ Info.plist XML file of the sparsebundle, reading the bands/
+ directory counting the number of band files, and then multiplying
+ one with the other.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:metadata = [ stream | netatalk ]</term>
+ <listitem>
+ <para>Controls where the OS X metadata stream is stored:</para>
+
+ <itemizedlist>
+ <listitem><para><command>netatalk (default)</command> - use
+ Netatalk compatible xattr</para></listitem>
+
+ <listitem><para><command>stream</command> - pass the
+ stream on to the next module in the VFS
+ stack</para></listitem>
+ </itemizedlist>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:locking = [ netatalk | none ]</term>
+ <listitem>
+ <para></para>
+ <itemizedlist>
+ <listitem><para><command>none (default)</command> - no
+ cross protocol locking</para></listitem>
+
+ <listitem><para><command>netatalk</command> - use
+ cross protocol locking with Netatalk</para></listitem>
+
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:encoding = [ native | private ]</term>
+ <listitem>
+
+ <para>Controls how the set of illegal NTFS ASCII
+ character, commonly used by OS X clients, are stored in
+ the filesystem.</para>
+
+ <para><emphasis>Important:</emphasis> this is known to not fully
+ work with <emphasis>fruit:metadata=stream</emphasis> or
+ <emphasis>fruit:resource=stream</emphasis>.</para>
+
+ <itemizedlist>
+
+ <listitem><para><command>private (default)</command> -
+ store characters as encoded by the OS X client: mapped
+ to the Unicode private range</para></listitem>
+
+ <listitem><para><command>native</command> - store
+ characters with their native ASCII
+ value. <emphasis>Important</emphasis>: this option
+ requires the use of <emphasis>vfs_catia</emphasis> in
+ the VFS module stack as shown in the examples
+ section.</para></listitem>
+
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:veto_appledouble = yes | no</term>
+ <listitem>
+ <para><emphasis>Note:</emphasis> this option only applies when
+ <parameter>fruit:resource</parameter> is set to
+ <parameter>file</parameter> (the default).</para>
+
+ <para>When <parameter>fruit:resource</parameter> is set to
+ <parameter>file</parameter>, vfs_fruit may create ._ AppleDouble
+ files. This options controls whether these ._ AppleDouble files
+ are vetoed which prevents the client from accessing them.</para>
+ <para>Vetoing ._ files may break some applications, e.g.
+ extracting Mac ZIP archives from Mac clients fails,
+ because they contain ._ files. <command>rsync</command> will
+ also be unable to sync files beginning with underscores, as
+ the temporary files it uses for these will start with ._ and
+ so cannot be created.</para>
+ <para>Setting this option to
+ false will fix this, but the abstraction leak of
+ exposing the internally created ._ files may have other
+ unknown side effects.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:posix_rename = yes | no</term>
+ <listitem>
+ <para>Whether to enable POSIX directory rename behaviour
+ for OS X clients. Without this, directories can't be
+ renamed if any client has any file inside it
+ (recursive!) open.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>readdir_attr:aapl_rsize = yes | no</term>
+ <listitem>
+ <para>Return resource fork size in SMB2 FIND responses.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>readdir_attr:aapl_finder_info = yes | no</term>
+ <listitem>
+ <para>Return FinderInfo in SMB2 FIND responses.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>readdir_attr:aapl_max_access = yes | no</term>
+ <listitem>
+ <para>Return the user's effective maximum permissions in SMB2 FIND
+ responses. This is an expensive computation, setting this to off
+ pretends the use has maximum effective permissions.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:wipe_intentionally_left_blank_rfork = yes | no</term>
+ <listitem>
+ <para>Whether to wipe Resource Fork data that matches the special
+ 286 bytes sized placeholder blob that macOS client create on
+ occasion. The blob contains a string <quote>This resource fork
+ intentionally left blank</quote>, the remaining bytes being mostly
+ zero. There being no one use of this data, it is probably safe to
+ discard it. When this option is enabled, this module truncates the
+ Resource Fork stream to 0 bytes.</para>
+ <para>The default is <emphasis>no</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:delete_empty_adfiles = yes | no</term>
+ <listitem>
+ <para>Whether to delete empty AppleDouble files. Empty means that
+ the resource fork entry in the AppleDouble files is of size 0, or
+ the size is exactly 286 bytes and the content matches a special
+ boilerplate resource fork created my macOS.</para>
+ <para>The default is <emphasis>no</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:zero_file_id = yes | no</term>
+ <listitem>
+ <para>Whether to return zero to queries of on-disk file
+ identifier if the client has negotiated AAPL.</para>
+ <para>Mac applications and / or the Mac SMB client code expect the
+ on-disk file identifier to have the semantics of HFS+ Catalog Node
+ Identifier (CNID). Samba provides File-IDs based on a file's inode
+ number which gets recycled across file creation and deletion and
+ can therefore not be used for Mac client. Returning a file identifier of
+ zero causes the Mac client to stop using and trusting the file id
+ returned from the server.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:convert_adouble = yes | no</term>
+ <listitem>
+ <para>Whether an attempt shall be made to convert ._ AppleDouble
+ sidecar files to native streams (xattrs when using
+ vfs_streams_xattr). The main use case for this conversion is
+ transparent migration from a server config without streams support
+ where the macOS client created those AppleDouble sidecar
+ files.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>fruit:validate_afpinfo = yes | no</term>
+ <listitem>
+ <para>Apple clients use the AFP_AfpInfo stream to store structured
+ file metadata. As part of the marshaled data stored in the stream
+ the first eight bytes contain some header information. Apple's SMB
+ server as well as Samba will validate this header bytes processing
+ a client write request on this stream, and, if the validation
+ fails, fail the write. While this validation is generally correct,
+ in some data migration scenarios clients may try to migrate data
+ from 3rd-party SMB servers to Samba servers where the header
+ information is broken for whatever reason. To allow migration and
+ header fix-up in these scenarios, the validation can be temporarily
+ disabled by setting this option to <emphasis>no</emphasis>.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+<programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="vfs objects">catia fruit streams_xattr</smbconfoption>
+ <smbconfoption name="fruit:resource">file</smbconfoption>
+ <smbconfoption name="fruit:metadata">netatalk</smbconfoption>
+ <smbconfoption name="fruit:locking">netatalk</smbconfoption>
+ <smbconfoption name="fruit:encoding">native</smbconfoption>
+</programlisting>
+
+</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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_full_audit.8.xml b/docs-xml/manpages/vfs_full_audit.8.xml
new file mode 100644
index 0000000..9a9f1ef
--- /dev/null
+++ b/docs-xml/manpages/vfs_full_audit.8.xml
@@ -0,0 +1,304 @@
+<?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="vfs_full_audit.8">
+
+<refmeta>
+ <refentrytitle>vfs_full_audit</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>vfs_full_audit</refname>
+ <refpurpose>record Samba VFS operations in the system log</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = full_audit</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_full_audit</command> VFS module records selected
+ client operations to the system log using
+ <citerefentry><refentrytitle>syslog</refentrytitle>
+ <manvolnum>3</manvolnum></citerefentry>.</para>
+
+ <para><command>vfs_full_audit</command> is able to record the
+ complete set of Samba VFS operations:</para>
+
+ <simplelist>
+ <member>aio_force</member>
+ <member>audit_file</member>
+ <member>brl_lock_windows</member>
+ <member>brl_unlock_windows</member>
+ <member>chdir</member>
+ <member>close</member>
+ <member>closedir</member>
+ <member>connect</member>
+ <member>connectpath</member>
+ <member>create_dfs_pathat</member>
+ <member>create_file</member>
+ <member>disconnect</member>
+ <member>disk_free</member>
+ <member>durable_cookie</member>
+ <member>durable_disconnect</member>
+ <member>durable_reconnect</member>
+ <member>fallocate</member>
+ <member>fchflags</member>
+ <member>fchmod</member>
+ <member>fchown</member>
+ <member>fcntl</member>
+ <member>fdopendir</member>
+ <member>fget_compression</member>
+ <member>fget_dos_attributes</member>
+ <member>fget_nt_acl</member>
+ <member>fgetxattr</member>
+ <member>file_id_create</member>
+ <member>filesystem_sharemode</member>
+ <member>flistxattr</member>
+ <member>fntimes</member>
+ <member>freaddir_attr</member>
+ <member>fremovexattr</member>
+ <member>fs_capabilities</member>
+ <member>fsctl</member>
+ <member>fset_dos_attributes</member>
+ <member>fset_nt_acl</member>
+ <member>fsetxattr</member>
+ <member>fs_file_id</member>
+ <member>fstat</member>
+ <member>fstatat</member>
+ <member>fstreaminfo</member>
+ <member>fsync_recv</member>
+ <member>fsync_send</member>
+ <member>ftruncate</member>
+ <member>get_alloc_size</member>
+ <member>get_dfs_referrals</member>
+ <member>get_dos_attributes_recv</member>
+ <member>get_dos_attributes_send</member>
+ <member>getlock</member>
+ <member>get_quota</member>
+ <member>get_real_filename</member>
+ <member>get_real_filename_at</member>
+ <member>get_shadow_copy_data</member>
+ <member>getwd</member>
+ <member>getxattrat_recv</member>
+ <member>getxattrat_send</member>
+ <member>is_offline</member>
+ <member>lchown</member>
+ <member>linkat</member>
+ <member>linux_setlease</member>
+ <member>lock</member>
+ <member>lseek</member>
+ <member>lstat</member>
+ <member>mkdirat</member>
+ <member>mknodat</member>
+ <member>ntimes</member>
+ <member>offload_read_recv</member>
+ <member>offload_read_send</member>
+ <member>offload_write_recv</member>
+ <member>offload_write_send</member>
+ <member>open</member>
+ <member>openat</member>
+ <member>parent_pathname</member>
+ <member>pread</member>
+ <member>pread_recv</member>
+ <member>pread_send</member>
+ <member>pwrite</member>
+ <member>pwrite_recv</member>
+ <member>pwrite_send</member>
+ <member>read</member>
+ <member>read_dfs_pathat</member>
+ <member>readdir</member>
+ <member>readlinkat</member>
+ <member>realpath</member>
+ <member>recvfile</member>
+ <member>removexattr</member>
+ <member>renameat</member>
+ <member>rewinddir</member>
+ <member>sendfile</member>
+ <member>set_compression</member>
+ <member>set_offline</member>
+ <member>set_quota</member>
+ <member>snap_check_path</member>
+ <member>snap_create</member>
+ <member>snap_delete</member>
+ <member>stat</member>
+ <member>statvfs</member>
+ <member>strict_lock_check</member>
+ <member>symlinkat</member>
+ <member>sys_acl_blob_get_fd</member>
+ <member>sys_acl_delete_def_fd</member>
+ <member>sys_acl_get_fd</member>
+ <member>sys_acl_set_fd</member>
+ <member>translate_name</member>
+ <member>unlinkat</member>
+ <member>write</member>
+ </simplelist>
+
+ <para>In addition to these operations,
+ <command>vfs_full_audit</command> recognizes the special operation
+ names &quot;all&quot; and &quot;none &quot;, which refer to all
+ the VFS operations and none of the VFS operations respectively.
+ </para>
+
+ <para>If an unknown operation name is used (for example an operation name
+ is miss-spelled), the module will fail to load and clients will
+ be refused connections to a share using this module.
+ </para>
+
+ <para><command>vfs_full_audit</command> records operations in fixed
+ format consisting of fields separated by '|' characters. The
+ format is: </para>
+ <programlisting>
+ smbd_audit: PREFIX|OPERATION|RESULT|FILE
+ </programlisting>
+
+ <para>The record fields are:</para>
+
+ <itemizedlist>
+ <listitem><para><command>PREFIX</command> - the result of the full_audit:prefix string after variable substitutions</para></listitem>
+ <listitem><para><command>OPERATION</command> - the name of the VFS operation</para></listitem>
+ <listitem><para><command>RESULT</command> - whether the operation succeeded or failed</para></listitem>
+ <listitem><para><command>FILE</command> - the name of the file or directory the operation was performed on</para></listitem>
+
+ </itemizedlist>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>full_audit:prefix = STRING</term>
+ <listitem>
+ <para>Prepend audit messages with STRING. STRING is
+ processed for standard substitution variables listed in
+ <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>. The default
+ prefix is &quot;%u|%I&quot;. </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>full_audit:success = LIST</term>
+ <listitem>
+ <para>LIST is a list of VFS operations that should be
+ recorded if they succeed. Operations are specified using
+ the names listed above. Operations can be unset by prefixing
+ the names with "!". The default is none operations.
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>full_audit:failure = LIST</term>
+ <listitem>
+ <para>LIST is a list of VFS operations that should be
+ recorded if they failed. Operations are specified using
+ the names listed above. Operations can be unset by prefixing
+ the names with "!". The default is none operations.
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>full_audit:facility = FACILITY</term>
+ <listitem>
+ <para>Log messages to the named
+ <citerefentry><refentrytitle>syslog</refentrytitle>
+ <manvolnum>3</manvolnum></citerefentry> facility.
+
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>full_audit:priority = PRIORITY</term>
+ <listitem>
+ <para>Log messages with the named
+ <citerefentry><refentrytitle>syslog</refentrytitle>
+ <manvolnum>3</manvolnum></citerefentry> priority.
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>full_audit:syslog = true/false</term>
+ <listitem>
+ <para>Log messages to syslog (default) or as a debug level 1
+ message.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>full_audit:log_secdesc = true/false</term>
+ <listitem>
+ <para>Log an sddl form of the security descriptor coming in
+ when a client sets an acl. Defaults to false.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Log file and directory open operations on the [records]
+ share using the LOCAL7 facility and ALERT priority, including
+ the username and IP address. Logging excludes the open VFS function
+ on failures:</para>
+
+<programlisting>
+ <smbconfsection name="[records]"/>
+ <smbconfoption name="path">/data/records</smbconfoption>
+ <smbconfoption name="vfs objects">full_audit</smbconfoption>
+ <smbconfoption name="full_audit:prefix">%u|%I</smbconfoption>
+ <smbconfoption name="full_audit:success">open opendir</smbconfoption>
+ <smbconfoption name="full_audit:failure">all !open</smbconfoption>
+ <smbconfoption name="full_audit:facility">LOCAL7</smbconfoption>
+ <smbconfoption name="full_audit:priority">ALERT</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_glusterfs.8.xml b/docs-xml/manpages/vfs_glusterfs.8.xml
new file mode 100644
index 0000000..d25135e
--- /dev/null
+++ b/docs-xml/manpages/vfs_glusterfs.8.xml
@@ -0,0 +1,213 @@
+<?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="vfs_glusterfs.8">
+
+<refmeta>
+ <refentrytitle>vfs_glusterfs</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>vfs_glusterfs</refname>
+ <refpurpose>
+ Utilize features provided by GlusterFS
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = glusterfs</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> suite.</para>
+
+ <para>
+ GlusterFS
+ (<ulink url="http://www.gluster.org/">http://www.gluster.org</ulink>)
+ is an Open Source clustered file system capable of scaling to
+ several peta-bytes. With its FUSE based native client,
+ GlusterFS is available as a POSIX compliant file system and can
+ hence be shared by Samba without additional steps.
+ </para>
+
+ <para>
+ The <command>vfs_glusterfs</command> VFS module provides an
+ alternative, and superior way to access a Gluster filesystem
+ from Samba for sharing. It does not require a Gluster FUSE mount
+ but directly accesses the GlusterFS daemon through its library
+ <command>libgfapi</command>, thereby omitting the expensive
+ kernel-userspace context switches and taking advantage of some
+ of the more advanced features of GlusterFS.
+ </para>
+
+ <para>
+ This module can be combined with other modules, but it
+ should be the last module in the <command>vfs objects</command>
+ list. Modules added to this list to the right of the glusterfs
+ entry may not have any effect at all.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>CONFIGURATION</title>
+
+ <para>
+ A basic configuration looks like this.
+ </para>
+
+ <programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="vfs objects">glusterfs</smbconfoption>
+ <smbconfoption name="path">/relative/base/path</smbconfoption>
+ <smbconfoption name="glusterfs:volume">gv0</smbconfoption>
+ <smbconfoption name="kernel share modes">no</smbconfoption>
+ </programlisting>
+
+ <para>
+ Note that since <command>vfs_glusterfs</command> does not
+ require a Gluster mount, the share <command>path</command> is
+ treated differently than for other shares: It is interpreted as
+ the base path of the share relative to the gluster volume used.
+ Because this is usually not at the same time a system path, in a
+ ctdb cluster setup where ctdb manages Samba, you need to set
+ <command>CTDB_SAMBA_SKIP_SHARE_CHECK=yes</command> in ctdb's
+ configuration file. Otherwise ctdb will not get healthy.
+ </para>
+
+ <para>
+ Note that currently kernel share modes have to be disabled
+ in a share running with the glusterfs vfs module for file
+ serving to work properly.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>glusterfs:logfile = path</term>
+ <listitem>
+ <para>
+ Defines whether and where to store a vfs_glusterfs specific
+ logfile. Client variable substitution is supported (i.e.
+ %M, %m, %I), hence per client log file can be specified.
+ </para>
+ <para>
+ Example: glusterfs:logfile =
+ /var/log/samba/glusterfs-vol2.%M.log
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>glusterfs:loglevel = 0-9</term>
+ <listitem>
+ <para>
+ Defines the level of logging, with higher numbers corresponding to more verbosity.
+ 0 - No logs; 9 - Trace log level; 7 being the info log level is preferred.
+ </para>
+ <para>
+ If this option is not defined with an explicit loglevel,
+ the glusterfs default is used (currently loglevel 7).
+ </para>
+ </listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>glusterfs:volfile_server = servername</term>
+ <listitem>
+ <para>
+ Defines which volfile server to use, defaults to
+ localhost. It could be list of white space
+ separated elements where each element could be
+ </para>
+ <para>
+ 1. unix+/path/to/socket/file
+ </para>
+ <para>
+ 2. [tcp+]IP|hostname|\[IPv6\][:port]
+ </para>
+ <para>
+ Note the restriction on naming a IPv6 host, it follows
+ the same restriction that is based on IPv6 naming in
+ URL as per RFC 2732.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>glusterfs:volume = volumename</term>
+ <listitem>
+ <para>
+ Defines the glusterfs volumename to use for this share.
+ </para>
+ </listitem>
+
+ </varlistentry>
+ </variablelist>
+
+</refsect1>
+
+<refsect1>
+ <title>CAVEATS</title>
+
+ <para>
+ The GlusterFS write-behind performance translator, when used
+ with Samba, could be a source of data corruption. The
+ translator, while processing a write call, immediately returns
+ success but continues writing the data to the server in the
+ background. This can cause data corruption when two clients
+ relying on Samba to provide data consistency are operating on
+ the same file.
+ </para>
+ <para>
+ The write-behind translator is enabled by default on GlusterFS.
+ The vfs_glusterfs plugin will check for the presence of the
+ translator and refuse to connect if detected.
+ Please disable the write-behind translator for the GlusterFS
+ volume to allow the plugin to connect to the volume.
+ The write-behind translator can easily be disabled via calling
+ <programlisting>
+ gluster volume set &lt;volumename&gt; performance.write-behind off
+ </programlisting> on the commandline.
+ </para>
+ <para>
+ With GlusterFS versions >= 9, we silently bypass write-behind
+ translator during initial connect and failure is avoided.
+ </para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>
+ This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_glusterfs_fuse.8.xml b/docs-xml/manpages/vfs_glusterfs_fuse.8.xml
new file mode 100644
index 0000000..c136544
--- /dev/null
+++ b/docs-xml/manpages/vfs_glusterfs_fuse.8.xml
@@ -0,0 +1,111 @@
+<?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="vfs_glusterfs_fuse.8">
+
+<refmeta>
+ <refentrytitle>vfs_glusterfs_fuse</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>vfs_glusterfs_fuse</refname>
+ <refpurpose>
+ Utilize features provided by GlusterFS
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = glusterfs_fuse</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> suite.</para>
+
+ <para>
+ GlusterFS
+ (<ulink url="http://www.gluster.org/">http://www.gluster.org</ulink>)
+ is an Open Source clustered file system capable of scaling to
+ several peta-bytes. With its FUSE based native client,
+ GlusterFS is available as a POSIX compliant file system and can
+ hence be shared by Samba without additional steps.
+ </para>
+
+ <para>
+ The <command>vfs_glusterfs_fuse</command> VFS module provides an enhanced way
+ to access a Gluster filesystem using a Gluster FUSE mount. It provides support
+ for the <command>get_real_filename</command> VFS call which enhances file access performance
+ by avoiding multiple expensive case folding lookup calls to detect the appropriate
+ case of an existing filename.
+ </para>
+
+ <para>
+ Furthermore, this module implements a substitute file-id
+ mechanism. The default file-id mechanism is not working
+ correctly for gluster fuse mount re-exports, so in order to
+ avoid data loss, users exporting gluster fuse mounts with
+ Samba should enable this module.
+ </para>
+
+ <para>
+ This module can be combined with other modules, but it
+ should be the last module in the <command>vfs objects</command>
+ list. Modules added to this list to the right of the glusterfs
+ entry may not have any effect at all.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>CONFIGURATION</title>
+
+ <para>
+ A basic configuration looks like this.
+ </para>
+
+ <programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="vfs objects">glusterfs_fuse</smbconfoption>
+ <smbconfoption name="path">/absolute/path_of_fusemount</smbconfoption>
+ </programlisting>
+
+ <para>
+ Note that <command>vfs_glusterfs_fuse</command> requires a Gluster mount. For accessing glusterfs directly
+ over the GFAPI library please use the <command>vfs_glusterfs</command> module.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+ <para>
+ This module does currently have no further options.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>
+ This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_gpfs.8.xml b/docs-xml/manpages/vfs_gpfs.8.xml
new file mode 100644
index 0000000..29f2ac4
--- /dev/null
+++ b/docs-xml/manpages/vfs_gpfs.8.xml
@@ -0,0 +1,398 @@
+<?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">
+<ns:Root xmlns:xi="http://www.w3.org/2003/XInclude"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ns="urn:TestNamespace">
+<refentry id="vfs_gpfs.8">
+
+
+<refmeta>
+ <refentrytitle>vfs_gpfs</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>vfs_gpfs</refname>
+ <refpurpose>gpfs specific samba extensions like acls</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = gpfs</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>gpfs</command> VFS module is the home
+ for all gpfs extensions that Samba requires for proper integration
+ with GPFS. It uses the GPL library interfaces provided by GPFS.
+ </para>
+
+ <para>Currently the gpfs vfs module provides extensions in following areas :
+ <itemizedlist>
+ <listitem><para>NFSv4 ACL Interfaces with configurable options for GPFS</para></listitem>
+ <listitem><para>Kernel oplock support on GPFS</para></listitem>
+ <listitem><para>Lease support on GPFS</para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para><command>NOTE:</command> This module follows the posix-acl behaviour
+ and hence allows permission stealing via chown. Samba might allow at a later
+ point in time, to restrict the chown via this module as such restrictions
+ are the responsibility of the underlying filesystem than of Samba.
+ </para>
+
+ <para>This module makes use of the smb.conf parameter
+ <smbconfoption name="acl map full control"></smbconfoption>.
+ When set to yes (the default), this parameter will add in the FILE_DELETE_CHILD
+ bit on a returned ACE entry for a file (not a directory) that already
+ contains all file permissions except for FILE_DELETE and FILE_DELETE_CHILD.
+ This can prevent Windows applications that request GENERIC_ALL access
+ from getting ACCESS_DENIED errors when running against a filesystem
+ with NFSv4 compatible ACLs.
+ </para>
+
+ <para>This module is stackable.</para>
+
+ <para>Since Samba 4.0 all options are per share options.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <xi:include href="nfs4.xml.include" xpointer="xpointer(*/*)" />
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>gpfs:sharemodes = [ yes | no ]</term>
+ <listitem>
+ <para>
+ Enable/Disable cross node sharemode handling for GPFS.
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ <command>yes(default)</command> - propagate sharemodes across all GPFS nodes.
+ </para></listitem>
+ <listitem><para>
+ <command>no</command> - do not propagate sharemodes across all GPFS nodes.
+ This should only be used if the GPFS file system is
+ exclusively exported by Samba. Access by local unix application or
+ NFS exports could lead to corrupted files.
+ </para></listitem>
+ </itemizedlist>
+ </listitem>
+
+ </varlistentry>
+ <varlistentry>
+
+ <term>gpfs:leases = [ yes | no ]</term>
+ <listitem>
+ <para>
+ Enable/Disable cross node leases (oplocks) for GPFS.
+ You should also set the <command>oplocks</command> and <command>kernel oplocks</command>
+ options to the same value.
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ <command>yes(default)</command> - propagate leases across all GPFS nodes.
+ </para></listitem>
+ <listitem><para>
+ <command>no</command> - do not propagate leases across all GPFS nodes.
+ This should only be used if the GPFS file system is
+ exclusively exported by Samba. Access by local unix application or
+ NFS exports could lead to corrupted files.
+ </para></listitem>
+ </itemizedlist>
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>gpfs:hsm = [ yes | no ]</term>
+ <listitem>
+ <para>
+ Enable/Disable announcing if this FS has HSM enabled.
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ <command>no(default)</command> - Do not announce HSM.
+ </para></listitem>
+ <listitem><para>
+ <command>yes</command> - Announce HSM.
+ </para></listitem>
+ </itemizedlist>
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+ <term>gpfs:recalls = [ yes | no ]</term>
+ <listitem>
+ <para> When this option is set to no, an attempt to
+ open an offline file will be rejected with access
+ denied. This helps preventing recall storms triggered
+ by careless applications like Finder and
+ Explorer.</para>
+
+ <itemizedlist>
+ <listitem><para><command>yes(default)</command> - Open
+ files that are offline. This will recall the files
+ from HSM.</para></listitem>
+ <listitem><para><command>no</command> - Reject access
+ to offline files with access denied. This will prevent
+ recalls of files from HSM. Using this setting also
+ requires gpfs:hsm to be set to yes.</para></listitem>
+ </itemizedlist>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>gpfs:getrealfilename = [ yes | no ]</term>
+ <listitem>
+ <para>
+ Enable/Disable usage of the <command>gpfs_get_realfilename_path()</command> function.
+ This improves the casesensitive wildcard file name access.
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ <command>yes(default)</command> - use <command>gpfs_get_realfilename_path()</command>.
+ </para></listitem>
+ <listitem><para>
+ <command>no</command> - do not use <command>gpfs_get_realfilename_path()</command>.
+ It seems that <command>gpfs_get_realfilename_path()</command> doesn't work on AIX.
+ </para></listitem>
+ </itemizedlist>
+ </listitem>
+
+ </varlistentry>
+ <varlistentry>
+
+ <term>gpfs:winattr = [ yes | no ]</term>
+ <listitem>
+ <para>
+ Enable/Disable usage of the windows attributes in GPFS.
+ GPFS is able to store windows file attributes e.g. HIDDEN,
+ READONLY, SYSTEM and others natively. That means Samba doesn't
+ need to map them to permission bits or extended attributes.
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ <command>no(default)</command> - do not use GPFS windows attributes.
+ </para></listitem>
+ <listitem><para>
+ <command>yes</command> - use GPFS windows attributes.
+ </para></listitem>
+ </itemizedlist>
+ </listitem>
+
+ </varlistentry>
+ <varlistentry>
+
+ <term>gpfs:acl = [ yes | no ]</term>
+ <listitem>
+ <para>
+ This option lets Samba use or ignore GPFS ACLs.
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ <command>yes(default)</command> - use GPFS ACLs.
+ </para></listitem>
+ <listitem><para>
+ <command>no</command> - do not use GPFS ACLs and pass everything
+ to the next SMB_VFS module.
+ </para></listitem>
+ </itemizedlist>
+ </listitem>
+
+ </varlistentry>
+ <varlistentry>
+
+ <term>gpfs:check_fstype = [ yes | no ]</term>
+ <listitem>
+ <para>
+ Check for a mounted GPFS file system on access to a SMB share.
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ <command>yes(default)</command> - Check that the SMB share path
+ is on a GPFS file system. Share access will be denied when a
+ different file system is found.
+ </para></listitem>
+ <listitem><para>
+ <command>no</command> - skip check for GPFS file system on SMB
+ share path.
+ </para></listitem>
+ </itemizedlist>
+ </listitem>
+
+ </varlistentry>
+ <varlistentry>
+
+ <term>gpfs:dfreequota = [ yes | no ]</term>
+ <listitem>
+ <para>
+ Adjust reporting of the size and free space of a share
+ according to quotas. If this setting is "yes", a
+ request for size and free space will also evaluate the
+ user quota of the user requesting the data and the
+ group quota of the primary group of the user. Fileset
+ quotas are not queried, since GPFS already provides
+ the option --dfreequota to reflect the fileset quota
+ in the free space query. Please use that option to
+ include fileset quotas in the reported disk space.
+ </para>
+
+ <para>
+ If any of the soft or hard quota limits has been
+ reached, the free space will be reported as 0. If a
+ quota is in place, but the limits have not been
+ reached, the free space will be reported according to
+ the space left in the quota. If more than one quota
+ applies the free space will be reported as the smallest
+ space left in those quotas. The size of the share
+ will be reported according to the quota usage. If more
+ than one quota applies, the smallest size will be
+ reported for the share size according to these quotas.
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ <command>yes</command> - include the quotas
+ when reporting the share size and free space
+ </para></listitem>
+ <listitem><para>
+ <command>no(default)</command> - do not include quotas,
+ simply report the size and free space of the file system
+ </para></listitem>
+ </itemizedlist>
+ </listitem>
+
+ </varlistentry>
+ <varlistentry>
+
+ <term>gpfs:settimes = [ yes | no ]</term>
+ <listitem>
+ <para>
+ Use the gpfs_set_times API when changing the
+ timestamps of a file or directory. If the GPFS API is
+ not available the old method of using utime and the
+ GPFS winattr call will be used instead.
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ <command>yes(default)</command> - Use gpfs_set_times.
+ Fall back to utime and winattr when it is not available.
+ </para></listitem>
+ <listitem><para>
+ <command>no</command> - Do not use gpfs_set_times.
+ </para></listitem>
+ </itemizedlist>
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+ <term>gpfs:syncio = [yes|no]</term>
+ <listitem>
+ <para>This parameter makes Samba open all files with O_SYNC.
+ This triggers optimizations in GPFS for workloads that
+ heavily share files.</para>
+
+ <para>Following is the behaviour of Samba for different
+ values:
+ </para>
+ <itemizedlist>
+ <listitem><para><command>yes</command> - Open files with O_SYNC
+ </para></listitem>
+ <listitem><para><command>no (default)</command> - Open files as
+ normal Samba would do
+ </para></listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>A GPFS mount can be exported via Samba as follows :</para>
+
+<programlisting>
+ <smbconfsection name="[samba_gpfs_share]"/>
+ <smbconfoption name="vfs objects">gpfs</smbconfoption>
+ <smbconfoption name="path">/test/gpfs_mount</smbconfoption>
+ <smbconfoption name="nfs4: mode">special</smbconfoption>
+ <smbconfoption name="nfs4: acedup">merge</smbconfoption>
+</programlisting>
+</refsect1>
+
+<refsect1>
+ <title>CAVEATS</title>
+ <para>
+ Depending on the version of gpfs, the <command>libgpfs_gpl</command>
+ library or the <command>libgpfs</command> library is needed at
+ runtime by the <command>gpfs</command> VFS module:
+ Starting with gpfs 3.2.1 PTF8, the complete <command>libgpfs</command>
+ is available as open source and <command>libgpfs_gpl</command> does no
+ longer exist. With earlier versions of gpfs, only the
+ <command>libgpfs_gpl</command> library was open source and could be
+ used at run time.
+ </para>
+ <para>
+ At build time, only the header file <command>gpfs_gpl.h</command>
+ is required, which is a symlink to <command>gpfs.h</command> in
+ gpfs versions newer than 3.2.1 PTF8.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is part of version &doc.version; 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 GPFS VFS module was created with contributions from
+ Volker Lendecke and the developers at IBM.
+ </para>
+
+ <para> This manpage was created by the IBM FSCC team </para>
+</refsect1>
+
+</refentry>
+</ns:Root>
diff --git a/docs-xml/manpages/vfs_io_uring.8.xml b/docs-xml/manpages/vfs_io_uring.8.xml
new file mode 100644
index 0000000..f47a504
--- /dev/null
+++ b/docs-xml/manpages/vfs_io_uring.8.xml
@@ -0,0 +1,107 @@
+<?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="vfs_io_uring.8">
+
+<refmeta>
+ <refentrytitle>vfs_io_uring</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>vfs_io_uring</refname>
+ <refpurpose>Implement async io in Samba vfs using io_uring of Linux (>= 5.1).</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = io_uring</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>io_uring</command> VFS module enables asynchronous
+ pread, pwrite and fsync using the io_uring infrastructure of Linux (>= 5.1).
+ This provides much less overhead compared to the usage of the pthreadpool for
+ async io.</para>
+
+ <para>This module SHOULD be listed last in any module stack as
+ it requires real kernel file descriptors.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Straight forward use:</para>
+
+<programlisting>
+ <smbconfsection name="[cooldata]"/>
+ <smbconfoption name="path">/data/ice</smbconfoption>
+ <smbconfoption name="vfs objects">io_uring</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>io_uring:num_entries = NUMBER_OF_QUEUE_ENTRIES</term>
+ <listitem>
+ <para>The number of entries in the submission queue.
+ The maximum allowed value depends on the kernel version
+ and the kernel will roundup the value to a power of 2.
+ </para>
+ <para>The default is '128'.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>io_uring:sqpoll = BOOL</term>
+ <listitem>
+ <para>Use the IORING_SETUP_SQPOLL feature.
+ </para>
+ <para>The default is 'no'.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para>
+ <citerefentry><refentrytitle>io_uring_setup</refentrytitle><manvolnum>2</manvolnum></citerefentry>.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_linux_xfs_sgid.8.xml b/docs-xml/manpages/vfs_linux_xfs_sgid.8.xml
new file mode 100644
index 0000000..a0117dc
--- /dev/null
+++ b/docs-xml/manpages/vfs_linux_xfs_sgid.8.xml
@@ -0,0 +1,77 @@
+<?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="vfs_linux_xfs_sgid.8">
+
+<refmeta>
+ <refentrytitle>vfs_linux_xfs_sgid</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>vfs_linux_xfs_sgid</refname>
+ <refpurpose>Workaround XFS sgid bit not inherited</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = linux_xfs_sgid</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>
+ <command>vfs_linux_xfs_sgid</command> is a VFS module to work around an
+ old Linux XFS bug fixed in 3.11: the SGID bit is not inherited during mkdir
+ when a default ACL is set
+ (<ulink url="https://web.archive.org/web/20160320180937/http://oss.sgi.com/bugzilla/show_bug.cgi?id=280">
+ https://web.archive.org/web/20160320180937/http://oss.sgi.com/bugzilla/show_bug.cgi?id=280
+ </ulink> fixed by <ulink url="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=42c49d7f249c2487f36d3314753d5d8ebcee8249">
+ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=42c49d7f249c2487f36d3314753d5d8ebcee8249</ulink>).
+ The <command>vfs_linux_xfs_sgid</command> VFS module will work around this
+ bug by manually setting the SGID bit after a <command>mkdir</command>
+ if the parent directory had the SGID bit set.
+ </para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Add linux_xfs_sgid functionality for [share]:</para>
+<programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="vfs objects">linux_xfs_sgid</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_media_harmony.8.xml b/docs-xml/manpages/vfs_media_harmony.8.xml
new file mode 100644
index 0000000..44476b5
--- /dev/null
+++ b/docs-xml/manpages/vfs_media_harmony.8.xml
@@ -0,0 +1,142 @@
+<?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="vfs_media_harmony.8">
+
+<refmeta>
+ <refentrytitle>vfs_media_harmony</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>vfs_media_harmony</refname>
+ <refpurpose>Allow multiple Avid clients to share a network drive.</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = media_harmony</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_media_harmony</command> VFS module allows
+ Avid editorial workstations to share a network drive. It does
+ this by:</para>
+ <orderedlist continuation="restarts" inheritnum="ignore" numeration="arabic">
+ <listitem><para>Giving each client their own copy of the Avid
+ msmMMOB.mdb and msmFMID.pmr files and Creating directories.</para></listitem>
+ <listitem><para>Allowing each client to explicitly control the
+ write time the Avid application sees on Avid media directories.</para></listitem>
+ </orderedlist>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>CONFIGURATION</title>
+
+ <para><command>vfs_media_harmony</command> automatically redirects
+ requests from clients for Avid database files or an Avid Creating
+ directory to a client-specific version of the file. No
+ configuration beyond enabling the module is needed to get this
+ portion of its functionality working.</para>
+
+ <para>If Mac and Windows Avid clients will be accessing the same
+ folder, they should be given separate share definitions, with
+ hidden Mac files vetoed on the Windows share. See EXAMPLES.</para>
+
+ <para>To allow each client to control when the Avid application
+ refreshes their Avid databases, create files for each client
+ and each Avid media directory with the name
+ [avid_dir_name]_[client_ip_address]_[client_username].
+ To trigger Avid database refreshes, update the write time on
+ those files. See EXAMPLES.</para>
+
+ <para>It is also necessary for the <command>cache locked write times = no</command>
+ option to be set for clients to be able to control their Avid
+ media folder write times.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Enable media_harmony for Mac and Windows clients:</para>
+<programlisting>
+ <smbconfsection name="[avid_mac]"/>
+ <smbconfoption name="path">/avid</smbconfoption>
+ <smbconfoption name="vfs objects">media_harmony</smbconfoption>
+ <smbconfoption name="cache locked write times">no</smbconfoption>
+ <smbconfsection name="[avid_win]"/>
+ <smbconfoption name="path">/avid</smbconfoption>
+ <smbconfoption name="vfs objects">media_harmony</smbconfoption>
+ <smbconfoption name="cache locked write times">no</smbconfoption>
+ <smbconfoption name="veto files">/.DS_Store/._@/.Trash@/.Spotlight@/.hidden/.hotfiles@/.vol/</smbconfoption>
+ <smbconfoption name="delete veto files">yes</smbconfoption>
+</programlisting>
+
+ <para>Create the files that will allow users david and susan
+ to control their own Avid database refreshes:</para>
+<programlisting>
+ touch '/avid/OMFI MediaFiles_192.168.1.10_david' \
+ '/avid/OMFI MediaFiles_192.168.1.11_susan' \
+ '/avid/Avid MediaFiles/MXF/1_192.168.1.10_david' \
+ '/avid/Avid MediaFiles/MXF/1_192.168.1.11_susan'
+</programlisting>
+ <para>Trigger an Avid database refresh for user david:</para>
+<programlisting>
+ touch '/avid/OMFI MediaFiles_192.168.1.10_david' \
+ '/avid/Avid MediaFiles/MXF/1_192.168.1.10_david'
+</programlisting>
+
+ <para>If you have a large number of Avid media folders to manage,
+ you can give each editor a suitably modified version of
+ examples/scripts/vfs/media_harmony/trigger_avid_update.py to
+ create and update these files.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>CAVEATS</title>
+
+ <para><command>vfs_media_harmony</command> is designed to work with
+ Avid editing applications that look in the Avid MediaFiles or
+ OMFI MediaFiles directories for media. It is not designed to work
+ as expected in all circumstances for general use. For example: It
+ is possible to open a client-specific file such as
+ msmMMOB.mdb_192.168.1.10_userx even though it doesn't show up
+ in a directory listing.</para>
+
+</refsect1>
+
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_nfs4acl_xattr.8.xml b/docs-xml/manpages/vfs_nfs4acl_xattr.8.xml
new file mode 100644
index 0000000..d4ce40b
--- /dev/null
+++ b/docs-xml/manpages/vfs_nfs4acl_xattr.8.xml
@@ -0,0 +1,172 @@
+<?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">
+<ns:Root xmlns:xi="http://www.w3.org/2003/XInclude"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ns="urn:TestNamespace">
+<refentry id="vfs_nfs4acl_xattr.8">
+
+ <refmeta>
+ <refentrytitle>vfs_nfs4acl_xattr</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>vfs_nfs4acl_xattr</refname>
+ <refpurpose>Save NTFS-ACLs as NFS4 encoded blobs in extended
+ attributes</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = nfs4acl_xattr</command>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_acl_xattr</command> VFS module stores NTFS Access
+ Control Lists (ACLs) in Extended Attributes (EAs/xattrs). This enables the
+ full mapping of Windows ACLs on Samba servers.
+ </para>
+
+ <para>This module is stackable.</para>
+ </refsect1>
+
+
+ <refsect1>
+ <title>OPTIONS</title>
+
+ <xi:include href="nfs4.xml.include" xpointer="xpointer(*/*)" />
+
+ <variablelist>
+
+ <varlistentry>
+ <term>nfs4acl_xattr:encoding = [nfs|ndr|xdr]</term>
+ <listitem>
+ <para>This parameter configures the marshaling format used in the ACL
+ blob and the default extended attribute name used to store the blob.
+ </para>
+
+ <para>When set to <emphasis>nfs</emphasis> - fetch and store the NT
+ ACL in NFS 4.0 or 4.1 compatible XDR encoding. By default this uses
+ the extended attribute "system.nfs4_acl". This setting also
+ disables <emphasis>validate_mode</emphasis>.</para>
+
+ <para>When set to <emphasis>ndr (default)</emphasis> - store the NT
+ ACL with POSIX draft NFSv4 compatible NDR encoding. By default this
+ uses the extended attribute "security.nfs4acl_ndr".</para>
+
+ <para>When set to <emphasis>xdr</emphasis> - store the NT ACL in a
+ format similar to NFS 4.1 RFC 5661 in XDR encoding. The main
+ differences to RFC 5661 are the use of ids instead of strings as users
+ and group identifiers and an additional attribute per nfsace4. By
+ default this encoding stores the blob in the extended attribute
+ "security.nfs4acl_xdr".</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>nfs4acl_xattr:version = [40|41]</term>
+ <listitem>
+ <para>This parameter configures the NFS4 ACL level. Only
+ <emphasis>41</emphasis> fully supports mapping NT ACLs and should be
+ used. The default is <emphasis>41</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>nfs4acl_xattr:default acl style = [posix|windows|everyone]</term>
+ <listitem>
+ <para>This parameter determines the type of ACL that is synthesized in
+ case a file or directory lacks an ACL extended attribute.</para>
+
+ <para>When set to <emphasis>posix</emphasis>, an ACL will be
+ synthesized based on the POSIX mode permissions for user, group and
+ others, with an additional ACE for <emphasis>NT
+ Authority\SYSTEM</emphasis> will full rights.</para>
+
+ <para>When set to <emphasis>windows</emphasis>, an ACL is synthesized
+ the same way Windows does it, only including permissions for the owner
+ and <emphasis>NT Authority\SYSTEM</emphasis>.</para>
+
+ <para>When set to <emphasis>everyone</emphasis>, an ACL is synthesized
+ giving full permissions to everyone (S-1-1-0).</para>
+
+ <para>The default for this option is
+ <emphasis>everyone</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>nfs4acl_xattr:xattr_name = STRING</term>
+ <listitem>
+ <para>This parameter configures the extended attribute name used to
+ store the marshaled ACL.</para>
+ <para>The default depends on the setting for
+ <emphasis>nfs4acl_xattr:encoding</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>nfs4acl_xattr:nfs4_id_numeric = yes|no (default: no)</term>
+ <listitem>
+ <para>This parameter tells the module how the NFS4 server encodes user
+ and group identifiers on the network. With the default setting the
+ module expects identifiers encoded as per the NFS4 RFC as
+ user@domain.</para>
+ <para>When set to <emphasis>yes</emphasis>, the module expects the
+ identifiers as numeric string.</para>
+ <para>The default for this options<emphasis>no</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>nfs4acl_xattr:validate_mode = yes|no</term>
+ <listitem>
+ <para>This parameter configures whether the module enforces the POSIX
+ mode is set to 0777 for directories and 0666 for files. If this
+ constrained is not met, the xattr with the ACL blob is
+ discarded.</para>
+ <para>The default depends on the setting for
+ <emphasis>nfs4acl_xattr:encoding</emphasis>: when set to
+ <emphasis>nfs</emphasis> this setting is disabled by default,
+ otherwise it is enabled.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>EXAMPLES</title>
+
+ <para>A directory can be exported via Samba using this module as
+ follows:</para>
+
+ <programlisting>
+ <smbconfsection name="[samba_gpfs_share]"/>
+ <smbconfoption name="vfs objects">nfs4acl_xattr</smbconfoption>
+ <smbconfoption name="path">/foo/bar</smbconfoption>
+ </programlisting>
+ </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>
+ </refsect1>
+
+</refentry>
+</ns:Root>
diff --git a/docs-xml/manpages/vfs_offline.8.xml b/docs-xml/manpages/vfs_offline.8.xml
new file mode 100644
index 0000000..e278f20
--- /dev/null
+++ b/docs-xml/manpages/vfs_offline.8.xml
@@ -0,0 +1,72 @@
+<?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="vfs_offline.8">
+
+<refmeta>
+ <refentrytitle>vfs_offline</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>vfs_offline</refname>
+ <refpurpose>Mark all files as offline</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = offline</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_offline</command> module marks all files
+ in the share as having the offline DOS attribute.</para>
+
+ <para>Files with the offline DOS attribute are handled differently
+ by the Windows SMB client, as well as by Windows Explorer. In
+ particular, Windows Explorer does not read those files for the sole
+ purpose of drawing a thumbnail, as it normally does. This can
+ improve user experience with some remote file systems.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Mark all files in a share as offline:</para>
+
+<programlisting>
+ <smbconfsection name="[remote]"/>
+ <smbconfoption name="vfs objects">offline</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_prealloc.8.xml b/docs-xml/manpages/vfs_prealloc.8.xml
new file mode 100644
index 0000000..46f81b8
--- /dev/null
+++ b/docs-xml/manpages/vfs_prealloc.8.xml
@@ -0,0 +1,107 @@
+<?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="vfs_prealloc.8">
+
+<refmeta>
+ <refentrytitle>vfs_prealloc</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>vfs_prealloc</refname>
+ <refpurpose>preallocate matching files to a predetermined size</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = prealloc</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_prealloc</command> VFS module preallocates
+ files to a specified size each time a new file is created. This
+ is useful in environments where files are of a predetermined
+ size will be written to a disk subsystem where extending file
+ allocations is expensive. </para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>prealloc:EXT = BYTES</term>
+ <listitem>
+ <para>Preallocate all files with the extension EXT to
+ the size specified by BYTES.
+ </para>
+
+ <para>The following suffixes may be applied to BYTES:</para>
+ <itemizedlist>
+ <listitem><para><command>K</command> - BYTES is a number of kilobytes</para></listitem>
+ <listitem><para><command>M</command> - BYTES is a number of megabytes</para></listitem>
+ <listitem><para><command>G</command> - BYTES is a number of gigabytes</para></listitem>
+ </itemizedlist>
+
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>A process writes TIFF files to a Samba share, and the
+ is known these files will almost always be around 4 megabytes
+ (4194304 bytes): </para>
+
+<programlisting>
+ <smbconfsection name="[frames]"/>
+ <smbconfoption name="path">/data/frames</smbconfoption>
+ <smbconfoption name="vfs objects">prealloc</smbconfoption>
+ <smbconfoption name="prealloc:tiff">4M</smbconfoption>
+</programlisting>
+</refsect1>
+
+<refsect1>
+ <title>CAVEATS</title>
+ <para><command>vfs_prealloc</command> is not supported on all
+ platforms and filesystems. Currently only XFS filesystems on
+ Linux and IRIX are supported.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_preopen.8.xml b/docs-xml/manpages/vfs_preopen.8.xml
new file mode 100644
index 0000000..a2db7c4
--- /dev/null
+++ b/docs-xml/manpages/vfs_preopen.8.xml
@@ -0,0 +1,275 @@
+<?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="vfs_preopen.8">
+
+<refmeta>
+ <refentrytitle>vfs_preopen</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>vfs_preopen</refname>
+ <refpurpose>Hide read latencies for applications reading numbered files</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = preopen</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>This module assists applications that want to read numbered
+ files in sequence with very strict latency requirements. One area
+ where this happens in video streaming applications that want to read
+ one file per frame.</para>
+
+ <para>When you use this module, a number of helper processes is
+ started that speculatively open files and read a number of bytes to
+ prime the file system cache, so that later on when the real
+ application's request comes along, no disk access is necessary.</para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>preopen:posix-basic-regex = BOOL (default: no)</term>
+ <listitem>
+ <para>
+ <command>preopen:posix-basic-regex = yes</command> changes
+ the meaning of the <command>preopen:names</command> option.
+ Further details are described there.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>preopen:names = /pattern1/pattern2/</term>
+ <listitem>
+ <para>
+ preopen:names specifies the file name pattern(s) which should
+ trigger the preopen helpers to do their work. We assume that
+ the files are numbered incrementally. So if your file names
+ are numbered FRAME00000.frm FRAME00001.frm and so on you would
+ list them as <command>preopen:names=/FRAME*.frm/</command>.
+ The default algorithm uses the first (at least 3) digits it finds
+ in order to calculate the name of the next frames.
+ </para>
+
+ <para><command>preopen:posix-basic-regex = yes</command> changes
+ the meaning of the <command>preopen:names</command> option.
+ It means 'POSIX Basic Regular Expression' strings are used
+ as patterns. The key is each pattern requires exactly one
+ 'subexpression' starting with '\(' and ending with '\)' in
+ order to specify the position of the digits representing
+ the incrementing frame numbers. Given a file names like
+ Movie7599Frame0v1234.txt, Movie7599Frame1v1234.txt, Movie7599Frame2v1234.txt
+ up to Movie7599Frame9v1234.txt you can use <command>preopen:names = /.*Frame\([0-9]\).*\.txt/</command>
+ in order to match just a single digits, this might not be a real world example,
+ but it shows the flexibility that is possible here.
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>preopen:num_bytes = BYTES</term>
+ <listitem>
+ <para>
+ Specifies the number of bytes the helpers should speculatively
+ read, defaults to 1.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>preopen:helpers = NUM-PROCS</term>
+ <listitem>
+ <para>
+ Number of forked helper processes, defaults to 1.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>preopen:queuelen = NUM-FILES</term>
+ <listitem>
+ <para>
+ Number of files that should be speculatively opened. Defaults
+ to the 10 subsequent files.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>preopen:nomatch_log_level = LOGLEVEL</term>
+ <listitem>
+ <para>
+ In order to debug or audit the usage of the preopen logic
+ you can use this option to specify at what log level details
+ about filenames not matching any pattern from '<command>preopen:names</command>'
+ are logged.
+ </para>
+ <para>
+ Defaults to the log level 5.
+ See also <citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ in the '<smbconfoption name="log level"/>' section
+ for special handling of the 'preopen' debug class.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>preopen:match_log_level = LOGLEVEL</term>
+ <listitem>
+ <para>
+ In order to debug or audit the usage of the preopen logic
+ you can use this option to specify at what log level details
+ about filenames actually matching a pattern from '<command>preopen:names</command>'
+ are logged.
+ </para>
+ <para>
+ See also '<command>preopen:founddigits_log_level</command>' and '<command>preopen:push_log_level</command>'.
+ </para>
+ <para>
+ Defaults to the log level 5.
+ See also <citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ in the '<smbconfoption name="log level"/>' section
+ for special handling of the 'preopen' debug class.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>preopen:nodigits_log_level = LOGLEVEL</term>
+ <listitem>
+ <para>
+ In order to debug or audit problems with the preopen configuration
+ you can use this option to specify at what log level details
+ about filenames actually matching a pattern from '<command>preopen:names</command>',
+ but at the same time don't contain the expected digits, are logged.
+ This is typically something the administrator wants to notice and
+ adjust the configuration in order to define more precisely where to
+ find the digits in the filename.
+ </para>
+ <para>
+ Defaults to the log level 1.
+ See also <citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ in the '<smbconfoption name="log level"/>' section
+ for special handling of the 'preopen' debug class.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>preopen:founddigits_log_level = LOGLEVEL</term>
+ <listitem>
+ <para>
+ In order to debug or audit the usage of the preopen logic
+ you can use this option to specify at what log level details
+ about filenames actually matching a pattern from '<command>preopen:names</command>',
+ and at the same time having valid expected digits, are logged. This means enough information is available
+ in order to queue preopens.
+ </para>
+ <para>
+ Defaults to the log level 3.
+ See also <citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ in the '<smbconfoption name="log level"/>' section
+ for special handling of the 'preopen' debug class.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>preopen:reset_log_level = LOGLEVEL</term>
+ <listitem>
+ <para>
+ If a matching filename belongs to a different pattern from '<command>preopen:names</command>',
+ a different parent directory or differs in a significant way from the last filename
+ that was found before, the module needs to reset it's internal queue state.
+ This means that no more preopens will be pushed to helper processes belonging to the
+ former queue state. In order to debug or audit such queue resets you can use this option to specify at what
+ log level details are logged.
+ </para>
+ <para>
+ Defaults to the log level 5.
+ See also <citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ in the '<smbconfoption name="log level"/>' section
+ for special handling of the 'preopen' debug class.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>preopen:push_log_level = LOGLEVEL</term>
+ <listitem>
+ <para>
+ In order to debug or audit the usage of the preopen logic
+ you can use this option to specify at what log level details
+ about filenames actually pushed to preopen helper processes are logged.
+ This means they will actually be preopened soon.
+ </para>
+ <para>
+ Defaults to the log level 3.
+ See also <citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ in the '<smbconfoption name="log level"/>' section
+ for special handling of the 'preopen' debug class.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>preopen:queue_log_level = LOGLEVEL</term>
+ <listitem>
+ <para>
+ In order to debug details about internal queue processing
+ you can use this option to specify at what log level the details are logged.
+ </para>
+ <para>
+ Defaults to the log level 10.
+ See also <citerefentry><refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ in the '<smbconfoption name="log level"/>' section
+ for special handling of the 'preopen' debug class.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is part of version &doc.version; 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 PREOPEN VFS module was created with contributions from
+ Volker Lendecke and the developers at IBM.
+ </para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_readahead.8.xml b/docs-xml/manpages/vfs_readahead.8.xml
new file mode 100644
index 0000000..602df59
--- /dev/null
+++ b/docs-xml/manpages/vfs_readahead.8.xml
@@ -0,0 +1,115 @@
+<?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="vfs_readahead.8">
+
+<refmeta>
+ <refentrytitle>vfs_readahead</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>vfs_readahead</refname>
+ <refpurpose>pre-load the kernel buffer cache</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = readahead</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>This <command>vfs_readahead</command> VFS module detects
+ read requests at multiples of a given offset (hex 0x80000 by
+ default) and then tells the kernel via either the readahead
+ system call (on Linux) or the posix_fadvise system call to
+ pre-fetch this data into the buffer cache.</para>
+
+ <para>This module is useful for Windows Vista clients reading
+ data using the Windows Explorer program, which asynchronously
+ does multiple file read requests at offset boundaries of 0x80000
+ bytes.</para>
+
+ <para>The offset multiple used is given by the readahead:offset
+ option, which defaults to 0x80000.</para>
+
+ <para>The size of the disk read operations performed
+ by <command>vfs_readahead</command> is determined by the
+ readahead:length option. By default this is set to the
+ same value as the readahead:offset option and if not
+ set explicitly will use the current value of
+ readahead:offset.</para>
+
+ <para>This module is stackable.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>readahead:offset = BYTES</term>
+ <listitem>
+ <para>The offset multiple that causes readahead to be
+ requested of the kernel buffer cache.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>readahead:length = BYTES</term>
+ <listitem>
+ <para>The number of bytes requested to be
+ read into the kernel buffer cache on each
+ readahead call.</para>
+ </listitem>
+ </varlistentry>
+
+ <para>The following suffixes may be applied to BYTES:</para>
+ <itemizedlist>
+ <listitem><para><command>K</command> - BYTES is a number of kilobytes</para></listitem>
+ <listitem><para><command>M</command> - BYTES is a number of megabytes</para></listitem>
+ <listitem><para><command>G</command> - BYTES is a number of gigabytes</para></listitem>
+ </itemizedlist>
+
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+<programlisting>
+ <smbconfsection name="[hypothetical]"/>
+ <smbconfoption name="vfs objects">readahead</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_readonly.8.xml b/docs-xml/manpages/vfs_readonly.8.xml
new file mode 100644
index 0000000..3171923
--- /dev/null
+++ b/docs-xml/manpages/vfs_readonly.8.xml
@@ -0,0 +1,101 @@
+<?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="vfs_readonly.8">
+
+<refmeta>
+ <refentrytitle>vfs_readonly</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>vfs_readonly</refname>
+ <refpurpose>make a Samba share read only for a specified time period</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = readonly</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_readonly</command> VFS module marks a share
+ as read only for all clients connecting within the configured
+ time period. Clients connecting during this time will be denied
+ write access to all files in the share, irrespective of their
+ actual access privileges.</para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>readonly:period = BEGIN, END</term>
+ <listitem>
+ <para>Only mark the share as read only if the client
+ connection was made between the times marked by the
+ BEGIN and END date specifiers.
+ The syntax of these date specifiers is the
+ same as that accepted by the -d option of GNU
+ <citerefentry><refentrytitle>date</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>.
+ </para>
+
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Mark all shares read only:</para>
+<programlisting>
+ <smbconfsection name="[global]"/>
+ <smbconfoption name="vfs objects">readonly</smbconfoption>
+</programlisting>
+
+ <para>Mark the [backup] share as read only during business hours:</para>
+<programlisting>
+ <smbconfsection name="[backup]"/>
+ <smbconfoption name="path">/readonly</smbconfoption>
+ <smbconfoption name="vfs objects">readonly</smbconfoption>
+ <smbconfoption name="readonly:period">readonly:period = "today 9:00","today 17:00"</smbconfoption>
+</programlisting>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_recycle.8.xml b/docs-xml/manpages/vfs_recycle.8.xml
new file mode 100644
index 0000000..4275c19
--- /dev/null
+++ b/docs-xml/manpages/vfs_recycle.8.xml
@@ -0,0 +1,220 @@
+<?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="vfs_recycle.8">
+
+<refmeta>
+ <refentrytitle>vfs_recycle</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>vfs_recycle</refname>
+ <refpurpose>Samba VFS recycle bin</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = recycle</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_recycle</command> intercepts file deletion
+ requests and moves the affected files to a temporary repository
+ rather than deleting them immediately. This gives the same effect
+ as the Recycle Bin on Windows computers. </para>
+
+ <para>The Recycle Bin will not appear in Windows Explorer
+ views of the network file system (share) nor on any mapped
+ drive. Instead, a directory called .recycle will be automatically
+ created when the first file is deleted and recycle:repository is
+ not configured. If recycle:repository is configured, the name
+ of the created directory depends on recycle:repository. Users
+ can recover files from the recycle bin. If the recycle:keeptree
+ option has been specified, deleted files will be found in a path
+ identical with that from which the file was deleted. </para>
+
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>recycle:repository = PATH</term>
+ <listitem>
+ <para>Path of the directory where deleted files should be moved.
+ </para>
+ <para>If this option is not set, the default path .recycle
+ is used. </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>recycle:directory_mode = MODE</term>
+ <listitem>
+ <para>Set MODE to the octal mode the recycle repository
+ should be created with. The recycle repository will be
+ created when first file is deleted. If recycle:subdir_mode
+ is not set, MODE also applies to subdirectories.
+ </para>
+ <para>If this option is not set, the default mode
+ 0700 is used. </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>recycle:subdir_mode = MODE</term>
+ <listitem>
+ <para>Set MODE to the octal mode with which
+ sub directories of the recycle repository should be created.
+ </para>
+ <para>If this option is not set, subdirectories
+ will be created with the mode from recycle:directory_mode.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>recycle:keeptree = BOOL</term>
+ <listitem>
+ <para>Specifies whether the directory structure should
+ be preserved or whether the files in a directory that is being
+ deleted should be kept separately in the repository.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>recycle:versions = BOOL</term>
+ <listitem>
+ <para>If this option is True, two files with the same
+ name that are deleted will both be kept in the repository.
+ Newer deleted versions of a file will be called
+ &quot;Copy #x of filename&quot;.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>recycle:touch = BOOL</term>
+ <listitem>
+ <para>Specifies whether a file's access date should be
+ updated when the file is moved to the repository.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>recycle:touch_mtime = BOOL</term>
+ <listitem>
+ <para>Specifies whether a file's last modified date should be
+ updated when the file is moved to the repository.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>recycle:minsize = BYTES</term>
+ <listitem>
+ <para>Files that are smaller than the number of bytes
+ specified by this parameter will not be put into the
+ repository.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>recycle:maxsize = BYTES</term>
+ <listitem>
+ <para>Files that are larger than the number of bytes
+ specified by this parameter will not be put into the
+ repository.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>recycle:exclude = LIST</term>
+ <listitem>
+ <para>List of files that should not be put into the
+ repository when deleted, but deleted in the normal way.
+ Wildcards such as * and ? are supported.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>recycle:exclude_dir = LIST</term>
+ <listitem>
+ <para>List of directories whose files should not be put
+ into the repository when deleted, but deleted in the
+ normal way. Wildcards such as * and ? are supported.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>recycle:noversions = LIST</term>
+ <listitem>
+ <para>Specifies a list of paths (wildcards such as *
+ and ? are supported) for which no versioning should
+ be used. Only useful when recycle:versions is enabled.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Move files "deleted" on <parameter>share</parameter> to
+ <parameter>/data/share/.recycle</parameter> instead of deleting them:
+ </para>
+
+<programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="path">/data/share</smbconfoption>
+ <smbconfoption name="vfs objects">recycle</smbconfoption>
+ <smbconfoption name="recycle:repository">.recycle</smbconfoption>
+ <smbconfoption name="recycle:keeptree">yes</smbconfoption>
+ <smbconfoption name="recycle:versions">yes</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_shadow_copy.8.xml b/docs-xml/manpages/vfs_shadow_copy.8.xml
new file mode 100644
index 0000000..5699a5d
--- /dev/null
+++ b/docs-xml/manpages/vfs_shadow_copy.8.xml
@@ -0,0 +1,121 @@
+<?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="vfs_shadow_copy.8">
+
+<refmeta>
+ <refentrytitle>vfs_shadow_copy</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>vfs_shadow_copy</refname>
+ <refpurpose>Expose snapshots to Windows clients as shadow copies.</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = shadow_copy</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_shadow_copy</command> VFS module functionality
+ that is similar to Microsoft Shadow Copy services. When setup properly,
+ this module allows Microsoft Shadow Copy clients to browse
+ "shadow copies" on Samba shares.
+ </para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>CONFIGURATION</title>
+
+ <para><command>vfs_shadow_copy</command> relies on a filesystem
+ snapshot implementation. Many common filesystems have native
+ support for this.
+ </para>
+
+ <para>Filesystem snapshots must be mounted on
+ specially named directories in order to be recognized by
+ <command>vfs_shadow_copy</command>. The snapshot mount points must
+ be immediate children of the directory being shared.</para>
+
+ <para>The snapshot naming convention is @GMT-YYYY.MM.DD-hh.mm.ss,
+ where:
+ <itemizedlist>
+ <listitem><para><command>YYYY</command> is the 4 digit year</para></listitem>
+ <listitem><para><command>MM</command> is the 2 digit month</para></listitem>
+ <listitem><para><command>DD</command> is the 2 digit day</para></listitem>
+ <listitem><para><command>hh</command> is the 2 digit hour</para></listitem>
+ <listitem><para><command>mm</command> is the 2 digit minute</para></listitem>
+ <listitem><para><command>ss</command> is the 2 digit second.</para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para>The <command>vfs_shadow_copy</command> snapshot naming convention can be produced with the following
+ <citerefentry><refentrytitle>date</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> command:
+ <programlisting>
+ TZ=GMT date +@GMT-%Y.%m.%d-%H.%M.%S
+ </programlisting></para>
+
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Add shadow copy support to user home directories:</para>
+<programlisting>
+ <smbconfsection name="[homes]"/>
+ <smbconfoption name="vfs objects">shadow_copy</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>CAVEATS</title>
+
+ <para>This is not a backup, archival, or version control solution.
+ </para>
+
+ <para>With Samba or Windows servers,
+ <command>vfs_shadow_copy</command> is designed to be an end-user
+ tool only. It does not replace or enhance your backup and
+ archival solutions and should in no way be considered as
+ such. Additionally, if you need version control, implement a
+ version control system.</para>
+
+</refsect1>
+
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_shadow_copy2.8.xml b/docs-xml/manpages/vfs_shadow_copy2.8.xml
new file mode 100644
index 0000000..fe37145
--- /dev/null
+++ b/docs-xml/manpages/vfs_shadow_copy2.8.xml
@@ -0,0 +1,494 @@
+<?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="vfs_shadow_copy2.8">
+
+<refmeta>
+ <refentrytitle>vfs_shadow_copy2</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>vfs_shadow_copy2</refname>
+ <refpurpose>Expose snapshots to Windows clients as shadow copies.
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = shadow_copy2</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>
+ The <command>vfs_shadow_copy2</command> VFS module offers a
+ functionality similar to Microsoft Shadow Copy services.
+ When set up properly,
+ this module allows Microsoft Shadow Copy clients to browse
+ through file system snapshots as "shadow copies" on Samba shares.
+ </para>
+
+ <para>
+ This is a second implementation of a shadow copy module
+ which has the following additional features (compared to the original
+ <citerefentry><refentrytitle>shadow_copy</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> module):
+ </para>
+ <orderedlist continuation="restarts" inheritnum="ignore" numeration="arabic">
+ <listitem><para>
+ There is no need any more to populate your share's root directory
+ with symlinks to the snapshots if the file system stores the
+ snapshots elsewhere.
+ Instead, you can flexibly configure the module where to look for
+ the file system snapshots.
+ This can be very important when you have thousands of
+ shares, or use [homes].
+ </para></listitem>
+ <listitem><para>
+ Snapshot directories need not be in one fixed central place but
+ can be located anywhere in the directory tree. This mode helps to
+ support file systems that offer snapshotting of particular
+ subtrees, for example the GPFS independent file sets.
+ </para></listitem>
+ <listitem><para>
+ Vanity naming for snapshots: snapshots can be named in any format
+ compatible with str[fp]time conversions.
+ </para></listitem>
+ <listitem><para>
+ Timestamps can be represented in localtime rather than UTC.
+ </para></listitem>
+ <listitem><para>
+ The inode number of the files can optionally be altered to be
+ different from the original. This fixes the 'restore' button
+ in the Windows GUI to work without a sharing violation when
+ serving from file systems, like GPFS, that return the same
+ device and inode number for the snapshot file and the original.
+ </para></listitem>
+ <listitem><para>
+ Shadow copy results are by default sorted before being sent to the
+ client. This is beneficial for filesystems that don't read
+ directories alphabetically (the default unix). Sort ordering can be
+ configured and sorting can be turned off completely if the file
+ system sorts its directory listing.
+ </para></listitem>
+ </orderedlist>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>CONFIGURATION</title>
+
+ <para><command>vfs_shadow_copy2</command> relies on a filesystem
+ snapshot implementation. Many common filesystems have native
+ support for this.
+ </para>
+
+ <para>Filesystem snapshots must be available under
+ specially named directories in order to be recognized by
+ <command>vfs_shadow_copy2</command>. These snapshot directory
+ is typically a direct subdirectory of the share root's mountpoint
+ but there are other modes that can be configured with the
+ parameters described in detail below.</para>
+
+ <para>The snapshot at a given point in time is expected in a
+ subdirectory of the snapshot directory where the snapshot's
+ directory is expected to be a formatted version of the
+ snapshot time. The default format which can be changed
+ with the <command>shadow:format</command> option
+ is @GMT-YYYY.MM.DD-hh.mm.ss, where:
+ <itemizedlist>
+ <listitem><para><command>YYYY</command> is the 4 digit year</para></listitem>
+ <listitem><para><command>MM</command> is the 2 digit month</para></listitem>
+ <listitem><para><command>DD</command> is the 2 digit day</para></listitem>
+ <listitem><para><command>hh</command> is the 2 digit hour</para></listitem>
+ <listitem><para><command>mm</command> is the 2 digit minute</para></listitem>
+ <listitem><para><command>ss</command> is the 2 digit second.</para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para>The <command>vfs_shadow_copy2</command> snapshot naming
+ convention can be produced with the following
+ <citerefentry><refentrytitle>date</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> command:
+ <programlisting>
+ TZ=GMT date +@GMT-%Y.%m.%d-%H.%M.%S
+ </programlisting></para>
+
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>shadow:mountpoint = MOUNTPOINT
+ </term>
+ <listitem>
+ <para>
+ With this parameter, one can specify the mount point
+ of the filesystem that contains the share path.
+ Usually this mount point is automatically detected.
+ But for some constellations, in particular tests,
+ it can be convenient to be able to specify it.
+ </para>
+ <para>Example: shadow:mountpoint = /path/to/filesystem</para>
+ <para>Default: shadow:mountpoint = NOT SPECIFIED</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shadow:snapdir = SNAPDIR
+ </term>
+ <listitem>
+ <para>
+ Path to the directory where the file system of
+ the share keeps its snapshots.
+ If an absolute path is specified, it is used as-is.
+ If a relative path is specified, then it is taken
+ relative to the mount point of the filesystem of
+ the share root. (See <command>shadow:mountpoint</command>.)
+ </para>
+ <para>
+ Note that <command>shadow:snapdirseverywhere</command>
+ depends on this parameter and needs a relative path.
+ Setting an absolute path disables
+ <command>shadow:snapdirseverywhere</command>.
+ </para>
+ <para>
+ Note that the <command>shadow:crossmountpoints</command>
+ option also requires a relative snapdir.
+ Setting an absolute path disables
+ <command>shadow:crossmountpoints</command>.
+ </para>
+ <para>Example: shadow:snapdir = /some/absolute/path</para>
+ <para>Default: shadow:snapdir = .snapshots</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shadow:basedir = BASEDIR
+ </term>
+ <listitem>
+ <para>
+ The basedir option allows one to specify a directory
+ between the share's mount point and the share root,
+ relative to which the file system's snapshots are taken.
+ </para>
+ <para>
+ For example, if
+ <itemizedlist>
+ <listitem><para>
+ <command>basedir = mountpoint/rel_basedir</command>
+ </para></listitem>
+ <listitem><para>
+ <command>share_root = basedir/rel_share_root</command>
+ </para></listitem>
+ <listitem><para>
+ <command>snapshot_path = mountpoint/snapdir</command>
+ </para>
+ <para>
+ or
+ <command>snapshot_path = snapdir</command>
+ if snapdir is absolute
+ </para></listitem>
+ </itemizedlist>
+ then the snapshot of a
+ <command>file = mountpoint/rel_basedir/rel_share_root/rel_file</command>
+ at a time TIME will be found under
+ <command>snapshot_path/FS_GMT_TOKEN(TIME)/rel_share_root/rel_file</command>,
+ where FS_GMT_TOKEN(TIME) is the timestamp string belonging
+ to TIME in the format required by the file system.
+ (See <command>shadow:format</command>.)
+ </para>
+ <para>The default for the basedir is the mount point
+ of the file system of the share root
+ (see <command>shadow:mountpoint</command>).
+ </para>
+ <para>
+ Note that the <command>shadow:snapdirseverywhere</command>
+ and <command>shadow:crossmountpoints</command>
+ options are incompatible with <command>shadow:basedir</command>
+ and disable the basedir setting.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shadow:snapsharepath = SNAPSHAREPATH
+ </term>
+ <listitem>
+ <para>
+ With this parameter, one can specify the path of the share's
+ root directory in snapshots, relative to the snapshot's
+ root directory. It is an alternative method to
+ <command>shadow:basedir</command>, allowing greater control.
+ </para>
+ <para>
+ For example, if within each
+ snapshot the files of the share have a
+ <command>path/to/share/</command> prefix, then
+ <command>shadow:snapsharepath</command> can be
+ set to <command>path/to/share</command>.
+ </para>
+ <para>
+ With this parameter, it is no longer assumed that a
+ snapshot represents an image of the original file system or
+ a portion of it. For example, a system could perform
+ backups of only files contained in shares, and then
+ expose the backup files in a logical structure:
+ </para>
+ <itemizedlist>
+ <listitem><para>share1/</para></listitem>
+ <listitem><para>share2/</para></listitem>
+ <listitem><para>.../</para></listitem>
+ </itemizedlist>
+ <para>
+ Note that the <command>shadow:snapdirseverywhere</command>
+ and the <command>shadow:basedir</command> options
+ are incompatible with <command>shadow:snapsharepath</command>
+ and disable <command>shadow:snapsharepath</command> setting.
+ </para>
+ <para>Example: shadow:snapsharepath = path/to/share</para>
+ <para>Default: shadow:snapsharepath = NOT SPECIFIED</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shadow:sort = asc/desc
+ </term>
+ <listitem>
+ <para>By default, this module sorts the shadow copy data
+ alphabetically before sending it to the client.
+ With this parameter, one can specify the sort order.
+ Possible known values are desc (descending, the default)
+ and asc (ascending). If the file system lists directories
+ alphabetically sorted, one can turn off sorting in this
+ module by specifying any other value.
+ </para>
+ <para>Example: shadow:sort = asc</para>
+ <para>Example: shadow:sort = none</para>
+ <para>Default: shadow:sort = desc</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shadow:localtime = yes/no
+ </term>
+ <listitem>
+ <para>This is an optional parameter that indicates whether the
+ snapshot names are in UTC/GMT or in local time. If it is
+ disabled then UTC/GMT is expected.
+ </para>
+ <para>shadow:localtime = no</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shadow:format = format specification for snapshot names
+ </term>
+ <listitem>
+ <para>This is an optional parameter that specifies the format
+ specification for the naming of snapshots in the file system.
+ The format must be compatible with the conversion
+ specifications recognized by str[fp]time.
+ </para>
+ <para>Default: shadow:format = "@GMT-%Y.%m.%d-%H.%M.%S"</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shadow:sscanf = yes/no</term>
+ <listitem>
+ <para>
+ This parameter can be used to specify that the time in
+ format string is given as an unsigned long integer (%lu)
+ rather than a time strptime() can parse.
+ The result must be a unix time_t time.
+ </para>
+ <para>Default: shadow:sscanf = no</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shadow:fixinodes = yes/no
+ </term>
+ <listitem>
+ <para>If you enable <command moreinfo="none">shadow:fixinodes
+ </command> then this module will modify the apparent inode
+ number of files in the snapshot directories using a hash of the
+ files path. This is needed for snapshot systems where the
+ snapshots have the same device:inode number as the original
+ files (such as happens with GPFS snapshots). If you don't set
+ this option then the 'restore' button in the shadow copy UI
+ will fail with a sharing violation.
+ </para>
+ <para>Default: shadow:fixinodes = no</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shadow:snapdirseverywhere = yes/no
+ </term>
+ <listitem>
+ <para>
+ If you enable
+ <command moreinfo="none">shadow:snapdirseverywhere </command>
+ then this module will look
+ out for snapshot directories in the current working directory
+ and all parent directories, stopping at the mount point
+ by default.
+ But see <command>shadow:crossmountpoints</command> how to change
+ that behaviour.
+ </para>
+ <para>
+ An example where this is needed are independent filesets in
+ IBM's GPFS, but other filesystems might support snapshotting
+ only particular subtrees of the filesystem as well.
+ </para>
+ <para>
+ Note that <command>shadow:snapdirseverywhere</command>
+ depends on <command>shadow:snapdir</command> and needs it to be
+ a relative path. Setting an absolute snapdir path disables
+ <command>shadow:snapdirseverywhere</command>.
+ </para>
+ <para>
+ Note that this option is incompatible with the
+ <command>shadow:basedir</command> option and removes the
+ <command>shadow:basedir</command> setting by itself.
+ </para>
+ <para>Example: shadow:snapdirseverywhere = yes</para>
+ <para>Default: shadow:snapdirseverywhere = no</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shadow:crossmountpoints = yes/no
+ </term>
+ <listitem>
+ <para>
+ This option is effective in the case of
+ <command>shadow:snapdirseverywhere = yes</command>.
+ Setting this option makes the module not stop at the
+ first mount point encountered when looking for snapdirs,
+ but lets it search potentially all through the path
+ instead.
+ </para>
+ <para>
+ An example where this is needed are independent filesets in
+ IBM's GPFS, but other filesystems might support snapshotting
+ only particular subtrees of the filesystem as well.
+ </para>
+ <para>
+ Note that <command>shadow:crossmountpoints</command>
+ depends on <command>shadow:snapdir</command> and needs it to be
+ a relative path. Setting an absolute snapdir path disables
+ <command>shadow:crossmountpoints</command>.
+ </para>
+ <para>
+ Note that this option is incompatible with the
+ <command>shadow:basedir</command> option and removes the
+ <command>shadow:basedir</command> setting by itself.
+ </para>
+ <para>Example: shadow:crossmountpoints = yes</para>
+ <para>Default: shadow:crossmountpoints = no</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shadow:snapprefix
+ </term>
+ <listitem>
+ <para>
+ With growing number of snapshots file-systems need some mechanism
+ to differentiate one set of snapshots from other, e.g. monthly, weekly,
+ manual, special events, etc. Therefore these file-systems provide different
+ ways to tag snapshots, e.g. provide a configurable way to name snapshots,
+ which is not just based on time. With only <command>shadow:format</command>
+ it is very difficult to filter these snapshots. With this optional parameter,
+ one can specify a variable prefix component for names of the snapshot
+ directories in the file-system. If this parameter is set, together with the
+ <command>shadow:format</command> and <command>shadow:delimiter</command>
+ parameters it determines the possible names of snapshot
+ directories in the file-system. The option only supports Basic
+ Regular Expression (BRE).
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>shadow:delimiter
+ </term>
+ <listitem>
+ <para>
+ This optional parameter is used as a delimiter between
+ <command>shadow:snapprefix</command> and <command>shadow:format</command>.
+ This parameter is used only when <command>shadow:snapprefix</command>
+ is set.
+ </para>
+ <para>Default: shadow:delimiter = "_GMT"</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Add shadow copy support to user home directories:</para>
+<programlisting>
+ <smbconfsection name="[homes]"/>
+ <smbconfoption name="vfs objects">shadow_copy2</smbconfoption>
+ <smbconfoption name="shadow:snapdir">/data/snapshots</smbconfoption>
+ <smbconfoption name="shadow:basedir">/data/home</smbconfoption>
+ <smbconfoption name="shadow:sort">desc</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>CAVEATS</title>
+
+ <para>This is not a backup, archival, or version control solution.
+ </para>
+
+ <para>With Samba or Windows servers,
+ <command>vfs_shadow_copy2</command> is designed to be an end-user
+ tool only. It does not replace or enhance your backup and
+ archival solutions and should in no way be considered as
+ such. Additionally, if you need version control, implement a
+ version control system.</para>
+
+</refsect1>
+
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_shell_snap.8.xml b/docs-xml/manpages/vfs_shell_snap.8.xml
new file mode 100644
index 0000000..319d825
--- /dev/null
+++ b/docs-xml/manpages/vfs_shell_snap.8.xml
@@ -0,0 +1,154 @@
+<?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="vfs_shell_snap.8">
+
+<refmeta>
+ <refentrytitle>vfs_shell_snap</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>vfs_shell_snap</refname>
+ <refpurpose>
+ Shell script callouts for snapshot creation and deletion
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = shell_snap</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> suite.</para>
+
+ <para>
+ The <command>vfs_shell_snap</command> VFS provides shell-script
+ callouts for snapshot creation and deletion operations issued
+ by remote clients using the File Server Remote VSS Protocol
+ (FSRVP).
+ </para>
+
+ <para>
+ The following shell callouts may be configured in smb.conf:
+ </para>
+ <para>
+ <smbconfoption name="shell_snap:check path command"></smbconfoption>
+ <itemizedlist>
+ <listitem><para>
+ Called when an FSRVP client wishes to check
+ whether a given share supports snapshot
+ create/delete requests.
+ </para></listitem>
+ <listitem><para>
+ The command is called with a single
+ <parameter>share_path</parameter> argument.
+ </para></listitem>
+ <listitem><para>
+ The command must return 0 if
+ <parameter>share_path</parameter> is capable of
+ being snapshotted.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ <smbconfoption name="shell_snap:create command"></smbconfoption>
+ <itemizedlist>
+ <listitem><para>
+ Called when an FSRVP client wishes to create
+ a snapshot.
+ </para></listitem>
+ <listitem><para>
+ The command is called with a single
+ <parameter>share_path</parameter> argument.
+ </para></listitem>
+ <listitem><para>
+ The command must return 0 status if the
+ snapshot was successfully taken.
+ </para></listitem>
+ <listitem><para>
+ The command must output the path of the newly
+ created snapshot to stdout.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ <smbconfoption name="shell_snap:delete command"></smbconfoption>
+ <itemizedlist>
+ <listitem><para>
+ Called when an FSRVP client wishes to delete
+ a snapshot.
+ </para></listitem>
+ <listitem><para>
+ The command is called with
+ <parameter>base_share_path</parameter> and
+ <parameter>snapshot_share_path</parameter>
+ arguments.
+ </para></listitem>
+ <listitem><para>
+ The command must return 0 status if the
+ snapshot was successfully removed.
+ </para></listitem>
+ </itemizedlist>
+ All commands are executed as the authenticated FSRVP client
+ user.
+ </para>
+
+ <para>
+ This module is stackable.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>CONFIGURATION</title>
+
+ <programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="vfs objects">shell_snap</smbconfoption>
+ <smbconfoption name="shell_snap:check path command">
+ snap_check_path.sh</smbconfoption>
+ <smbconfoption name="shell_snap:create command">
+ snap_create.sh</smbconfoption>
+ <smbconfoption name="shell_snap:delete command">
+ snap_delete.sh</smbconfoption>
+ </programlisting>
+
+ <para>
+ Samba's FSRVP server must be configured in the [global] section:
+ </para>
+
+ <programlisting>
+ <smbconfsection name="[global]"/>
+ <smbconfoption name="registry shares">yes</smbconfoption>
+ <smbconfoption name="include">registry</smbconfoption>
+ </programlisting>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>
+ This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_snapper.8.xml b/docs-xml/manpages/vfs_snapper.8.xml
new file mode 100644
index 0000000..9663ece
--- /dev/null
+++ b/docs-xml/manpages/vfs_snapper.8.xml
@@ -0,0 +1,123 @@
+<?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="vfs_snapper.8">
+
+<refmeta>
+ <refentrytitle>vfs_snapper</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>vfs_snapper</refname>
+ <refpurpose>
+ Expose snapshots managed by snapper as shadow-copies
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = snapper</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> suite.</para>
+
+ <para>
+ The <command>vfs_snapper</command> VFS module exposes snapshots
+ managed by snapper for use by Samba. This provides the ability
+ for remote SMB clients to access shadow-copies via Windows
+ Explorer using the "previous versions" dialog.
+ </para>
+
+ <para>
+ Snapshots can also be created and remove remotely, using the
+ File Server Remote VSS Protocol (FSRVP). Snapshot creation and
+ deletion requests are forwarded to snapper via DBus.
+ </para>
+
+ <para>
+ This module is stackable.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>CONFIGURATION</title>
+
+ <para>
+ The underlying share path must have a corresponding snapper
+ configuration file. The snapshot directory tree must allow
+ access for relevant users.
+ </para>
+
+ <programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="vfs objects">snapper</smbconfoption>
+ </programlisting>
+
+ <para>
+ For remote snapshot creation and deletion, Samba's FSRVP
+ server must be configured in the [global] section:
+ </para>
+
+ <programlisting>
+ <smbconfsection name="[global]"/>
+ <smbconfoption name="registry shares">yes</smbconfoption>
+ <smbconfoption name="include">registry</smbconfoption>
+ </programlisting>
+</refsect1>
+
+<refsect1>
+ <title>PERMISSIONS</title>
+ <para>
+ Snapper stores snapshots under a .snapshots subdirectory. This
+ directory must permit traversal for any users wishing to access
+ snapshots via the Windows Explorer previous versions dialog.
+ By default, traversal is forbidden for all non-root users.
+ Additionally, users must be granted permission to list snapshots
+ managed by snapper, via snapper's ALLOW_USERS or ALLOW_GROUPS
+ options. Snapper can grant these users and groups .snapshots
+ traversal access automatically via the SYNC_ACL option.
+ </para>
+ <para>
+ Remote snapshot creation and deletion is only permitted by Samba
+ for Active Directory administrators, backup operators, or users
+ explicitly granted SeBackupPrivilege. Snapper must also permit
+ creation and deletion for the appropriate user, via snapper's
+ ALLOW_USERS or ALLOW_GROUPS options.
+ </para>
+ <para>
+ The DiskShadow.exe FSRVP client initially authenticates as the
+ Active Directory computer account. This account must therefore
+ be granted the same permissions as the user account issuing the
+ snapshot creation and deletion requests.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>
+ This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_streams_depot.8.xml b/docs-xml/manpages/vfs_streams_depot.8.xml
new file mode 100644
index 0000000..88a2766
--- /dev/null
+++ b/docs-xml/manpages/vfs_streams_depot.8.xml
@@ -0,0 +1,97 @@
+<?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="vfs_streams_depot.8">
+
+<refmeta>
+ <refentrytitle>vfs_streams_depot</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>vfs_streams_depot</refname>
+ <refpurpose>EXPERIMENTAL module to store alternate data streams in a
+ central directory.
+ </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = streams_depot</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This <emphasis>EXPERIMENTAL</emphasis> VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_streams_depot</command> enables storing of NTFS
+ alternate data streams in the file system. As a normal posix file
+ system does not support the concept of multiple data streams per file,
+ the streams_depot module stores the data in files in a separate
+ directory.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>streams_depot:directory = PATH</term>
+ <listitem>
+ <para>Path of the directory where the alternate data streams
+ should be stored. Defaults to the sharepath/.streams.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>streams_depot:delete_lost = [ yes | no ]</term>
+ <listitem>
+ <para>In the case of an already existing data streams directory
+ for a newly created file the streams directory will be renamed
+ to "lost-%lu", random(). With this option lost stream directories
+ will be removed instead of renamed.</para>
+ <itemizedlist>
+ <listitem><para>
+ <command>no(default)</command> - rename lost streams to
+ "lost-%lu", random().
+ </para></listitem>
+ <listitem><para>
+ <command>yes</command> - remove lost streams.
+ </para></listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+<programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="vfs objects">streams_depot</smbconfoption>
+</programlisting>
+
+</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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_streams_xattr.8.xml b/docs-xml/manpages/vfs_streams_xattr.8.xml
new file mode 100644
index 0000000..6645928
--- /dev/null
+++ b/docs-xml/manpages/vfs_streams_xattr.8.xml
@@ -0,0 +1,98 @@
+<?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="vfs_streams_xattr.8">
+
+<refmeta>
+ <refentrytitle>vfs_streams_xattr</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>vfs_streams_xattr</refname>
+ <refpurpose>Store alternate data streams in posix xattrs</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = streams_xattr</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_streams_xattr</command> enables storing of NTFS
+ alternate data streams in the file system. As a normal posix file
+ system does not support the concept of multiple data streams per file,
+ the streams_xattr module stores the data in posix extended attributes
+ (xattrs). The name of these attributes by default is
+ user.DosStream."ADS-NAME". The prefix "user.DosStream." can be changed
+ with the module option <command>streams_xattr:prefix</command>, but be
+ aware that this will also expose those ADS over the SMB extended
+ attributes interface.</para>
+
+ <para>The file system that is shared with this module enabled must
+ support xattrs.</para>
+
+ <para>Please note that most file systems have severe limitations on
+ the size of xattrs. So this module might work for applications like IE
+ that stores small zone information in streams but will fail for
+ applications that store serious amounts of data in ADSs.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>streams_xattr:prefix = STRING</term>
+ <listitem>
+ <para>Name prefix used when storing an ADS in an xattr, defaults to
+ <command>user.DosStream.</command>. Changing this will also
+ expose ADS over the SMB extended attributes interface.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>streams_xattr:store_stream_type = [yes|no]</term>
+ <listitem>
+ <para>Whether the xattr names for Alternate Data Streams of type
+ "$DATA" are suffixed by the stream type string ":$DATA".
+ The default is <command>yes</command>.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+<programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="vfs objects">streams_xattr</smbconfoption>
+</programlisting>
+
+</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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_syncops.8.xml b/docs-xml/manpages/vfs_syncops.8.xml
new file mode 100644
index 0000000..a1ef629
--- /dev/null
+++ b/docs-xml/manpages/vfs_syncops.8.xml
@@ -0,0 +1,99 @@
+<?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="vfs_syncops.8">
+
+<refmeta>
+ <refentrytitle>vfs_syncops</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>vfs_syncops</refname>
+ <refpurpose>Ensure meta data operations are performed synchronously.</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = syncops</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>
+ Some filesystems (even some journaled filesystems) require that a
+ fsync() be performed on many meta data operations to ensure that the
+ operation is guaranteed to remain in the filesystem after a power
+ failure. This is particularly important for some cluster filesystems
+ which are participating in a node failover system with clustered
+ Samba. On those filesystems the <command>vfs_syncops</command> VFS module
+ provides a way to perform those operations safely.
+ </para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>CONFIGURATION</title>
+
+ <para>
+ Most of the performance loss with the <command>vfs_syncops</command>
+ VFS module is in fsync on close(). You can disable that with
+ <command>syncops:onclose = no</command> that can be set either globally
+ or per share.
+ </para>
+
+ <para>
+ On certain filesystems that only require the last data written to be
+ fsync()'ed, you can disable the metadata synchronization of this module with
+ <command>syncops:onmeta = no</command>. This option can be set either
+ globally or per share.
+ </para>
+
+ <para>
+ The <command>vfs_syncops</command> VFS module can also be disabled
+ completely for a share with <command>syncops:disable = true</command>.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Add syncops functionality for [share]:</para>
+<programlisting>
+ <smbconfsection name="[share]"/>
+ <smbconfoption name="path">/data/share</smbconfoption>
+ <smbconfoption name="vfs objects">syncops</smbconfoption>
+ <smbconfoption name="syncops:onclose">no</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_time_audit.8.xml b/docs-xml/manpages/vfs_time_audit.8.xml
new file mode 100644
index 0000000..a9fcbf9
--- /dev/null
+++ b/docs-xml/manpages/vfs_time_audit.8.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
+<refentry id="vfs_time_audit.8">
+
+<refmeta>
+ <refentrytitle>vfs_time_audit</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>vfs_time_audit</refname>
+ <refpurpose>samba vfs module to log slow VFS operations</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = time_audit</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>time_audit</command> VFS module logs system calls
+ that take longer than the number of milliseconds defined by the variable
+ <command>time_audit:timeout</command>. It will log the calls and
+ the time spent in it.
+ </para>
+
+ <para>It's kind of comparable with <command>strace -T</command> and
+ is helpful to reveal performance problems with the underlying file
+ and storage subsystems.</para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>time_audit:timeout = number of milliseconds</term>
+ <listitem>
+ <para>VFS calls that take longer than the defined number of milliseconds
+ that should be logged. The default is 10000 (10s).
+ </para>
+ </listitem>
+
+ </varlistentry>
+
+
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>This would log VFS calls that take longer than 3 seconds:</para>
+
+<programlisting>
+ <smbconfsection name="[sample_share]"/>
+ <smbconfoption name="path">/test/sample_share</smbconfoption>
+ <smbconfoption name="vfs objects">time_audit</smbconfoption>
+ <smbconfoption name="time_audit:timeout">3000</smbconfoption>
+</programlisting>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is part of version &doc.version; 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 time_audit VFS module was created with contributions from
+ Abhidnya Chirmule.
+ </para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_tsmsm.8.xml b/docs-xml/manpages/vfs_tsmsm.8.xml
new file mode 100644
index 0000000..d6f3da9
--- /dev/null
+++ b/docs-xml/manpages/vfs_tsmsm.8.xml
@@ -0,0 +1,135 @@
+<?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="vfs_tsmsm.8">
+
+<refmeta>
+ <refentrytitle>vfs_tsmsm</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>vfs_tsmsm</refname>
+ <refpurpose>VFS module for handling offline files with Tivoli Storage Manager Space Management</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = tsmsm</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>tsmsm</command> VFS module is an
+ extension for handling offline files with Tivoli
+ Storage Manager Space Management.
+ </para>
+
+ <para>
+ It tries to avoid calling expensive DMAPI calls with some
+ heuristics based on the fact that number of blocks reported of a
+ file multiplied by 512 will be bigger than 'online ratio' of
+ actual size for online (non-migrated) files.
+ If heuristic check fails, the module calls DMAPI and asks for
+ a specific attribute which is present for offline (migrated) files.
+ If this attribute presents, the file is considered offline.
+ </para>
+
+ <para>This module is not stackable.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+
+ <term>tsmsm:hsm script = [ path to hsm script ]</term>
+ <listitem>
+ <para>
+ hsm script should point to a shell script which
+ accepts two arguments: operation and filepath.
+ the tsmsm module only uses "offline" for operation
+ to set the file under filepath offline.
+ </para>
+ </listitem>
+
+ </varlistentry>
+ <varlistentry>
+
+ <term>tsmsm:online ratio = [ number ]</term>
+ <listitem>
+ <para>
+ Ratio to check reported size against actual file size.
+ The default value is 0.5.
+ </para>
+ </listitem>
+
+ </varlistentry>
+
+ <varlistentry>
+
+ <term>tsmsm:dmapi attribute = [ attribute-name ]</term>
+ <listitem>
+ <para>
+ Name of a DMAPI attribute that is present when a file is offline.
+ The default is "IBMobj" (which is what GPFS uses).
+ </para>
+ </listitem>
+
+ </varlistentry>
+ <varlistentry>
+
+ <term>tsmsm:dmapi value = [ value for the DMAPI attribute ]</term>
+ <listitem>
+ <para>
+ Value that the DMAPI attribute should have for the file to
+ be considered offline. The default is empty (no value required).
+ </para>
+ </listitem>
+
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>A GPFS mount with TSM support can be exported via Samba as follows:</para>
+
+<programlisting>
+ <smbconfsection name="[gpfs_tsm_share]"/>
+ <smbconfoption name="vfs objects">tsmsm gpfs</smbconfoption>
+ <smbconfoption name="path">/test/gpfs_mount</smbconfoption>
+</programlisting>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is part of version &doc.version; 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>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_unityed_media.8.xml b/docs-xml/manpages/vfs_unityed_media.8.xml
new file mode 100644
index 0000000..99b5322
--- /dev/null
+++ b/docs-xml/manpages/vfs_unityed_media.8.xml
@@ -0,0 +1,115 @@
+<?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="vfs_media_harmony.8">
+
+<refmeta>
+ <refentrytitle>vfs_unityed_media</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>vfs_unityed_media</refname>
+ <refpurpose>Allow multiple Avid clients to share a network drive.</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = unityed_media</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>Unityed Media is related with Media Harmony VFS, the
+ main difference between Unityed Media and Media Harmony is
+ that Unityed Media doesn't need manual refreshing of media
+ directories. Unityed Media handles your media files in a similar
+ way to the way Unity, ISIS, EditShare or another dedicated solution
+ does. Without client-side application and on hardware of your
+ choice.</para>
+
+ <para>This module is stackable.</para>
+</refsect1>
+
+<refsect1>
+ <title>CONFIGURATION</title>
+
+ <para>If Mac and Windows Avid clients will be accessing the same
+ folder, they should be given separate share definitions, with
+ hidden Mac files vetoed on the Windows share. See EXAMPLES.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>unityed_media:clientid = user | hostname | ip </term>
+ <listitem>
+ <para>Controls what client related identifier is
+ appended to user specific paths:</para>
+
+ <itemizedlist>
+ <listitem><para><command>user (default)</command> -
+ use the username. </para></listitem>
+
+ <listitem><para><command>hostname</command> - use the
+ hostname. Note this will not work with OS X clients as
+ these always send a generic string ("workstation") to
+ the server..</para></listitem>
+
+ <listitem><para><command>ip</command> - use the
+ client's IP address. NOTE: this is untested and may
+ not work at all.</para></listitem>
+ </itemizedlist>
+
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Enable unityed_media for Mac and Windows clients:</para>
+<programlisting>
+ <smbconfsection name="[avid_mac]"/>
+ <smbconfoption name="path">/avid</smbconfoption>
+ <smbconfoption name="vfs objects">unityed_media</smbconfoption>
+ <smbconfsection name="[avid_win]"/>
+ <smbconfoption name="path">/avid</smbconfoption>
+ <smbconfoption name="vfs objects">unityed_media</smbconfoption>
+ <smbconfoption name="veto files">/.DS_Store/._@/.Trash@/.Spotlight@/.hidden/.hotfiles@/.vol/</smbconfoption>
+ <smbconfoption name="delete veto files">yes</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_virusfilter.8.xml b/docs-xml/manpages/vfs_virusfilter.8.xml
new file mode 100644
index 0000000..f73c41e
--- /dev/null
+++ b/docs-xml/manpages/vfs_virusfilter.8.xml
@@ -0,0 +1,381 @@
+<?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="vfs_virusfilter.8">
+
+<refmeta>
+ <refentrytitle>vfs_virusfilter</refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">System Administration tools</refmiscinfo>
+ <refmiscinfo class="version">4.8</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>vfs_virusfilter</refname>
+ <refpurpose>On access virus scanner</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = virusfilter</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This is a set of various Samba VFS modules to scan and filter
+ virus files on Samba file services with an anti-virus scanner.</para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>virusfilter:scanner</term>
+ <listitem>
+ <para>The antivirus scan-engine.</para>
+ <itemizedlist>
+ <listitem><para><emphasis>sophos</emphasis>, the Sophos AV
+ scanner</para></listitem>
+ <listitem><para><emphasis>fsav</emphasis>, the F-Secure AV
+ scanner</para></listitem>
+ <listitem><para><emphasis>clamav</emphasis>, the ClamAV
+ scanner</para></listitem>
+ <listitem><para><emphasis>dummy</emphasis>, dummy scanner used in
+ tests. Checks against the <emphasis>infected files</emphasis>
+ parameter and flags any name that matches as infected.
+ </para></listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:socket path = PATH</term>
+ <listitem>
+ <para>Path of local socket for the virus scanner.
+ </para>
+ <para>If this option is not set, the default path depends on the
+ configured AV scanning engine.
+ </para>
+ <para>For the <emphasis>sophos</emphasis> backend the default is
+ <emphasis>/var/run/savdi/sssp.sock</emphasis>.</para>
+ <para>For the <emphasis>fsav</emphasis> backend the default is
+ <emphasis>/tmp/.fsav-0</emphasis>.</para>
+ <para>For the <emphasis>clamav</emphasis> backend the default is
+ <emphasis>/var/run/clamav/clamd.ctl</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:connect timeout = 30000</term>
+ <listitem>
+ <para>Controls how long to wait on connecting to the virus
+ scanning process before timing out. Value is in milliseconds.
+ </para>
+ <para>If this option is not set, the default is 30000.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:io timeout = 60000</term>
+ <listitem>
+ <para>Controls how long to wait on communications with the virus
+ scanning process before timing out. Value is in milliseconds.
+ </para>
+ <para>If this option is not set, the default is 60000.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:scan on open = yes</term>
+ <listitem>
+ <para>This option controls whether files are scanned on open.
+ </para>
+ <para>If this option is not set, the default is yes.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:scan on close = no</term>
+ <listitem>
+ <para>This option controls whether files are scanned on close.
+ </para>
+ <para>If this option is not set, the default is no.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:max file size = 100000000</term>
+ <listitem>
+ <para>This is the largest sized file, in bytes, which will be scanned.
+ </para>
+ <para>If this option is not set, the default is 100MB.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:min file size = 10</term>
+ <listitem>
+ <para>This is the smallest sized file, in bytes, which will be scanned.
+ </para>
+ <para>If this option is not set, the default is 10.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:infected file action = nothing</term>
+ <listitem>
+ <para>What to do with an infected file. The options are
+ nothing, quarantine, rename, delete.</para>
+ <para>If this option is not set, the default is nothing.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:infected file errno on open = EACCES</term>
+ <listitem>
+ <para>What errno to return on open if the file is infected.
+ </para>
+ <para>If this option is not set, the default is EACCES.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:infected file errno on close = 0</term>
+ <listitem>
+ <para>What errno to return on close if the file is infected.
+ </para>
+ <para>If this option is not set, the default is 0.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:quarantine directory = PATH</term>
+ <listitem>
+ <para>Where to move infected files. This path must be an
+ absolute path.</para>
+ <para>If this option is not set, the default is ".quarantine"
+ relative to the share path. </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:quarantine prefix = virusfilter.</term>
+ <listitem>
+ <para>Prefix for quarantined files.</para>
+ <para>If this option is not set, the default is "virusfilter.".</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:quarantine suffix = .infected</term>
+ <listitem>
+ <para>Suffix for quarantined files.
+ This option is only used if keep name is true. Otherwise it is ignored.</para>
+ <para>If this option is not set, the default is ".infected".</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:rename prefix = virusfilter.</term>
+ <listitem>
+ <para>Prefix for infected files.</para>
+ <para>If this option is not set, the default is "virusfilter.".</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:rename suffix = .infected</term>
+ <listitem>
+ <para>Suffix for infected files.</para>
+ <para>If this option is not set, the default is ".infected".</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:quarantine keep tree = yes</term>
+ <listitem>
+ <para>If keep tree is set, the directory structure relative
+ to the share is maintained in the quarantine directory.
+ </para>
+ <para>If this option is not set, the default is yes.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:quarantine keep name = yes</term>
+ <listitem>
+ <para>Should the file name be left unmodified other than adding a suffix
+ and/or prefix and a random suffix name as defined in virusfilter:rename prefix
+ and virusfilter:rename suffix.</para>
+ <para>If this option is not set, the default is yes.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:infected file command = @SAMBA_DATADIR@/bin/virusfilter-notify --mail-to virusmaster@example.com --cc "%U@example.com" --from samba@example.com --subject-prefix "Samba: Infected File: "</term>
+ <listitem>
+ <para>External command to run on an infected file is found.</para>
+ <para>If this option is not set, the default is none.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:scan archive = true</term>
+ <listitem>
+ <para>This defines whether or not to scan archives.</para>
+ <para>Sophos and F-Secure support this and it defaults to false.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:max nested scan archive = 1</term>
+ <listitem>
+ <para>This defines the maximum depth to search nested archives.</para>
+ <para>The Sophos and F-Secure support this and it defaults to 1.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:scan mime = true</term>
+ <listitem>
+ <para>This defines whether or not to scan mime files.</para>
+ <para>Only the <emphasis>fsav</emphasis>scanner supports this
+ option and defaults to false.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:scan error command = @SAMBA_DATADIR@/bin/virusfilter-notify --mail-to virusmaster@example.com --from samba@example.com --subject-prefix "Samba: Scan Error: "</term>
+ <listitem>
+ <para>External command to run on scan error.</para>
+ <para>If this option is not set, the default is none.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:exclude files = empty</term>
+ <listitem>
+ <para>Files to exclude from scanning.</para>
+ <para>If this option is not set, the default is empty.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:infected files = empty</term>
+ <listitem>
+ <para>Files that virusfilter <emphasis>dummy</emphasis> flags as infected.</para>
+ <para>If this option is not set, the default is empty.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:block access on error = false</term>
+ <listitem>
+ <para>Controls whether or not access should be blocked on
+ a scanning error.</para>
+ <para>If this option is not set, the default is false.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:scan error errno on open = EACCES</term>
+ <listitem>
+ <para>What errno to return on open if there is an error in
+ scanning the file and block access on error is true.
+ </para>
+ <para>If this option is not set, the default is EACCES.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:scan error errno on close = 0</term>
+ <listitem>
+ <para>What errno to return on close if there is an error in
+ scanning the file and block access on error is true.
+ </para>
+ <para>If this option is not set, the default is 0.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:cache entry limit = 100</term>
+ <listitem>
+ <para>The maximum number of entries in the scanning results
+ cache. Due to how Samba's memcache works, this is approximate.</para>
+ <para>If this option is not set, the default is 100.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:cache time limit = 10</term>
+ <listitem>
+ <para>The maximum number of seconds that a scanning result
+ will stay in the results cache. -1 disables the limit.
+ 0 disables caching.</para>
+ <para>If this option is not set, the default is 10.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:quarantine directory mode = 0755</term>
+ <listitem>
+ <para>This is the octet mode for the quarantine directory and
+ its sub-directories as they are created.</para>
+ <para>If this option is not set, the default is 0755 or
+ S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH |
+ S_IXOTH.</para>
+ <para>Permissions must be such that all users can read and
+ search. I.E. don't mess with this unless you really know what
+ you are doing.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>virusfilter:block suspected file = false</term>
+ <listitem>
+ <para>With this option on, suspected malware will be blocked as
+ well. Only the <emphasis>fsav</emphasis>scanner supports this
+ option.</para>
+ <para>If this option is not set, the default is false.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>NOTES</title>
+
+ <para>This module can scan other than default streams, if the
+ alternative datastreams are each backed as separate files, such as with
+ the vfs module streams_depot.</para>
+
+ <para>For proper operation the streams support module must be before
+ the virusfilter module in your vfs objects list (i.e. streams_depot
+ must be called before virusfilter module).</para>
+
+ <para>This module is intended for security in depth by providing
+ virus scanning capability on the server. It is not intended to be used
+ in lieu of proper client based security. Other modules for security may
+ exist and may be desirable for security in depth on the server.</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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_widelinks.8.xml b/docs-xml/manpages/vfs_widelinks.8.xml
new file mode 100644
index 0000000..3824650
--- /dev/null
+++ b/docs-xml/manpages/vfs_widelinks.8.xml
@@ -0,0 +1,90 @@
+<?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="vfs_widelinks.8">
+
+<refmeta>
+ <refentrytitle>vfs_widelinks</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>vfs_widelinks</refname>
+ <refpurpose>make a Samba share ignore filesystem symbolic links inside a share</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = widelinks</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_widelinks</command> VFS module
+ hides the existence of symbolic links in the filesystem
+ inside a share. It is used in Samba version 4.13 and above
+ to implement the <filename>smb.conf</filename>"wide links = yes"
+ functionality that used to be inside the core smbd code.
+ The module should not be loaded explicitly by smb.conf
+ as part of the "vfs objects =" parameter, but is loaded
+ implicitly when "wide links = yes" is enabled. This is
+ to prevent existing smb.conf files from having to be
+ modified to keep the existing insecure "wide links"
+ functionality on a share.
+ </para>
+ <para>Please note that "wide links = yes" functionality
+ is a deliberately insecure option, and should never be
+ used in Samba installations. On Linux, bind mounts can
+ be used instead to implement anything "wide links = yes"
+ can enable. This module has been created to provide
+ backwards compatibility with existing users of
+ "wide links = yes" installations, but this use cannot be
+ recommended and is not endorsed by the Samba developers.
+ </para>
+ <para>Note that this implicit loading may become explicit
+ in a later Samba release, and administrators wishing to
+ keep the insecure "wide links" functionality may have
+ to add this module into their "vfs objects =" module
+ list. The Samba project release notes and this manpage
+ will be updated to reflect this when this change is made.
+ </para>
+
+ <para>This module is stackable.</para>
+
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>No examples listed. This module is implicitly loaded
+ by smbd as needed.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_worm.8.xml b/docs-xml/manpages/vfs_worm.8.xml
new file mode 100644
index 0000000..2d9cca5
--- /dev/null
+++ b/docs-xml/manpages/vfs_worm.8.xml
@@ -0,0 +1,93 @@
+<?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="vfs_worm.8">
+
+<refmeta>
+ <refentrytitle>vfs_worm</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>vfs_worm</refname>
+ <refpurpose>disallows writes for older file</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = worm</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_worm</command> module controls the writability
+ of files and folders depending on their change time and a
+ adjustable grace period.</para>
+
+ <para>If the change time of a file or directory is older than
+ the specified grace period, the write access will be denied,
+ independent of further access controls (e.g. by the filesystem).</para>
+
+ <para>In the case that the grace period is not exceed, the worm
+ module will not impact any access controls.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>worm:grace_period = SECONDS</term>
+ <listitem>
+ <para>Period in seconds which defines the time how long the
+ write access should be handled by the normal access controls.
+ After this grace period the file or directory becomes read
+ only.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Deny the write access to files and folders, which are older
+ than five minutes (300 seconds):</para>
+
+<programlisting>
+ <smbconfsection name="[wormshare]"/>
+ <smbconfoption name="vfs objects">worm</smbconfoption>
+ <smbconfoption name="worm:grace_period">300</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_xattr_tdb.8.xml b/docs-xml/manpages/vfs_xattr_tdb.8.xml
new file mode 100644
index 0000000..1238806
--- /dev/null
+++ b/docs-xml/manpages/vfs_xattr_tdb.8.xml
@@ -0,0 +1,69 @@
+<?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="vfs_xattr_tdb.8">
+
+<refmeta>
+ <refentrytitle>vfs_xattr_tdb</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>vfs_xattr_tdb</refname>
+ <refpurpose>Save Extended Attributes (EAs) in a tdb file</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = xattr_tdb</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_xattr_tdb</command> VFS module stores
+ Extended Attributes (EAs) in a tdb file.
+ This enables the usage of Extended Attributes on OS and
+ filesystems which do not support Extended Attributes
+ by themselves.
+ </para>
+
+ <para>This module is stackable.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>xattr_tdb:file = PATH</term>
+ <listitem>
+ <para>Name of the tdb file the EAs are stored in.
+ If this option is not set, the default filename
+ <filename>xattr.tdb</filename> is used.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+
+</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>
+
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/vfs_zfsacl.8.xml b/docs-xml/manpages/vfs_zfsacl.8.xml
new file mode 100644
index 0000000..687827c
--- /dev/null
+++ b/docs-xml/manpages/vfs_zfsacl.8.xml
@@ -0,0 +1,173 @@
+<?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">
+<ns:Root xmlns:xi="http://www.w3.org/2003/XInclude"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ns="urn:TestNamespace">
+<refentry id="vfs_zfsacl.8">
+
+<refmeta>
+ <refentrytitle>vfs_zfsacl</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>vfs_zfsacl</refname>
+ <refpurpose>ZFS ACL samba module</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = zfsacl</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>zfsacl</command> VFS module is the home
+ for all ACL extensions that Samba requires for proper integration
+ with ZFS.
+ </para>
+
+ <para>Currently the zfsacl vfs module provides extensions in following areas :
+ <itemizedlist>
+ <listitem><para>NFSv4 ACL Interfaces with configurable options for ZFS</para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para><command>NOTE:</command>This module follows the posix-acl behaviour
+ and hence allows permission stealing via chown. Samba might allow at a later
+ point in time, to restrict the chown via this module as such restrictions
+ are the responsibility of the underlying filesystem than of Samba.
+ </para>
+
+ <para>This module makes use of the smb.conf parameter
+ <smbconfoption name="acl map full control">acl map full control</smbconfoption>
+ When set to yes (the default), this parameter will add in the FILE_DELETE_CHILD
+ bit on a returned ACE entry for a file (not a directory) that already
+ contains all file permissions except for FILE_DELETE and FILE_DELETE_CHILD.
+ This can prevent Windows applications that request GENERIC_ALL access
+ from getting ACCESS_DENIED errors when running against a filesystem
+ with NFSv4 compatible ACLs.
+ </para>
+
+ <para>ZFS has multiple dataset configuration parameters that determine ACL behavior.
+ Although the nuances of these parameters are outside the scope of this manpage, the
+ "aclmode" and "aclinherit" are of particular importance for samba shares.
+ For datasets that are intended solely as Samba shares, "aclmode = restricted"
+ and "aclinherit = passthrough" provide inheritance behavior most consistent with NTFS ACLs.
+ A "restricted" aclmode prevents chmod() on files that have a non-trivial ACL (one that
+ cannot be expressed as a POSIX mode without loss of information). Consult the relevant ZFS
+ manpages for further information.
+ </para>
+
+ <para>This module is stackable.</para>
+
+ <para>Since Samba 4.0 all options are per share options.</para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <xi:include href="nfs4.xml.include" xpointer="xpointer(*/*)" />
+
+ <variablelist>
+
+ <varlistentry>
+ <term>zfsacl:denymissingspecial = [yes|no]</term>
+ <listitem>
+ <para>Prevent users from setting an ACL that lacks NFSv4 special entries
+ (owner@, group@, everyone@). ZFS will automatically generate these these entries
+ when calculating the inherited ACL of new files if the ACL of the parent directory
+ lacks an inheriting special entry. This may result in user confusion and unexpected
+ change in permissions of files and directories as the inherited ACL is generated.</para>
+ <itemizedlist>
+ <listitem><para><command>yes</command></para></listitem>
+ <listitem><para><command>no (default)</command></para></listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>zfsacl:block_special = [yes|no]</term>
+ <listitem>
+ <para>Prevent ZFS from automatically adding NFSv4 special
+ entries (owner@, group@, everyone@). ZFS will automatically
+ generate these these entries when calculating the inherited ACL
+ of new files if the ACL of the parent directory lacks an
+ inheriting special entry. This may result in user confusion and
+ unexpected change in permissions of files and directories as the
+ inherited ACL is generated. Blocking this behavior is achieved
+ by setting an inheriting everyone@ that grants no permissions
+ and not adding the entry to the file's Security
+ Descriptor</para>
+ <itemizedlist>
+ <listitem><para><command>yes (default)</command></para></listitem>
+ <listitem><para><command>no</command></para></listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>zfsacl:map_dacl_protected = [yes|no]</term>
+ <listitem>
+ <para>If enabled and the ZFS ACL on the underlying filesystem does not contain
+ any inherited access control entries, then set the SEC_DESC_DACL_PROTECTED flag
+ on the Security Descriptor returned to SMB clients.
+ This ensures correct Windows client behavior when disabling inheritance on
+ directories.</para>
+
+ <para>Following is the behaviour of Samba for different values : </para>
+ <itemizedlist>
+ <listitem><para><command>yes</command> - Enable mapping to
+ SEC_DESC_DACL_PROTECTED</para></listitem>
+ <listitem><para><command>no (default)</command></para></listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>A ZFS mount can be exported via Samba as follows :</para>
+
+<programlisting>
+ <smbconfsection name="[samba_zfs_share]"/>
+ <smbconfoption name="vfs objects">zfsacl</smbconfoption>
+ <smbconfoption name="path">/test/zfs_mount</smbconfoption>
+ <smbconfoption name="nfs4: mode">simple</smbconfoption>
+ <smbconfoption name="nfs4: acedup">merge</smbconfoption>
+</programlisting>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+ <para>This man page is part of version &doc.version; 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>
+</refsect1>
+
+</refentry>
+</ns:Root>
diff --git a/docs-xml/manpages/vfstest.1.xml b/docs-xml/manpages/vfstest.1.xml
new file mode 100644
index 0000000..005eed2
--- /dev/null
+++ b/docs-xml/manpages/vfstest.1.xml
@@ -0,0 +1,168 @@
+<?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="vfstest.1">
+
+<refmeta>
+ <refentrytitle>vfstest</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>vfstest</refname>
+ <refpurpose>tool for testing samba VFS modules </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfstest</command>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</arg>
+ <arg choice="opt">-f|--file=STRING</arg>
+ <arg choice="opt">-c|--command=STRING</arg>
+ <arg choice="opt">-m|--memreport=INT</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">-V|--version</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><command>vfstest</command> is a small command line
+ utility that has the ability to test dso samba VFS modules. It gives the
+ user the ability to call the various VFS functions manually and
+ supports cascaded VFS modules.
+ </para>
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>-c|--command=command</term>
+ <listitem><para>Execute the specified (<constant>semicolon</constant>-separated) commands.
+ See below for the commands that are available.
+ </para> </listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>COMMANDS</title>
+
+ <para><emphasis>VFS COMMANDS</emphasis></para>
+ <itemizedlist>
+ <listitem><para><command>load &lt;module.so&gt;</command> - Load specified VFS module </para></listitem>
+
+ <listitem><para><command>populate &lt;char&gt; &lt;size&gt;</command> - Populate a data buffer with the specified data
+ </para></listitem>
+
+ <listitem><para><command>showdata [&lt;offset&gt; &lt;len&gt;]</command> - Show data currently in data buffer
+ </para></listitem>
+
+ <listitem><para><command>connect</command> - VFS connect()</para></listitem>
+ <listitem><para><command>disconnect</command> - VFS disconnect()</para></listitem>
+ <listitem><para><command>disk_free</command> - VFS disk_free()</para></listitem>
+ <listitem><para><command>opendir</command> - VFS opendir()</para></listitem>
+ <listitem><para><command>readdir</command> - VFS readdir()</para></listitem>
+ <listitem><para><command>mkdir</command> - VFS mkdir()</para></listitem>
+ <listitem><para><command>rmdir</command> - VFS rmdir()</para></listitem>
+ <listitem><para><command>closedir</command> - VFS closedir()</para></listitem>
+ <listitem><para><command>open</command> - VFS open()</para></listitem>
+ <listitem><para><command>close</command> - VFS close()</para></listitem>
+ <listitem><para><command>read</command> - VFS read()</para></listitem>
+ <listitem><para><command>write</command> - VFS write()</para></listitem>
+ <listitem><para><command>lseek</command> - VFS lseek()</para></listitem>
+ <listitem><para><command>rename</command> - VFS rename()</para></listitem>
+ <listitem><para><command>fsync</command> - VFS fsync()</para></listitem>
+ <listitem><para><command>stat</command> - VFS stat()</para></listitem>
+ <listitem><para><command>fstat</command> - VFS fstat()</para></listitem>
+ <listitem><para><command>lstat</command> - VFS lstat()</para></listitem>
+ <listitem><para><command>unlink</command> - VFS unlink()</para></listitem>
+ <listitem><para><command>chmod</command> - VFS chmod()</para></listitem>
+ <listitem><para><command>fchmod</command> - VFS fchmod()</para></listitem>
+ <listitem><para><command>chown</command> - VFS chown()</para></listitem>
+ <listitem><para><command>fchown</command> - VFS fchown()</para></listitem>
+ <listitem><para><command>chdir</command> - VFS chdir()</para></listitem>
+ <listitem><para><command>getwd</command> - VFS getwd()</para></listitem>
+ <listitem><para><command>utime</command> - VFS utime()</para></listitem>
+ <listitem><para><command>ftruncate</command> - VFS ftruncate()</para></listitem>
+ <listitem><para><command>lock</command> - VFS lock()</para></listitem>
+ <listitem><para><command>symlink</command> - VFS symlink()</para></listitem>
+ <listitem><para><command>readlink</command> - VFS readlink()</para></listitem>
+ <listitem><para><command>link</command> - VFS link()</para></listitem>
+ <listitem><para><command>mknod</command> - VFS mknod()</para></listitem>
+ <listitem><para><command>realpath</command> - VFS realpath()</para></listitem>
+
+ <listitem><para><command>getxattr</command> - VFS getxattr()</para></listitem>
+ <listitem><para><command>listxattr</command> - VFS listxattr()</para></listitem>
+ <listitem><para><command>setxattr</command> - VFS setxattr()</para></listitem>
+ <listitem><para><command>removexattr</command> - VFS removexattr()</para></listitem>
+ <listitem><para><command>fget_nt_acl</command> - VFS fget_nt_acl()</para></listitem>
+ <listitem><para><command>get_nt_acl</command> - VFS get_nt_acl()</para></listitem>
+ <listitem><para><command>fset_nt_acl</command> - VFS fset_nt_acl()</para></listitem>
+ <listitem><para><command>set_nt_acl</command> - VFS open() and fset_nt_acl()</para></listitem>
+ <listitem><para><command>sys_acl_get_file</command> - VFS sys_acl_get_file()</para></listitem>
+ <listitem><para><command>sys_acl_get_fd</command> - VFS sys_acl_get_fd()</para></listitem>
+ <listitem><para><command>sys_acl_blob_get_file</command> - VFS sys_acl_blob_get_file()</para></listitem>
+ <listitem><para><command>sys_acl_blob_get_fd</command> - VFS sys_acl_blob_get_fd()</para></listitem>
+ <listitem><para><command>sys_acl_delete_def_file</command> - VFS sys_acl_delete_def_file()</para></listitem>
+ <listitem><para><command>test_chain</command> - test chain code</para></listitem>
+ <listitem><para><command>translate_name</command> - VFS translate_name()</para></listitem>
+
+ </itemizedlist>
+
+ <para><emphasis>GENERAL COMMANDS</emphasis></para>
+ <itemizedlist>
+ <listitem><para><command>conf &lt;smb.conf&gt;</command> - Load a different configuration file</para></listitem>
+
+ <listitem><para><command>help [&lt;command&gt;]</command> - Get list of commands or info about specified command</para></listitem>
+
+ <listitem><para><command>debuglevel &lt;level&gt;</command> - Set debug level</para></listitem>
+
+ <listitem><para><command>freemem</command> - Free memory currently in use</para></listitem>
+
+ <listitem><para><command>exit</command> - Exit vfstest</para></listitem>
+ </itemizedlist>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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 vfstest man page was written by Jelmer Vernooij. Updated version by Guenter Kukkukk.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/wbinfo.1.xml b/docs-xml/manpages/wbinfo.1.xml
new file mode 100644
index 0000000..9b51700
--- /dev/null
+++ b/docs-xml/manpages/wbinfo.1.xml
@@ -0,0 +1,641 @@
+<?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="wbinfo.1">
+
+<refmeta>
+ <refentrytitle>wbinfo</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>wbinfo</refname>
+ <refpurpose>Query information from winbind daemon</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>wbinfo</command>
+ <arg choice="opt">-a user%password</arg>
+ <arg choice="opt">--all-domains</arg>
+ <arg choice="opt">--allocate-gid</arg>
+ <arg choice="opt">--allocate-uid</arg>
+ <arg choice="opt">-c</arg>
+ <arg choice="opt">--ccache-save</arg>
+ <arg choice="opt">--change-user-password</arg>
+ <arg choice="opt">-D domain</arg>
+ <arg choice="opt">--dc-info domain</arg>
+ <arg choice="opt">--domain domain</arg>
+ <arg choice="opt">--dsgetdcname domain</arg>
+ <arg choice="opt">-g</arg>
+ <arg choice="opt">--getdcname domain</arg>
+ <arg choice="opt">--get-auth-user</arg>
+ <arg choice="opt">-G gid</arg>
+ <arg choice="opt">--gid-info gid</arg>
+ <arg choice="opt">--group-info group</arg>
+ <arg choice="opt">--help|-?</arg>
+ <arg choice="opt">-i user</arg>
+ <arg choice="opt">-I ip</arg>
+ <arg choice="opt">-K user%password</arg>
+ <arg choice="opt">--krb5ccname cctype</arg>
+ <arg choice="opt">--lanman</arg>
+ <arg choice="opt">--logoff</arg>
+ <arg choice="opt">--logoff-uid uid</arg>
+ <arg choice="opt">--logoff-user username</arg>
+ <arg choice="opt">--lookup-sids</arg>
+ <arg choice="opt">-m</arg>
+ <arg choice="opt">-n name</arg>
+ <arg choice="opt">-N netbios-name</arg>
+ <arg choice="opt">--ntlmv1</arg>
+ <arg choice="opt">--ntlmv2</arg>
+ <arg choice="opt">--online-status</arg>
+ <arg choice="opt">--own-domain</arg>
+ <arg choice="opt">-p</arg>
+ <arg choice="opt">-P|--ping-dc</arg>
+ <arg choice="opt">--pam-logon user%password</arg>
+ <arg choice="opt">-r user</arg>
+ <arg choice="opt">-R|--lookup-rids</arg>
+ <arg choice="opt">--remove-gid-mapping gid,sid</arg>
+ <arg choice="opt">--remove-uid-mapping uid,sid</arg>
+ <arg choice="opt">-s sid</arg>
+ <arg choice="opt">--separator</arg>
+ <arg choice="opt">--sequence</arg>
+ <arg choice="opt">--set-auth-user user%password</arg>
+ <arg choice="opt">--set-gid-mapping gid,sid</arg>
+ <arg choice="opt">--set-uid-mapping uid,sid</arg>
+ <arg choice="opt">-S sid</arg>
+ <arg choice="opt">--sid-aliases sid</arg>
+ <arg choice="opt">--sid-to-fullname sid</arg>
+ <arg choice="opt">--sids-to-unix-ids sidlist</arg>
+ <arg choice="opt">-t</arg>
+ <arg choice="opt">-u</arg>
+ <arg choice="opt">--uid-info uid</arg>
+ <arg choice="opt">--usage</arg>
+ <arg choice="opt">--user-domgroups sid</arg>
+ <arg choice="opt">--user-sidinfo sid</arg>
+ <arg choice="opt">--user-sids sid</arg>
+ <arg choice="opt">-U uid</arg>
+ <arg choice="opt">-V</arg>
+ <arg choice="opt">--verbose</arg>
+ <arg choice="opt">-Y sid</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 <command>wbinfo</command> program queries and returns information
+ created and used by the <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon. </para>
+
+ <para>The <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon must be configured
+ and running for the <command>wbinfo</command> program to be able
+ to return information.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-a|--authenticate <replaceable>username%password</replaceable></term>
+ <listitem><para>Attempt to authenticate a user via <citerefentry>
+ <refentrytitle>winbindd</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
+ This checks both authentication methods and reports its results.
+ </para><note><para>Do not be tempted to use this
+ functionality for authentication in third-party
+ applications. Instead use <citerefentry><refentrytitle>ntlm_auth</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>.</para></note></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--allocate-gid</term>
+ <listitem><para>Get a new GID out of idmap
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--allocate-uid</term>
+ <listitem><para>Get a new UID out of idmap
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--all-domains</term>
+ <listitem><para>List all domains (trusted and
+ own domain).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-c|--change-secret</term>
+ <listitem><para>Change the trust account password. May be used
+ in conjunction with <option>domain</option> in order to change
+ interdomain trust account passwords.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--change-secret-at <replaceable>domain-controller</replaceable></term>
+ <listitem><para>Change the trust account password at a specific
+ domain controller. Fails if the specified domain controller
+ cannot be contacted.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--ccache-save <replaceable>username%password</replaceable></term>
+ <listitem><para>Store user and password for ccache.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--change-user-password <replaceable>username</replaceable></term>
+ <listitem><para>Change the password of a user. The old and new password will be prompted.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--dc-info <replaceable>domain</replaceable></term>
+ <listitem><para>Displays information about the current domain controller for a domain.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--domain <replaceable>name</replaceable></term>
+ <listitem><para>This parameter sets the domain on which any specified
+ operations will performed. If special domain name '.' is used to represent
+ the current domain to which <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> belongs. A '*' as the domain name
+ means to enumerate over all domains (NOTE: This can take a long time and use
+ a lot of memory).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-D|--domain-info <replaceable>domain</replaceable></term>
+ <listitem><para>Show most of the info we have about the
+ specified domain.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--dsgetdcname <replaceable>domain</replaceable></term>
+ <listitem><para>Find a DC for a domain.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--gid-info <replaceable>gid</replaceable></term>
+ <listitem><para>Get group info from gid.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--group-info <replaceable>group</replaceable></term>
+ <listitem><para>Get group info from group name.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-g|--domain-groups</term>
+ <listitem><para>This option will list all groups available
+ in the Windows NT domain for which the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> daemon is operating in. Groups in all trusted domains
+ can be listed with the --domain='*' option. Note that this operation does not assign
+ group ids to any groups that have not already been
+ seen by <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--get-auth-user</term>
+ <listitem><para>Print username and password used by <citerefentry>
+ <refentrytitle>winbindd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ during session setup to a domain controller. Username
+ and password can be set using <option>--set-auth-user</option>.
+ Only available for root.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--getdcname <replaceable>domain</replaceable></term>
+ <listitem><para>Get the DC name for the specified domain.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-G|--gid-to-sid <replaceable>gid</replaceable></term>
+ <listitem><para>Try to convert a UNIX group id to a Windows
+ NT SID. If the gid specified does not refer to one within
+ the idmap gid range then the operation will fail. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-?</term>
+ <listitem><para>Print brief help overview.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-i|--user-info <replaceable>user</replaceable></term>
+ <listitem><para>Get user info.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-I|--WINS-by-ip <replaceable>ip</replaceable></term>
+ <listitem><para>The <parameter>-I</parameter> option
+ queries <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> to send a node status
+ request to get the NetBIOS name associated with the IP address
+ specified by the <parameter>ip</parameter> parameter.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-K|--krb5auth <replaceable>username%password</replaceable></term>
+ <listitem><para>Attempt to authenticate a user via Kerberos.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--krb5ccname <replaceable>KRB5CCNAME</replaceable></term>
+ <listitem><para>Allows one to request a specific kerberos credential
+ cache type used for authentication.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--lanman</term>
+ <listitem><para>Use lanman cryptography for user authentication.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--logoff</term>
+ <listitem><para>Logoff a user.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--logoff-uid <replaceable>UID</replaceable></term>
+ <listitem><para>Define user uid used during logoff request.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--logoff-user <replaceable>USERNAME</replaceable></term>
+ <listitem><para>Define username used during logoff request.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--lookup-sids <replaceable>SID1,SID2...</replaceable></term>
+ <listitem><para>Looks up SIDs. SIDs must be specified as ASCII strings in the traditional Microsoft
+ format. For example, S-1-5-21-1455342024-3071081365-2475485837-500.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-m|--trusted-domains</term>
+ <listitem><para>Produce a list of domains trusted by the
+ Windows NT server <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> contacts
+ when resolving names. This list does not include the Windows
+ NT domain the server is a Primary Domain Controller for.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-n|--name-to-sid <replaceable>name</replaceable></term>
+ <listitem><para>The <parameter>-n</parameter> option
+ queries <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> for the SID
+ associated with the name specified. Domain names can be specified
+ before the user name by using the winbind separator character.
+ For example CWDOM1/Administrator refers to the Administrator
+ user in the domain CWDOM1. If no domain is specified then the
+ domain used is the one specified in the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> <parameter>workgroup
+ </parameter> parameter. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-N|--WINS-by-name <replaceable>name</replaceable></term>
+ <listitem><para>The <parameter>-N</parameter> option
+ queries <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> to query the WINS
+ server for the IP address associated with the NetBIOS name
+ specified by the <parameter>name</parameter> parameter.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--ntlmv1</term>
+ <listitem><para>Use NTLMv1 cryptography for user authentication.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--ntlmv2</term>
+ <listitem><para>Use NTLMv2 cryptography for user
+ authentication. NTLMv2 is the default method, this
+ option is only maintained for compatibility.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--online-status <replaceable>domain</replaceable></term>
+ <listitem><para>Display whether winbind currently maintains an
+ active connection or not. An optional domain
+ argument limits the output to the online status
+ of a given domain.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--own-domain</term>
+ <listitem><para>List own domain.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--pam-logon <replaceable>username%password</replaceable></term>
+ <listitem><para>Attempt to authenticate a user in the same way
+ pam_winbind would do.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-p|--ping</term>
+ <listitem><para>Check whether <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> is still alive.
+ Prints out either 'succeeded' or 'failed'.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-P|--ping-dc</term>
+ <listitem><para>Issue a no-effect command to our DC. This
+ checks if our secure channel connection to our domain
+ controller is still alive. It has much less impact than
+ wbinfo -t.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-r|--user-groups <replaceable>username</replaceable></term>
+ <listitem>
+ <para>
+ Try to obtain the list of UNIX group ids to which the
+ user belongs. This only works for users defined on a
+ Domain Controller.
+ </para>
+
+ <para>There are two scenaries:</para>
+ <orderedlist>
+ <listitem>
+ <para>
+ User authenticated: When the user has been
+ authenticated, the access token for the user is
+ cached. The correct group memberships are then
+ returned from the cached user token (which can
+ be outdated).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ User *NOT* authenticated: The information is
+ queries from the domain controller using the
+ machine account credentials which have limited
+ permissions. The result is normally incomplete
+ and can be also incorrect.
+ </para></listitem>
+ </orderedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-R|--lookup-rids <replaceable>rid1, rid2, rid3...</replaceable></term>
+ <listitem><para>Converts RIDs to names. Uses a comma separated
+ list of rids.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--remove-gid-mapping <replaceable>GID,SID</replaceable></term>
+ <listitem><para>Removes an existing GID to SID mapping from the database.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--remove-uid-mapping <replaceable>UID,SID</replaceable></term>
+ <listitem><para>Removes an existing UID to SID mapping from the database.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-s|--sid-to-name <replaceable>sid</replaceable></term>
+ <listitem><para>Use <parameter>-s</parameter> to resolve
+ a SID to a name. This is the inverse of the <parameter>-n
+ </parameter> option above. SIDs must be specified as ASCII strings
+ in the traditional Microsoft format. For example,
+ S-1-5-21-1455342024-3071081365-2475485837-500. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--separator</term>
+ <listitem><para>Get the active winbind separator.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--sequence</term>
+ <listitem><para>This command has been deprecated. Please use
+ the --online-status option instead.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--set-auth-user <replaceable>username%password</replaceable></term>
+ <listitem><para>Store username and password used by <citerefentry>
+ <refentrytitle>winbindd</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry> during session setup to a domain controller. This enables
+ winbindd to operate in a Windows 2000 domain with Restrict
+ Anonymous turned on (a.k.a. Permissions compatible with
+ Windows 2000 servers only).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--set-gid-mapping <replaceable>GID,SID</replaceable></term>
+ <listitem><para>Create a GID to SID mapping in the database.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--set-uid-mapping <replaceable>UID,SID</replaceable></term>
+ <listitem><para>Create a UID to SID mapping in the database.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-S|--sid-to-uid <replaceable>sid</replaceable></term>
+ <listitem><para>Convert a SID to a UNIX user id. If the SID
+ does not correspond to a UNIX user mapped by <citerefentry>
+ <refentrytitle>winbindd</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry> then the operation will fail. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--sid-aliases <replaceable>sid</replaceable></term>
+ <listitem><para>Get SID aliases for a given SID.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--sid-to-fullname <replaceable>sid</replaceable></term>
+ <listitem><para>Converts a SID to a full username
+ (DOMAIN\username).
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--sids-to-unix-ids <replaceable>sid1,sid2,sid3...</replaceable></term>
+ <listitem><para>Resolve SIDs to Unix IDs.
+ SIDs must be specified as ASCII strings
+ in the traditional Microsoft format. For example,
+ S-1-5-21-1455342024-3071081365-2475485837-500. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-t|--check-secret</term>
+ <listitem><para>Verify that the workstation trust account
+ created when the Samba server is added to the Windows NT
+ domain is working. May be used in conjunction with
+ <option>domain</option> in order to verify interdomain
+ trust accounts.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-u|--domain-users</term>
+ <listitem><para>This option will list all users available
+ in the Windows NT domain for which the <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon is operating in. Users in all trusted domains
+ can be listed with the --domain='*' option. Note that this operation does not assign
+ user ids to any users that have not already been seen by <citerefentry>
+ <refentrytitle>winbindd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ .</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--uid-info <replaceable>uid</replaceable></term>
+ <listitem><para>Get user info for the user connected to
+ user id UID.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--usage</term>
+ <listitem><para>Print brief help overview.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--user-domgroups <replaceable>sid</replaceable></term>
+ <listitem><para>Get user domain groups.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--user-sidinfo <replaceable>sid</replaceable></term>
+ <listitem><para>Get user info by sid.
+ </para></listitem>
+ </varlistentry>
+
+
+ <varlistentry>
+ <term>--user-sids <replaceable>sid</replaceable></term>
+ <listitem><para>Get user group SIDs for user.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-U|--uid-to-sid <replaceable>uid</replaceable></term>
+ <listitem><para>Try to convert a UNIX user id to a Windows NT
+ SID. If the uid specified does not refer to one within
+ the idmap range then the operation will fail. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--verbose</term>
+ <listitem><para>
+ Print additional information about the query results.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-Y|--sid-to-gid <replaceable>sid</replaceable></term>
+ <listitem><para>Convert a SID to a UNIX group id. If the SID
+ does not correspond to a UNIX group mapped by <citerefentry>
+ <refentrytitle>winbindd</refentrytitle><manvolnum>8</manvolnum></citerefentry> then
+ the operation will fail. </para></listitem>
+ </varlistentry>
+
+ &cmdline.version;
+ &popt.autohelp;
+
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>EXIT STATUS</title>
+
+ <para>The wbinfo program returns 0 if the operation
+ succeeded, or 1 if the operation failed. If the <citerefentry>
+ <refentrytitle>winbindd</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry> daemon is not working <command>wbinfo</command> will always return
+ failure. </para>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of
+ the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+ <para><citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> and <citerefentry><refentrytitle>ntlm_auth</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry></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><command>wbinfo</command> and <command>winbindd</command>
+ were written by Tim Potter.</para>
+
+ <para>The conversion to DocBook for Samba 2.2 was done
+ by Gerald Carter. The conversion to DocBook XML 4.2 for Samba
+ 3.0 was done by Alexander Bokovoy.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/winbind_krb5_localauth.8.xml b/docs-xml/manpages/winbind_krb5_localauth.8.xml
new file mode 100644
index 0000000..a382e71
--- /dev/null
+++ b/docs-xml/manpages/winbind_krb5_localauth.8.xml
@@ -0,0 +1,86 @@
+<?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="winbind_krb5_localauth.8">
+
+<refmeta>
+ <refentrytitle>winbind_krb5_localauth</refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">8</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>winbind_krb5_localauth</refname>
+ <refpurpose>A plugin for MIT Kerberos for mapping user accounts.</refpurpose>
+</refnamediv>
+
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>
+ This plugin is part of the
+ <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.
+ </para>
+
+ <para>
+ <command>winbind_krb5_localauth</command> is a plugin that
+ permits the MIT Kerberos libraries that Kerberos principals can
+ be validated against local user accounts.
+ </para>
+</refsect1>
+<refsect1>
+ <title>PREREQUISITES</title>
+ <para>
+ MIT Kerberos (at least version 1.12) is required.
+ </para>
+
+ <para>
+ The plugin queries the <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon which needs to be configured
+ and started separately.
+ </para>
+
+ <para>
+ The following sections needs to be added to the
+ <filename>krb5.conf</filename> file.
+
+ <programlisting>
+[plugins]
+ localauth = {
+ module = winbind:/usr/lib64/samba/krb5/winbind_krb5_localauth.so
+ enable_only = winbind
+ }
+ </programlisting>
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>
+ This man page is part of version &doc.version; 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 winbind_krb5_localauth manpage was written by Andreas
+ Schneider.
+ </para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/winbind_krb5_locator.8.xml b/docs-xml/manpages/winbind_krb5_locator.8.xml
new file mode 100644
index 0000000..0af0c2c
--- /dev/null
+++ b/docs-xml/manpages/winbind_krb5_locator.8.xml
@@ -0,0 +1,95 @@
+<?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="winbind_krb5_locator.8">
+
+<refmeta>
+ <refentrytitle>winbind_krb5_locator</refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">8</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>winbind_krb5_locator</refname>
+ <refpurpose>A plugin for MIT and Heimdal Kerberos for detecting KDCs using Windows semantics.</refpurpose>
+</refnamediv>
+
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>
+ This plugin is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.
+ </para>
+
+ <para>
+ <command>winbind_krb5_locator</command> is a plugin that permits MIT and
+ Heimdal Kerberos libraries to detect Kerberos Servers (for the KDC and
+ kpasswd service) using the same semantics that other tools of the Samba
+ suite use. This include site-aware DNS service record lookups and caching
+ of closest dc.
+ The plugin uses the public locator API provided by most modern Kerberos
+ implementations.
+ </para>
+</refsect1>
+<refsect1>
+ <title>PREREQUISITES</title>
+ <para>
+ MIT Kerberos (at least version 1.5) or Heimdal Kerberos (at least version
+ 1.0) is required.
+ </para>
+
+ <para>
+ The plugin queries the <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon which needs to be configured
+ and started separately.
+ </para>
+
+ <para>
+ The <command>winbind_krb5_locator.so</command> file needs to be manually
+ copied to the plugin directory of the system Kerberos library.
+
+ For MIT Kerberos this is often:
+ <filename>/usr/lib/krb5/plugins/libkrb5/</filename>.
+ For Heimdal Kerberos this is often:
+ <filename>/usr/lib/plugin/krb5/</filename>.
+
+ Please check your local Kerberos installation for the correct
+ paths. No modification in <filename>/etc/krb5.conf</filename>
+ is required to enable the use of this plugin.
+ </para>
+ <para>
+ After copying the locator plugin to the appropriate plugin
+ directory it should immediately be available for use.
+ Users should be able to kinit into their kerberized Windows
+ environment without any modification or servers
+ being put manually into <filename>/etc/krb5.conf</filename>.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>
+ This man page is part of version &doc.version; 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 winbind_krb5_locator manpage was written by Guenther Deschner.
+ </para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/winbindd.8.xml b/docs-xml/manpages/winbindd.8.xml
new file mode 100644
index 0000000..e60bd65
--- /dev/null
+++ b/docs-xml/manpages/winbindd.8.xml
@@ -0,0 +1,531 @@
+<?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="winbindd.8">
+
+<refmeta>
+ <refentrytitle>winbindd</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>winbindd</refname>
+ <refpurpose>Name Service Switch daemon for resolving names
+ from NT servers</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>winbindd</command>
+ <arg choice="opt">-D|--daemon</arg>
+ <arg choice="opt">-i|--interactive</arg>
+ <arg choice="opt">-F|--foreground</arg>
+ <arg choice="opt">--no-process-group</arg>
+ <arg choice="opt">-n|--no-caching</arg>
+ <arg choice="opt">-d &lt;debug level&gt;</arg>
+ <arg choice="opt">--debug-stdout</arg>
+ <arg choice="opt">--configfile=&lt;configuration file&gt;</arg>
+ <arg choice="opt">--option=&lt;name&gt;=&lt;value&gt;</arg>
+ <arg choice="opt">-l|--log-basename &lt;log directory&gt;</arg>
+ <arg choice="opt">--leak-report</arg>
+ <arg choice="opt">--leak-report-full</arg>
+ <arg choice="opt">-V|--version</arg>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This program is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para><command>winbindd</command> is a daemon that provides
+ a number of services to the Name Service Switch capability found
+ in most modern C libraries, to arbitrary applications via PAM
+ and <command>ntlm_auth</command> and to Samba itself.</para>
+
+ <para>Even if winbind is not used for nsswitch, it still provides a
+ service to <command>smbd</command>, <command>ntlm_auth</command>
+ and the <command>pam_winbind.so</command> PAM module, by managing connections to
+ domain controllers. In this configuration the
+ <smbconfoption name="idmap config * : range"/>
+ parameter is not required. (This is known as `netlogon proxy only mode'.)</para>
+
+ <para> The Name Service Switch allows user
+ and system information to be obtained from different databases
+ services such as NIS or DNS. The exact behaviour can be configured
+ through the <filename>/etc/nsswitch.conf</filename> file.
+ Users and groups are allocated as they are resolved to a range
+ of user and group ids specified by the administrator of the
+ Samba system.</para>
+
+ <para>The service provided by <command>winbindd</command> is called `winbind' and
+ can be used to resolve user and group information from a
+ Windows NT server. The service can also provide authentication
+ services via an associated PAM module. </para>
+
+ <para>
+ The <filename>pam_winbind</filename> module supports the
+ <parameter>auth</parameter>, <parameter>account</parameter>
+ and <parameter>password</parameter>
+ module-types. It should be noted that the
+ <parameter>account</parameter> module simply performs a getpwnam() to verify that
+ the system can obtain a uid for the user, as the domain
+ controller has already performed access control. If the
+ <filename>libnss_winbind</filename> library has been correctly
+ installed, or an alternate source of names configured, this should always succeed.
+ </para>
+
+ <para>The following nsswitch databases are implemented by
+ the winbindd service: </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>hosts</term>
+ <listitem><para>This feature is only available on IRIX.
+ User information traditionally stored in
+ the <filename>hosts(5)</filename> file and used by
+ <command>gethostbyname(3)</command> functions. Names are
+ resolved through the WINS server or by broadcast.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>passwd</term>
+ <listitem><para>User information traditionally stored in
+ the <filename>passwd(5)</filename> file and used by
+ <command>getpwent(3)</command> functions. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>group</term>
+ <listitem><para>Group information traditionally stored in
+ the <filename>group(5)</filename> file and used by
+ <command>getgrent(3)</command> functions. </para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>For example, the following simple configuration in the
+ <filename>/etc/nsswitch.conf</filename> file can be used to initially
+ resolve user and group information from <filename>/etc/passwd
+ </filename> and <filename>/etc/group</filename> and then from the
+ Windows NT server.
+ </para>
+
+<programlisting>
+passwd: files winbind
+group: files winbind
+## only available on IRIX: use winbind to resolve hosts:
+# hosts: files dns winbind
+## All other NSS enabled systems should use libnss_wins.so like this:
+hosts: files dns wins
+
+</programlisting>
+
+ <para>The following simple configuration in the
+ <filename>/etc/nsswitch.conf</filename> file can be used to initially
+ resolve hostnames from <filename>/etc/hosts</filename> and then from the
+ WINS server.</para>
+<programlisting>
+hosts: files wins
+</programlisting>
+
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>-D|--daemon</term>
+ <listitem><para>If specified, this parameter causes
+ the server to operate as a daemon. That is, it detaches
+ itself and runs in the background on the appropriate port.
+ This switch is assumed if <command>winbindd</command> is
+ executed on the command line of a shell.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-i|--interactive</term>
+ <listitem><para>Tells <command>winbindd</command> to not
+ become a daemon and detach from the current terminal. This
+ option is used by developers when interactive debugging
+ of <command>winbindd</command> is required.
+ <command>winbindd</command> also logs to standard output,
+ as if the <command>-S</command> parameter had been given.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-F|--foreground</term>
+ <listitem><para>If specified, this parameter causes
+ the main <command>winbindd</command> process to not daemonize,
+ i.e. double-fork and disassociate with the terminal.
+ Child processes are still created as normal to service
+ each connection request, but the main process does not
+ exit. This operation mode is suitable for running
+ <command>winbindd</command> under process supervisors such
+ as <command>supervise</command> and <command>svscan</command>
+ from Daniel J. Bernstein's <command>daemontools</command>
+ package, or the AIX process monitor.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--no-process-group</term>
+ <listitem><para>Do not create a new process group for winbindd.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-n|--no-caching</term>
+ <listitem><para>Disable some caching. This means winbindd will
+ often have to wait for a response from the domain controller
+ before it can respond to a client and this thus makes things
+ slower. The results will however be more accurate, since
+ results from the cache might not be up-to-date. This
+ might also temporarily hang winbindd if the DC doesn't respond.
+ This does not disable the samlogon cache, which is required for
+ group membership tracking in trusted environments.
+ </para></listitem>
+ </varlistentry>
+
+ &cmdline.common.debug.server;
+ &cmdline.common.config.server;
+ &cmdline.common.option;
+
+ <varlistentry>
+ <term>-l|--log-basename=logdirectory</term>
+ <listitem>
+ <para>
+ Base directory name for log/debug files. The parent process
+ uses filename log.winbindd, the child process uses filename
+ log.wb-&lt;name>. The log file is never removed by winbindd.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ &cmdline.common.samba.leakreport;
+ &cmdline.common.samba.leakreportfull;
+ &cmdline.version;
+
+ &popt.autohelp;
+
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>NAME AND ID RESOLUTION</title>
+
+ <para>Users and groups on a Windows NT server are assigned
+ a security id (SID) which is globally unique when the
+ user or group is created. To convert the Windows NT user or group
+ into a unix user or group, a mapping between SIDs and unix user
+ and group ids is required. This is one of the jobs that <command>
+ winbindd</command> performs. </para>
+
+ <para>As winbindd users and groups are resolved from a server, user
+ and group ids are allocated from a specified range. This
+ is done on a first come, first served basis, although all existing
+ users and groups will be mapped as soon as a client performs a user
+ or group enumeration command. The allocated unix ids are stored
+ in a database and will be remembered. </para>
+
+ <para>WARNING: The SID to unix id database is the only location
+ where the user and group mappings are stored by winbindd. If this
+ store is deleted or corrupted, there is no way for winbindd to
+ determine which user and group ids correspond to Windows NT user
+ and group rids. </para>
+
+</refsect1>
+
+
+<refsect1>
+ <title>CONFIGURATION</title>
+
+ <para>Configuration of the <command>winbindd</command> daemon
+ is done through configuration parameters in the <citerefentry>
+ <refentrytitle>smb.conf</refentrytitle><manvolnum>5</manvolnum>
+ </citerefentry> file. All parameters should be specified in the
+ [global] section of smb.conf. </para>
+
+ <itemizedlist>
+ <listitem><para>
+ <smbconfoption name="winbind separator"/></para></listitem>
+ <listitem><para>
+ <smbconfoption name="idmap config * : range"/></para></listitem>
+ <listitem><para>
+ <smbconfoption name="idmap config * : backend"/></para></listitem>
+ <listitem><para>
+ <smbconfoption name="winbind cache time"/></para></listitem>
+ <listitem><para>
+ <smbconfoption name="winbind enum users"/></para></listitem>
+ <listitem><para>
+ <smbconfoption name="winbind enum groups"/></para></listitem>
+ <listitem><para>
+ <smbconfoption name="template homedir"/></para></listitem>
+ <listitem><para>
+ <smbconfoption name="template shell"/></para></listitem>
+ <listitem><para>
+ <smbconfoption name="winbind use default domain"/></para></listitem>
+ <listitem><para>
+ <smbconfoption name="winbind: rpc only"/>
+ Setting this parameter forces winbindd to use RPC
+ instead of LDAP to retrieve information from Domain
+ Controllers.
+ </para></listitem>
+ </itemizedlist>
+</refsect1>
+
+
+<refsect1>
+ <title>EXAMPLE SETUP</title>
+
+ <para>
+ To setup winbindd for user and group lookups plus
+ authentication from a domain controller use something like the
+ following setup. This was tested on an early Red Hat Linux box.
+ </para>
+
+ <para>In <filename>/etc/nsswitch.conf</filename> put the
+ following:
+<programlisting>
+passwd: files winbind
+group: files winbind
+</programlisting>
+ </para>
+
+ <para>In <filename>/etc/pam.d/*</filename> replace the <parameter>
+ auth</parameter> lines with something like this:
+<programlisting>
+auth required /lib/security/pam_securetty.so
+auth required /lib/security/pam_nologin.so
+auth sufficient /lib/security/pam_winbind.so
+auth required /lib/security/pam_unix.so \
+ use_first_pass shadow nullok
+</programlisting>
+ </para>
+
+ <note><para>
+ The PAM module pam_unix has recently replaced the module pam_pwdb.
+ Some Linux systems use the module pam_unix2 in place of pam_unix.
+ </para></note>
+
+ <para>Note in particular the use of the <parameter>sufficient
+ </parameter> keyword and the <parameter>use_first_pass</parameter> keyword. </para>
+
+ <para>Now replace the account lines with this: </para>
+
+ <para><command>account required /lib/security/pam_winbind.so
+ </command></para>
+
+ <para>The next step is to join the domain. To do that use the
+ <command>net</command> program like this: </para>
+
+ <para><command>net join -S PDC -U Administrator</command></para>
+
+ <para>The username after the <parameter>-U</parameter> can be any
+ Domain user that has administrator privileges on the machine.
+ Substitute the name or IP of your PDC for "PDC".</para>
+
+ <para>Next copy <filename>libnss_winbind.so</filename> to
+ <filename>/lib</filename> and <filename>pam_winbind.so
+ </filename> to <filename>/lib/security</filename>. A symbolic link needs to be
+ made from <filename>/lib/libnss_winbind.so</filename> to
+ <filename>/lib/libnss_winbind.so.2</filename>. If you are using an
+ older version of glibc then the target of the link should be
+ <filename>/lib/libnss_winbind.so.1</filename>.</para>
+
+ <para>Finally, setup a <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> containing directives like the
+ following:
+<programlisting>
+[global]
+ winbind separator = +
+ winbind cache time = 10
+ template shell = /bin/bash
+ template homedir = /home/%D/%U
+ idmap config * : range = 10000-20000
+ workgroup = DOMAIN
+ security = domain
+ password server = *
+</programlisting></para>
+
+
+ <para>Now start winbindd and you should find that your user and
+ group database is expanded to include your NT users and groups,
+ and that you can login to your unix box as a domain user, using
+ the DOMAIN+user syntax for the username. You may wish to use the
+ commands <command>getent passwd</command> and <command>getent group
+ </command> to confirm the correct operation of winbindd.</para>
+</refsect1>
+
+
+<refsect1>
+ <title>NOTES</title>
+
+ <para>The following notes are useful when configuring and
+ running <command>winbindd</command>: </para>
+
+ <para>PAM is really easy to misconfigure. Make sure you know what
+ you are doing when modifying PAM configuration files. It is possible
+ to set up PAM such that you can no longer log into your system. </para>
+
+ <para>If more than one UNIX machine is running <command>winbindd</command>,
+ then in general the user and groups ids allocated by winbindd will not
+ be the same. The user and group ids will only be valid for the local
+ machine, unless a shared <smbconfoption name="idmap config * : backend"/> is configured.</para>
+
+ <para>If the Windows NT SID to UNIX user and group id mapping
+ file is damaged or destroyed then the mappings will be lost. </para>
+</refsect1>
+
+
+<refsect1>
+ <title>SIGNALS</title>
+
+ <para>The following signals can be used to manipulate the
+ <command>winbindd</command> daemon. </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>SIGHUP</term>
+ <listitem><para>Reload the <citerefentry><refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> file and
+ apply any parameter changes to the running
+ version of winbindd. This signal also clears any cached
+ user and group information. The list of other domains trusted
+ by winbindd is also reloaded.
+ </para>
+ <para>Instead of sending a SIGHUP signal, a request to reload configuration
+ file may be sent using <citerefentry><refentrytitle>smbcontrol</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> program.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>SIGUSR2</term>
+ <listitem><para>The SIGUSR2 signal will cause <command>
+ winbindd</command> to write status information to the winbind
+ log file.</para>
+
+ <para>Log files are stored in the filename specified by the
+ log file parameter.</para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <title>FILES</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><filename>/etc/nsswitch.conf(5)</filename></term>
+ <listitem><para>Name service switch configuration file.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>&pathconfig.WINBINDD_SOCKET_DIR;/pipe</term>
+ <listitem><para>The UNIX pipe over which clients communicate with
+ the <command>winbindd</command> program. For security reasons, the
+ winbind client will only attempt to connect to the winbindd daemon
+ if both the <filename>&pathconfig.WINBINDD_SOCKET_DIR;</filename> directory
+ and <filename>&pathconfig.WINBINDD_SOCKET_DIR;/pipe</filename> file are owned by
+ root. </para>
+
+ <para><smbconfoption name="winbindd socket directory"/>
+ overrides this default.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>$STATEDIR/winbindd_privileged/pipe</term>
+ <listitem><para>The UNIX pipe over which 'privileged' clients
+ communicate with the <command>winbindd</command> program. For security
+ reasons, access to some winbindd functions - like those needed by
+ the <command>ntlm_auth</command> utility - is restricted. By default,
+ only users in the 'root' group will get this access, however the administrator
+ may change the group permissions on $STATEDIR/winbindd_privileged to allow
+ programs like 'squid' to use ntlm_auth.
+ Note that the winbind client will only attempt to connect to the winbindd daemon
+ if both the <filename>$STATEDIR/winbindd_privileged</filename> directory
+ and <filename>$STATEDIR/winbindd_privileged/pipe</filename> file are owned by
+ root. </para>
+ <para><smbconfoption name="state dir"/> controls what
+ $STATEDIR refers to.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>/lib/libnss_winbind.so.X</term>
+ <listitem><para>Implementation of name service switch library.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>$STATEDIR/winbindd_idmap.tdb</term>
+ <listitem><para>Storage for the Windows NT rid to UNIX user/group
+ id mapping. The directory is specified when Samba is initially
+ compiled using the
+ <parameter>--with-statedir</parameter> option or <smbconfoption name="state dir"/>.
+ The default directory in this installation is <filename>&pathconfig.STATEDIR;
+ </filename>. </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>$LOCKDIR/winbindd_cache.tdb</term>
+ <listitem><para>Storage for cached user and group information.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of
+ the Samba suite.</para>
+</refsect1>
+
+<refsect1>
+ <title>SEE ALSO</title>
+
+ <para><filename>nsswitch.conf(5)</filename>, <citerefentry>
+ <refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>wbinfo</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>ntlm_auth</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>smb.conf</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>pam_winbind</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry></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><command>wbinfo</command> and <command>winbindd</command> were
+ written by Tim Potter.</para>
+
+ <para>The conversion to DocBook for Samba 2.2 was done
+ by Gerald Carter. The conversion to DocBook XML 4.2 for
+ Samba 3.0 was done by Alexander Bokovoy.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/winexe.1.xml b/docs-xml/manpages/winexe.1.xml
new file mode 100644
index 0000000..09f6c38
--- /dev/null
+++ b/docs-xml/manpages/winexe.1.xml
@@ -0,0 +1,200 @@
+<?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="winexe.1">
+
+<refmeta>
+ <refentrytitle>winexe</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+ <refname>winexe</refname>
+ <refpurpose>Winexe is a Remote Windows-command executor</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>winexe</command>
+ <arg choice="opt">--uninstall</arg>
+ <arg choice="opt">--reinstall</arg>
+ <arg choice="opt">--runas [DOMAIN/]USERNAME[%PASSWORD]</arg>
+ <arg choice="opt">--runas-file FILE</arg>
+ <arg choice="opt">--interactive [0|1]</arg>
+ <arg choice="opt">--ostype [0|1]</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">-?|--help</arg>
+ <arg choice="opt">--usage</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 <command>winexe</command> allows remote command execution on native
+ Windows operating systems.</para>
+</refsect1>
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>--uninstall</term>
+ <listitem>
+ <para>
+ Uninstall winexe service after remote execution.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--reinstall</term>
+ <listitem>
+ <para>
+ Reinstall winexe service before remote execution.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--runas <replaceable>[DOMAIN/]USERNAME[%PASSWORD]]</replaceable></term>
+ <listitem>
+ <para>
+ Run as the given user (BEWARE: this password is sent in cleartext over the network!)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--runas-file <replaceable>FILE</replaceable></term>
+ <listitem>
+ <para>
+ Run as user options defined in a file.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--interactive <replaceable>[0|1]</replaceable></term>
+ <listitem>
+ <para>
+ Desktop interaction.
+ </para>
+
+ <para>There are two options:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ 0 - disallow
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ 1 - allow. If allow, also use the --system switch (Windows requirement). Vista does not support this option.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--ostype <replaceable>[0|1|2]</replaceable></term>
+ <listitem>
+ <para>
+ Determines which version (32-bit or 64-bit) of service will be installed.
+ </para>
+
+ <para>There are three options:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ 0 - 32-bit
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ 1 - 64-bit
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ 2 - winexe will decide
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ &cmdline.common.samba.client;
+ &cmdline.common.connection;
+ &cmdline.common.credentials;
+ &popt.autohelp;
+ </variablelist>
+</refsect1>
+
+
+<refsect1>
+ <title>EXIT STATUS</title>
+
+ <para>The winexe program returns 0 if the operation
+ succeeded, or 1 if the operation failed. </para>
+</refsect1>
+
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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 <command>winexe</command> and it's native Windows counterpart were written by Andrzej Hajda.
+ The Samba client tool winexe was later rewritten by Volker Lendecke.</para>
+
+ <para>This manpage was written by Guenther Deschner.</para>
+</refsect1>
+
+</refentry>
diff --git a/docs-xml/manpages/wspsearch.1.xml b/docs-xml/manpages/wspsearch.1.xml
new file mode 100644
index 0000000..06878d6
--- /dev/null
+++ b/docs-xml/manpages/wspsearch.1.xml
@@ -0,0 +1,190 @@
+<?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="wspsearch.1">
+
+ <refmeta>
+ <refentrytitle>wspsearch</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">User Commands</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname>wspsearch</refname>
+ <refpurpose>Run Windows Search Protocol searches against a SMB server</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>wspsearch</command>
+ <arg choice="req">//server/share</arg>
+ <arg choice="opt">--limit=results</arg>
+ <arg choice="opt">--search=phrase</arg>
+ <arg choice="opt">--kind=KIND</arg>
+ <arg choice="opt">--query=QUERY</arg>
+ <arg choice="opt">-?|--help</arg>
+ <arg choice="opt">--usage</arg>
+ <arg choice="opt">-d|--debuglevel=DEBUGLEVEL</arg>
+ <arg choice="opt">--debug-stdout</arg>
+ <arg choice="opt">-s|--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>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> suite.</para>
+
+ <para>wspsearch is a simple utility to run Windows Search Protocol searches against a SMB server that has the WSP service enabled.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>server</term>
+ <listitem>
+ <para>The SMB server name or IP address to connect to.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>sharename</term>
+ <listitem>
+ <para>The name of a share on the server.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--query</term>
+ <listitem><para>A query specified in simplified AQS-like (Advanced query syntax).</para>
+ <para>Basic (AQS) syntax is supported (See <emphasis>SEE ALSO</emphasis>).
+ A query consists of a sequence of queries connected by AND, OR
+ and NOT boolean operators. The query elements are essentially
+ restrictions defined by a property. There are some limitations on the
+ operators supported and some types of properties like enumerated
+ ranges are not supported at all. Additionally syntactically
+ range values are not delimited as specified by AQS (ranges are
+ instead specified as value-value). Some special cases that you see in
+ the windows search UI (for example sizes like 'tiny', 'small',
+ 'large' etc.) are exceptions which are handled more or less
+ as keywords. See <emphasis>EXAMPLES</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--search=phrase</term>
+ <listitem>
+ <para>A simple phrase that is searched across the index
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--kind=KIND</term>
+ <listitem>
+ <para>kind one of;
+ <itemizedlist>
+ <listitem><para><emphasis>Calendar</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Communication</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Contact</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Document</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Email</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Feed</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Folder</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Game</emphasis> </para> </listitem>
+ <listitem><para><emphasis>InstantMessage</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Journal</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Movie</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Music</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Link</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Note</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Picture</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Program</emphasis> </para> </listitem>
+ <listitem><para><emphasis>RecordedTV</emphasis> </para> </listitem>
+ <listitem><para><emphasis>SearchFolder</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Task</emphasis> </para> </listitem>
+ <listitem><para><emphasis>Video</emphasis> </para> </listitem>
+ <listitem><para><emphasis>WebHistory</emphasis> </para> </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--limit</term>
+ <listitem><para>A limit on the number of results returned, by default
+ there is a limit of 500 results, a limit of 0 indicates no limit and
+ all results will be returned.</para></listitem>
+ </varlistentry>
+
+ &popt.autohelp;
+ &cmdline.common.samba.client;
+ &cmdline.common.credentials;
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Search using a basic phrase:</para>
+ <programlisting>
+ 'wspsearch -Usomeuser%password //server/share --phrase="cats"'
+ </programlisting>
+
+ <para>Search using an AQS like query for a picture whose name starts with p403 or p404:</para>
+ <programlisting>
+ 'wspsearch -Usomeuser%password //server/share --query="ALL:$&lt;p403 OR ALL:$&lt;p404 AND System.Kind:picture"'
+ </programlisting>
+
+ </refsect1>
+
+ <refsect1>
+ <title>SEE ALSO</title>
+ <para>Adanced Query Syntax
+ <ulink url="https://learn.microsoft.com/en-gb/windows/win32/search/-search-3x-advancedquerysyntax">
+ https://learn.microsoft.com/en-gb/windows/win32/search/-search-3x-advancedquerysyntax </ulink>
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; 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 wspsearch manpage was written by Noel Power.</para>
+ </refsect1>
+</refentry>