1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
|
<?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 "idmap"
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 = <rfc2307 | sfu | sfu20></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>all_groupmem = yes/no</term>
<listitem><para>
If set to <parameter>yes</parameter> winbind will retrieve all
group members for getgrnam(3), getgrgid(3) and getgrent(3) calls,
including those with missing uidNumber.
</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>
|