summaryrefslogtreecommitdiffstats
path: root/src/man/uk/sssd-sudo.5.xml
blob: b126ececcf74378fc65376486790ec18a143670f (plain)
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
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<reference>
<title>Сторінки підручника SSSD</title>
<refentry>
    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="include/upstream.xml" />

    <refmeta>
        <refentrytitle>sssd-sudo</refentrytitle>
        <manvolnum>5</manvolnum>
        <refmiscinfo class="manual">Формати файлів та правила</refmiscinfo>
    </refmeta>

    <refnamediv id='name'>
        <refname>sssd-sudo</refname>
        <refpurpose>Налаштовування sudo за допомогою модуля SSSD</refpurpose>
    </refnamediv>

    <refsect1 id='description'>
        <title>ОПИС</title>
        <para>
            На цій сторінці підручника описано способи налаштовування <citerefentry>
<refentrytitle>sudo</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>
на роботу у комплексі з <citerefentry> <refentrytitle>sssd</refentrytitle>
<manvolnum>8</manvolnum> </citerefentry> та способи кешування правил sudo у
SSSD.
        </para>
    </refsect1>

    <refsect1 id='sudo'>
        <title>Налаштовування sudo на співпрацю з SSSD</title>
        <para>
            Щоб увімкнути SSSD як джерело правил sudo, додайте <emphasis>sss</emphasis>
до запису <emphasis>sudoers</emphasis> у файлі <citerefentry>
<refentrytitle>nsswitch.conf</refentrytitle> <manvolnum>5</manvolnum>
</citerefentry>.
        </para>
        <para>
            Наприклад, щоб налаштувати sudo на першочерговий пошук правил у стандартному
файлі <citerefentry> <refentrytitle>sudoers</refentrytitle>
<manvolnum>5</manvolnum> </citerefentry> (цей файл має містити правила, що
стосуються локальних користувачів), а потім у SSSD, у файлі nsswitch.conf
слід вказати такий рядок:
        </para>
        <para>
<programlisting>
sudoers: files sss
</programlisting>
        </para>
        <para>
            Докладніші дані щодо налаштовування порядку пошуку у sudoers за допомогою
файла nsswitch.conf, а також дані щодо бази даних LDAP, у якій зберігаються
правила sudo каталогу, можна знайти на сторінці підручника <citerefentry>
<refentrytitle>sudoers.ldap</refentrytitle> <manvolnum>5</manvolnum>
</citerefentry>.
        </para>
        <para>
            <emphasis>Зауваження</emphasis>: щоб у правилах sudo можна було
використовувати мережеві групи або групи вузлів IPA, вам слід належним чином
налаштувати <citerefentry> <refentrytitle>nisdomainname</refentrytitle>
<manvolnum>1</manvolnum> </citerefentry> на назву домену NIS (назва цього
домену збігається з назвою домену IPA, якщо використовуються групи вузлів
IPA).
        </para>
    </refsect1>

    <refsect1 id='sssd'>
        <title>Налаштовування SSSD на отримання правил sudo</title>
        <para>
            На боці SSSD достатньо розширити список <emphasis>служб</emphasis>
дописуванням «sudo» до розділу [sssd] <citerefentry>
<refentrytitle>sssd.conf</refentrytitle> <manvolnum>5</manvolnum>
</citerefentry>. Щоб пришвидшити пошуку у LDAP, ви також можете налаштувати
базу пошуку для правил sudo за допомогою параметра
<emphasis>ldap_sudo_search_base</emphasis>.
        </para>
        <para>
            У наведеному нижче прикладі показано, як налаштувати SSSD на отримання
правил sudo з сервера LDAP.
        </para>
        <para>
<programlisting>
[sssd]
config_file_version = 2
services = nss, pam, sudo
domains = EXAMPLE

[domain/EXAMPLE]
id_provider = ldap
sudo_provider = ldap
ldap_uri = ldap://example.com
ldap_sudo_search_base = ou=sudoers,dc=example,dc=com
</programlisting> <phrase
condition="have_systemd"> Важливо зауважити, що на платформах, де
передбачено підтримку systemd, немає потреби додавати засіб надання даних
«sudo» до списку служб, оскільки він стає необов'язковим. Втім, замість
нього слід увімкнути sssd-sudo.socket.</phrase>
        </para>
        <para>
            Якщо SSSD налаштовано на використання IPA як засобу надання даних ID, засіб
надання даних sudo буде увімкнено автоматично. Базу пошуку sudo буде
налаштовано на використання природного для IPA дерева LDAP
(cn=sudo,$SUFFIX). Якщо у sssd.conf буде визначено будь-яку іншу базу
пошуку, використовуватиметься це значення. Для використання функціональних
можливостей sudo у IPA потреби у дереві compat (ou=sudoers,$SUFFIX) більше
немає.
        </para>
    </refsect1>

    <refsect1 id='cache'>
        <title>Механізм кешування правил SUDO</title>
        <para>
            Найбільшою складністю під час розробки підтримки sudo у SSSD було
