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
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
|
<refsect1 id='idmap'>
<title>ВСТАНОВЛЕННЯ ВІДПОВІДНОСТІ ІДЕНТИФІКАТОРІВ</title>
<para>
Можливість встановлення відповідності ідентифікаторів надає SSSD змогу
працювати у режимі клієнта Active Directory без потреби для адміністраторів
розширювати атрибути користувача з метою підтримки атрибутів POSIX для
ідентифікаторів користувачів та груп.
</para>
<para>
Зауваження: якщо увімкнено встановлення відповідності ідентифікаторів,
атрибути uidNumber та gidNumber буде проігноровано. Так зроблено з метою
уникання конфліктів між автоматично визначеними та визначеними вручну
значеннями. Якщо вам потрібно призначити певні значення вручну, вручну
доведеться призначати ВСІ значення.
</para>
<para>
Будь ласка, зауважте, що зміна параметрів налаштувань, пов’язаних із
встановленням відповідності ідентифікаторів, призведе до зміни
ідентифікаторів користувачів і груп. У поточній версії SSSD зміни
ідентифікаторів не передбачено, отже, вам доведеться вилучити базу даних
SSSD. Оскільки кешовані паролі також зберігаються у базі даних, вилучення
бази даних слід виконувати, лише якщо сервери розпізнавання є доступними,
інакше користувачі не зможуть отримати потрібного їм доступу. З метою
кешування паролів слід виконати сеанс розпізнавання. Для вилучення бази
даних недостатньо використання команди <citerefentry>
<refentrytitle>sss_cache</refentrytitle> <manvolnum>8</manvolnum>
</citerefentry>, процедура має складатися з декількох кроків:
<itemizedlist>
<listitem>
<para>
Переконуємося, що віддалені сервери є доступними.
</para>
</listitem>
<listitem>
<para>
Зупиняємо роботу служби SSSD
</para>
</listitem>
<listitem>
<para>
Вилучаємо базу даних
</para>
</listitem>
<listitem>
<para>
Запускаємо службу SSSD
</para>
</listitem>
</itemizedlist>
Крім того, оскільки зміна ідентифікаторів може потребувати коригування інших
властивостей системи, зокрема прав власності на файли і каталоги, варто
спланувати усе наперед і ретельно перевірити налаштування встановлення
відповідності ідентифікаторів.
</para>
<refsect2 id='idmap_algorithm'>
<title>Алгоритм встановлення відповідності</title>
<para>
Active Directory надає значення objectSID для всіх об’єктів користувачів і
груп у каталозі. Таке значення objectSID можна розбити на компоненти, які
відповідають профілю домену Active Directory та відносному ідентифікатору
(RID) об’єкта користувача або групи.
</para>
<para>
Алгоритмом встановлення відповідності ідентифікаторів SSSD передбачено поділ
діапазону доступних UID на розділи однакових розмірів, які називаються
«зрізами». Кожен зріз відповідає простору, доступному певному домену Active
Directory.
</para>
<para>
Коли SSSD вперше зустрічає запис користувача або групи певного домену, SSSD
віддає один з доступних зрізів під цей домен. З метою уможливлення
відтворення такого призначення зрізів на різних клієнтських системах, зріз
вибирається за таким алгоритмом:
</para>
<para>
Рядок SID передається алгоритмові murmurhash3 з метою перетворення його на
хешоване 32-бітове значення. Для вибору зрізу використовується ціла частина
від ділення цього значення на загальну кількість доступних зрізів.
</para>
<para>
Зауваження: за такого алгоритму можливі збіги за хешем та відповідною цілою
частиною від ділення. У разі виявлення таких збігів буде вибрано наступний
доступних зріз, але це може призвести до неможливості відтворити точно такий
самий набір зрізів на інших комп’ютерах (оскільки в такому разі на вибір
зрізів може вплинути порядок, у якому виконується обробка даних). Якщо ви
зіткнулися з подібною ситуацією, рекомендуємо вам або перейти на
використання явних атрибутів POSIX у Active Directory (вимкнути встановлення
відповідності ідентифікаторів) або налаштувати типовий домен з метою
гарантування того, що принаймні цей домен матиме еталонні дані. Докладніше
про це у розділі «Налаштування».
</para>
</refsect2>
<refsect2 id='idmap_config'>
<title>Налаштування</title>
<para>
Мінімальне налаштовування (у розділі <quote>[domain/НАЗВА_ДОМЕНУ]</quote>):
</para>
<para>
<programlisting>
ldap_id_mapping = True
ldap_schema = ad
</programlisting>
</para>
<para>
За типових налаштувань буде створено 10000 зрізів, кожен з яких може містити
до 200000 ідентифікаторів, починаючи з 2000000 і аж до 2000200000. Цього має
вистачити для більшості розгорнутих середовищ.
</para>
<refsect3 id='idmap_advanced_config'>
<title>Додаткові налаштування</title>
<variablelist>
<varlistentry>
<term>ldap_idmap_range_min (ціле число)</term>
<listitem>
<para>
Визначає нижню (включну) межу діапазону ідентифікаторів POSIX, які слід
використовувати для встановлення відповідності SID користувачів і груп
Active Directory. Це перший ідентифікатор POSIX, яким можна скористатися для
прив'язки.
</para>
<para>
Зауваження: цей параметр відрізняється від <quote>min_id</quote> тим, що
<quote>min_id</quote> працює як фільтр відповідей на запити щодо цього
домену, а цей параметр керує діапазоном призначення ідентифікаторів. Ця
відмінність є мінімальною, але загалом варто визначати <quote>min_id</quote>
меншим або рівним <quote>ldap_idmap_range_min</quote>
</para>
<para>
Типове значення: 200000
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ldap_idmap_range_max (ціле число)</term>
<listitem>
<para>
Визначає верхню (виключну) межу діапазону ідентифікаторів POSIX, які слід
використовувати для встановлення відповідності SID користувачів і груп
Active Directory. Це перший ідентифікатор POSIX, яким не можна скористатися
для прив'язки, тобто ідентифікатор, який на одиницю більший за останній,
яким можна скористатися для прив'язки.
</para>
<para>
Зауваження: цей параметр відрізняється від <quote>max_id</quote> тим, що
<quote>max_id</quote> працює як фільтр відповідей на запити щодо цього
домену, а цей параметр керує діапазоном призначення ідентифікаторів. Ця
відмінність є мінімальною, але загалом варто визначати <quote>max_id</quote>
більшим або рівним <quote>ldap_idmap_range_max</quote>
</para>
<para>
Типове значення: 2000200000
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ldap_idmap_range_size (ціле число)</term>
<listitem>
<para>
Визначає кількість ідентифікаторів доступних на кожному зі зрізів. Якщо
розмір діапазону не ділиться націло на мінімальне і максимальне значення,
буде створено якомога більше повних зрізів.
</para>
<para>
ЗАУВАЖЕННЯ: значення цього параметра має бути не меншим за значення
максимального запланованого до використання RID на сервері Active
Directory. Пошук даних та вхід для будь-яких користувачів з RID, що
перевищує це значення, буде неможливим.
</para>
<para>
Приклад: якщо найсвіжішим доданим користувачем Active Directory є користувач
з objectSid=S-1-5-21-2153326666-2176343378-3404031434-1107,
«ldap_idmap_range_size» повинне мати значення, яке є не меншим за 1108,
оскільки розмір діапазону дорівнює максимальному SID мінус мінімальний SID
плюс 1. (Наприклад, 1108 = 1107 - 0 + 1).
</para>
<para>
Для майбутнього можливого розширення важливо все спланувати наперед,
оскільки зміна цього значення призведе до зміни усіх прив’язок
ідентифікаторів у системі, отже зміни попередніх локальних ідентифікаторів
користувачів.
</para>
<para>
Типове значення: 200000
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ldap_idmap_default_domain_sid (рядок)</term>
<listitem>
<para>
Визначає SID типового домену. За допомогою цього параметра можна гарантувати
те, що цей домен буде завжди призначено до нульового зрізу у карті
ідентифікаторів без використання алгоритму murmurhash описаного вище.
</para>
<para>
Типове значення: not set
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ldap_idmap_default_domain (рядок)</term>
<listitem>
<para>
Вказати назву типового домену.
</para>
<para>
Типове значення: not set
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ldap_idmap_autorid_compat (булеве значення)</term>
<listitem>
<para>
Змінює поведінку алгоритму встановлення відповідності ідентифікаторів так,
щоб обчислення відбувалися за алгоритмом подібним до алгоритму
<quote>idmap_autorid</quote> winbind.
</para>
<para>
When this option is configured, domains will be allocated starting with
slice zero and increasing monotonically with each additional domain.
</para>
<para>
Зауваження: цей алгоритм є недетерміністичним (залежить від порядку записів
користувачів та груп). Якщо з метою сумісності з системою, у якій запущено
winbind, буде використано цей алгоритм, варто також скористатися параметром
<quote>ldap_idmap_default_domain_sid</quote> з метою гарантування
послідовного призначення принаймні одного домену до нульового зрізу.
</para>
<para>
Типове значення: False
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ldap_idmap_helper_table_size (ціле число)</term>
<listitem>
<para>
Максимальна кількість вторинних зрізів, яку можна використовувати під час
виконання прив'язки ідентифікатора UNIX до SID.
</para>
<para>
Зауваження: під час прив'язування SID до ідентифікатора UNIX може бути
створено додаткові вторинні зрізи, якщо частини RID SID перебувають поза
межами діапазону вже створених вторинних зрізів. Якщо значенням
ldap_idmap_helper_table_size буде 0, додаткові вторинні зрізи не
створюватимуться.
</para>
<para>
Типове значення: 10
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect3>
</refsect2>
<refsect2 id='well_known_sids'>
<title>Добре відомі SID</title>
<para>
У SSSD передбачено підтримку пошуку назв за добре відомими (Well-Known) SID,
тобто SID із особливим запрограмованим призначенням. Оскільки типові
користувачі і групи, пов’язані із цими добре відомими SID не мають
еквівалентів у середовищі Linux/UNIX, ідентифікаторів POSIX для цих об’єктів
немає.
</para>
<para>
Простір назв SID упорядковано службами сертифікації, які виглядають як інші
домени. Службами сертифікації для добре відомих (Well-Known) SID є
<itemizedlist>
<listitem><para>Фіктивна служба сертифікації (Null Authority)</para></listitem>
<listitem><para>Загальна служба сертифікації (World Authority)</para></listitem>
<listitem><para>Локальна служба сертифікації (Local Authority)</para></listitem>
<listitem><para>Авторська служба сертифікації (Creator Authority)</para></listitem>
<listitem><para>Обов'язкова служба сертифікації міток</para></listitem>
<listitem><para>Служба розпізнавання</para></listitem>
<listitem><para>Служба сертифікації NT (NT Authority)</para></listitem>
<listitem><para>Вбудована (Built-in)</para></listitem>
</itemizedlist>
Написані літерами верхнього регістру ці назви буде використано як назви
доменів для повернення повних назв добре відомих (Well-Known) SID.
</para>
<para>
Оскільки деякі з програм надають змогу змінювати дані щодо керування
доступом на основі SID за допомогою назви, а не безпосереднього
використання, у SSSD передбачено підтримку пошуку SID за назвою. Щоб
уникнути конфліктів, для пошуку добре відомих (Well-Known) SID приймаються
лише повні назви. Отже, не можна використовувати як назви доменів у
<filename>sssd.conf</filename> такі назви: «NULL AUTHORITY», «WORLD
AUTHORITY», «LOCAL AUTHORITY», «CREATOR AUTHORITY», «MANDATORY LABEL
AUTHORITY», «AUTHENTICATION AUTHORITY», «NT AUTHORITY» та «BUILTIN».
</para>
</refsect2>
</refsect1>
|