s3:docs:idmap_tdb2: update the documentation of idmap script
[Samba.git] / docs-xml / manpages-3 / idmap_tdb2.8.xml
blob18cfe0db725cedf776063a95dc3a47eb98773a4c
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
3 <refentry id="idmap_tdb2.8">
5 <refmeta>
6         <refentrytitle>idmap_tdb2</refentrytitle>
7         <manvolnum>8</manvolnum>
8         <refmiscinfo class="source">Samba</refmiscinfo>
9         <refmiscinfo class="manual">System Administration tools</refmiscinfo>
10         <refmiscinfo class="version">3.6</refmiscinfo>
11 </refmeta>
14 <refnamediv>
15         <refname>idmap_tdb2</refname>
16         <refpurpose>Samba's idmap_tdb2 Backend for Winbind</refpurpose>
17 </refnamediv>
19 <refsynopsisdiv>
20         <title>DESCRIPTION</title>
22         <para>
23         The idmap_tdb2 plugin is a substitute for the default idmap_tdb
24         backend used by winbindd for storing SID/uid/gid mapping tables
25         in clustered environments with Samba and CTDB.
26         </para>
28         <para>
29         In contrast to read only backends like idmap_rid, it is an allocating
30         backend: This means that it needs to allocate new user and group IDs in
31         order to create new mappings.
32         </para>
33 </refsynopsisdiv>
35 <refsect1>
36         <title>IDMAP OPTIONS</title>
38         <variablelist>
39                 <varlistentry>
40                 <term>range = low - high</term>
41                 <listitem><para>
42                         Defines the available matching uid and gid range for which the
43                         backend is authoritative.
44                 </para></listitem>
45                 </varlistentry>
47                 <varlistentry>
48                 <term>script</term>
49                 <listitem><para>
50                         This option can be used to configure an external program
51                         for performing id mappings instead of using the tdb
52                         counter. The mappings are then stored int tdb2 idmap
53                         database. For details see the section on IDMAP SCRIPT below.
54                 </para></listitem>
55                 </varlistentry>
56         </variablelist>
57 </refsect1>
59 <refsect1>
60         <title>IDMAP SCRIPT</title>
62         <para>
63         The tdb2 idmap backend supports an external program for performing id mappings
64         through the smb.conf option <parameter>idmap config * : script</parameter> or
65         its deprecated legacy form <parameter>idmap : script</parameter>.
66         </para>
68         <para>
69         The script should accept the following command line options.
70         </para>
72         <programlisting>
73         SIDTOID S-1-xxxx
74         IDTOSID UID xxxx
75         IDTOSID GID xxxx
76         </programlisting>
78         <para>
79         And it should return one of the following responses as a single line of
80         text.
81         </para>
83         <programlisting>
84         UID:yyyy
85         GID:yyyy
86         SID:yyyy
87         ERR:yyyy
88         </programlisting>
90         <para>
91         Note that the script should cover the complete range of SIDs
92         that can be passed in for SID to Unix ID mapping, since otherwise
93         SIDs unmapped by the script might get mapped to IDs that had
94         previously been mapped by the script.
95         </para>
96 </refsect1>
98 <refsect1>
99         <title>EXAMPLES</title>
101         <para>
102         This example shows how tdb2 is used as a the default idmap backend.
103         It configures the idmap range through the global options for all
104         domains encountered.
105         </para>
107         <programlisting>
108         [global]
109         idmap config * : backend = tdb2
110         idmap config * : range = 1000000-2000000
111         </programlisting>
112 </refsect1>
114 <refsect1>
115         <title>AUTHOR</title>
117         <para>
118         The original Samba software and related utilities
119         were created by Andrew Tridgell. Samba is now developed
120         by the Samba Team as an Open Source project similar
121         to the way the Linux kernel is developed.
122         </para>
123 </refsect1>
125 </refentry>