забезпечення роботи sudo з SSSD так, щоб для користувача джерело даних
надавало дані у один спосіб та з тією самою швидкістю, що і sudo, надаючи
при цьому якомога свіжіший набір правил. Щоб виконати ці умови, SSSD
використовує оновлення трьох типів. Будемо називати ці тип повним
оновленням, інтелектуальним оновленням та оновленням правил.
        </para>
        <para>
            Використання типу <emphasis>інтелектуального оновлення</emphasis> полягає у
отриманні правил, які було додано або змінено з часу попереднього
оновлення. Основним призначенням оновлення такого типу є підтримання
актуального стану бази даних невеличкими порціями, які не спричиняють
значного навантаження на мережу.
        </para>
        <para>
            У разі використання <emphasis>повного оновлення</emphasis> всі правила sudo,
що зберігаються у кеші, буде вилучено і замінено на всі правила, які
зберігаються на сервері. Таким чином, кеш буде узгоджено шляхом вилучення
всіх правил, які було вилучено на сервері. Втім, повне оновлення може значно
навантажувати канал з’єднання, а отже його варто використовувати лише
іноді. Проміжок між сеансами повного оновлення має залежати від розміру і
стабільності правил sudo.
        </para>
        <para>
            У разі використання типу <emphasis>оновлення правил</emphasis>
забезпечується ненадання користувачам ширших дозволів, ніж це було визначено
на сервері. Оновлення цього типу виконується під час кожного запуску
користувачем sudo. Під час оновлення буде виявлено всі правила, які
стосуються користувача, перевірено, чи не завершено строк дії цих правил, і
повторно отримано правила, якщо строк дії правил завершено. Якщо якихось з
правил не буде виявлено на сервері, SSSD виконає позачергове повне
оновлення, оскільки може виявитися, що було вилучено набагато більше правил
(які стосуються інших користувачів).
        </para>
        <para>
            Якщо увімкнено, SSSD зберігатиме лише правила, які можна застосувати до
цього комп’ютера. Це означає, що зберігатимуться правила, що містять у
атрибуті <emphasis>sudoHost</emphasis> одне з таких значень:
        </para>
        <itemizedlist>
            <listitem>
                <para>
                    ключове слово ALL
                </para>
            </listitem>
            <listitem>
                <para>
                    шаблон заміни
                </para>
            </listitem>
            <listitem>
                <para>
                    мережеву групу  форматі «+мережева група»)
                </para>
            </listitem>
            <listitem>
                <para>
                    назву вузла або повну назву у домені цього комп’ютера
                </para>
            </listitem>
            <listitem>
                <para>
                    одну з IP-адрес цього комп’ютера
                </para>
            </listitem>
            <listitem>
                <para>
                    одну з IP-адрес мережі  форматі «адреса/маска»)
                </para>
            </listitem>
        </itemizedlist>
        <para>
            Для точного налаштовування поведінки передбачено доволі багато параметрів
Будь ласка, зверніться до розділу «ldap_sudo_*» у <citerefentry>
<refentrytitle>sssd-ldap</refentrytitle> <manvolnum>5</manvolnum>
</citerefentry> та «sudo_*» у <citerefentry>
<refentrytitle>sssd.conf</refentrytitle> <manvolnum>5</manvolnum>
</citerefentry>, щоб ознайомитися з докладним описом.
        </para>
    </refsect1>

    <refsect1 id='performance'>
        <title>Коригування швидкодії</title>
        <para>
            SSSD використовує різні типи механізмів із складнішими або простішими
фільтрами LDAP для підтримання актуальності кешованих правил sudo. У типових
налаштуваннях використано значення, які мають задовольнити потреби більшості
наших користувачів, але у наступних абзацах міститься декілька підказок щодо
того, як скоригувати налаштування до ваших потреб.
        </para>
        <para>
            1. <emphasis>Індексуйте атрибути LDAP</emphasis>. Переконайтеся, що
індексуються такі атрибути LDAP: objectClass, cn, entryUSN та
modifyTimestamp.
        </para>
        <para>
            2. <emphasis>Встановіть ldap_sudo_search_base</emphasis>. Встановіть основу
для пошуку так, щоб вона вказувала на контейнер, який містить правила sudo
для обмеження області пошуку.
        </para>
        <para>
            3. <emphasis>Встановіть інтервал повного і кмітливого
оновлення</emphasis>. Якщо ваші правила sudo змінюються нечасто, і вам не
потрібне швидке оновлення кешованих правил на ваших клієнтах, ви можете
збільшити значення <emphasis>ldap_sudo_full_refresh_interval</emphasis> і
<emphasis>ldap_sudo_smart_refresh_interval</emphasis>. Крім того, варто
вимкнути кмітливе оновлення встановленням
<emphasis>ldap_sudo_smart_refresh_interval = 0</emphasis>.
        </para>
        <para>
            4. Якщо у вас багато клієнтів, вам варто збільшити значення
<emphasis>ldap_sudo_random_offset</emphasis>, щоб краще розподілити
навантаження на сервер.
        </para>
    </refsect1>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="include/seealso.xml" />

</refentry>
</reference>