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
|
<?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-Handbuchseiten</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">Dateiformate und Konventionen</refmiscinfo>
</refmeta>
<refnamediv id='name'>
<refname>sssd-sudo</refname>
<refpurpose>Sudo mit dem SSSD-Backend konfigurieren</refpurpose>
</refnamediv>
<refsect1 id='description'>
<title>BESCHREIBUNG</title>
<para>
Diese Handbuchseite beschreibt, wie <citerefentry>
<refentrytitle>sudo</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>
konfiguriert wird, damit es zusammen mit <citerefentry>
<refentrytitle>sssd</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>
funktioniert und wie SSSD Sudo-Regeln zwischenspeichert.
</para>
</refsect1>
<refsect1 id='sudo'>
<title>Sudo so konfigurieren, dass es mit SSSD zusammenarbeitet</title>
<para>
Um SSSD als eine Quelle von Sudo-Regeln zu aktivieren, fügen Sie dem Eintrag
<emphasis>sudoers</emphasis> in <citerefentry>
<refentrytitle>nsswitch.conf</refentrytitle> <manvolnum>5</manvolnum>
</citerefentry> <emphasis>sss</emphasis> hinzu.
</para>
<para>
Um zum Beispiel Sudo so zu konfigurieren, dass es zuerst die Regeln in der
Standarddatei <citerefentry> <refentrytitle>sudoers</refentrytitle>
<manvolnum>5</manvolnum> </citerefentry> nachschlägt (diese sollten Regeln
umfassen, die für lokale Benutzer gelten) und dann die in SSSD, sollte die
Datei »nsswitch.conf« die folgende Zeile enthalten:
</para>
<para>
<programlisting>
sudoers: files sss
</programlisting>
</para>
<para>
Weitere Informationen über die Konfiguration der Suchreihenfolge der
»sudoers« aus der Datei »nsswitch.conf« sowie das LDAP-Schema, das zum
Speichern von Sudo-Regeln im Verzeichnis benutzt wird, können Sie unter
<citerefentry> <refentrytitle>sudoers.ldap</refentrytitle>
<manvolnum>5</manvolnum> </citerefentry> finden.
</para>
<para>
<emphasis>Hinweis</emphasis>: Um Netzgruppen oder IPA-Hostgruppen in
sudo-Regeln verwenden zu können, muss <citerefentry>
<refentrytitle>nisdomainname</refentrytitle> <manvolnum>1</manvolnum>
</citerefentry> korrekt auf den entsprechenden NIS-Domainnamen gesetzt
werden. Dieser entspricht dem IPA-Domainnamen, wenn Hostgruppen verwendet
werden.
</para>
</refsect1>
<refsect1 id='sssd'>
<title>SSSD zum Abrufen von Sudo-Regeln konfigurieren</title>
<para>
Alle auf der SSSD-Seite erforderliche Konfiguration ist die Erweiterung der
Liste der <emphasis>Dienste</emphasis> mit "sudo" im Abschnitt [sssd] der
Handbuchseite zu <citerefentry> <refentrytitle>sssd.conf</refentrytitle>
<manvolnum>5</manvolnum> </citerefentry>. Um LDAP-Suchvorgänge zu
beschleunigen, können Sie auch die Suchbasis für sudo-Regeln mit der Option
<emphasis>ldap_sudo_search_base</emphasis> festlegen.
</para>
<para>
Das folgende Beispiel zeigt, wie SSSD konfiguriert wird, damit es die
Sudo-Regeln von einem LDAP-Server herunterlädt.
</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"> It's important to note that on platforms where
systemd is supported there's no need to add the "sudo" provider to the list
of services, as it became optional. However, sssd-sudo.socket must be
enabled instead. </phrase>
</para>
<para>
When SSSD is configured to use IPA as the ID provider, the sudo provider is
automatically enabled. The sudo search base is configured to use the IPA
native LDAP tree (cn=sudo,$SUFFIX). If any other search base is defined in
sssd.conf, this value will be used instead. The compat tree
(ou=sudoers,$SUFFIX) is no longer required for IPA sudo functionality.
</para>
</refsect1>
<refsect1 id='cache'>
<title>Der Zwischenspeichermechanismus für Sudo-Regeln</title>
<para>
Die größte Herausforderung bei der Entwicklung von Sudo-Unterstützung in
SSSD war es, sicherzustellen, dass beim Ausführen von Sudo mit SSSD die
Datenquelle dieselbe Benutzererfahrung bereitstellt und so schnell wie Sudo
ist, aber weiterhin so viele aktuelle Regelsätze wie möglich
bereitstellt. Um diesen Anforderungen zu genügen, verwendet SSSD drei Arten
von Aktualisierungen. Sie werden als vollständiges Aktualisieren, kluges
Aktualisieren und Regelaktualisierung bezeichnet.
</para>
<para>
Das <emphasis>kluge Aktualisieren</emphasis> lädt periodisch Regeln
herunter, die neu sind oder seit der letzten Aktualisierung geändert
wurden. Das Hauptziel hierbei ist es, die Datenbank anwachsen zu lassen,
indem nur kleine Erweiterungen abgerufen werden, die keinen großen
Netzwerkverkehr erzeugen.
</para>
<para>
Das <emphasis>vollständige Aktualisieren</emphasis> löscht einfach alle im
Zwischenspeicher abgelegten Regeln und ersetzt sie durch die auf dem Server
gespeicherten Regeln. Dies wird benutzt, um den Zwischenspeicher dadurch
konsistent zu halten, dass jede von Server gelöschte Regel entfernt
wird. Ein vollständiges Aktualisieren kann jedoch eine hohe Last erzeugen
und sollte daher nur gelegentlich abhängig von der Größe und Stabilität der
Sudo-Regeln ausgeführt werden.
</para>
<para>
Die <emphasis>Regelaktualisierung</emphasis> stellt sicher, dass dem
Benutzer nicht mehr Rechte als definiert gewährt werden. Es wird jedesmal
ausgelöst, wenn der Benutzer Sudo ausführt. Regelaktualisierung wird alle
Regeln suchen, die für diesen Benutzer gelten, ihren Ablaufzeitpunkt prüfen
und sie erneut herunterladen, falls sie erloschen sind. Im Fall, dass
irgendwelche der Regeln auf dem Server fehlen, wird SSSD außer der Reihe ein
vollständiges Aktualisieren durchführen, da möglicherweise weitere Regeln
(die für andere Benutzer gelten) gelöscht wurden.
</para>
<para>
SSSD wird, falls aktiviert, nur Regeln speichern, die auf diese Maschine
angewandt werden können. Das bedeutet, Regeln, die einen der folgenden Werte
im Attribut <emphasis>sudoHost</emphasis> enthalten:
</para>
<itemizedlist>
<listitem>
<para>
Schlüsselwort ALL
</para>
</listitem>
<listitem>
<para>
Platzhalter
</para>
</listitem>
<listitem>
<para>
Netzgruppe (in der Form »+Netzgruppe«)
</para>
</listitem>
<listitem>
<para>
Rechnername oder voll qualifizierter Domain-Namen dieser Maschine
</para>
</listitem>
<listitem>
<para>
eine der IP-Adressen dieser Maschine
</para>
</listitem>
<listitem>
<para>
eine der IP-Adressen des Netzwerks (in der Form »Adresse/Maske«)
</para>
</listitem>
</itemizedlist>
<para>
Es gibt viele Konfigurationsoptionen, die benutzt werden können, um das
Verhalten anzupassen. Bitte lesen Sie »ldap_sudo_*« in <citerefentry>
<refentrytitle>sssd-ldap</refentrytitle> <manvolnum>5</manvolnum>
</citerefentry> und "sudo_*" in <citerefentry>
<refentrytitle>sssd.conf</refentrytitle> <manvolnum>5</manvolnum>
</citerefentry>.
</para>
</refsect1>
<refsect1 id='performance'>
<title>Tuning the performance</title>
<para>
SSSD uses different kinds of mechanisms with more or less complex LDAP
filters to keep the cached sudo rules up to date. The default configuration
is set to values that should satisfy most of our users, but the following
paragraphs contain few tips on how to fine- tune the configuration to your
requirements.
</para>
<para>
1. <emphasis>Index LDAP attributes</emphasis>. Make sure that following LDAP
attributes are indexed: objectClass, cn, entryUSN or modifyTimestamp.
</para>
<para>
2. <emphasis>Set ldap_sudo_search_base</emphasis>. Set the search base to
the container that holds the sudo rules to limit the scope of the lookup.
</para>
<para>
3. <emphasis>Set full and smart refresh interval</emphasis>. If your sudo
rules do not change often and you do not require quick update of cached
rules on your clients, you may consider increasing the
<emphasis>ldap_sudo_full_refresh_interval</emphasis> and
<emphasis>ldap_sudo_smart_refresh_interval</emphasis>. You may also consider
disabling the smart refresh by setting
<emphasis>ldap_sudo_smart_refresh_interval = 0</emphasis>.
</para>
<para>
4. If you have large number of clients, you may consider increasing the
value of <emphasis>ldap_sudo_random_offset</emphasis> to distribute the load
on the server better.
</para>
</refsect1>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="include/seealso.xml" />
</refentry>
</reference>
|