This file is indexed.

/usr/share/doc/HOWTO/de-html/DE-LDAP-HOWTO-6.html is in doc-linux-de 2003.10-5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.65">
 <TITLE>Linux LDAP HOWTO: Erstellen eines Beispielverzeichnisses       </TITLE>
 <LINK HREF="DE-LDAP-HOWTO-7.html" REL=next>
 <LINK HREF="DE-LDAP-HOWTO-5.html" REL=previous>
 <LINK HREF="DE-LDAP-HOWTO.html#toc6" REL=contents>
</HEAD>
<BODY>
<A HREF="DE-LDAP-HOWTO-7.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-LDAP-HOWTO-5.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-LDAP-HOWTO.html#toc6"><IMG SRC="toc.png" ALT="Inhalt"></A>
<HR>
<H2><A NAME="DE-LDAP-HOWTO-beispielverzeichnis"></A> <A NAME="s6">6.</A> <A HREF="DE-LDAP-HOWTO.html#toc6">Erstellen eines Beispielverzeichnisses       </A></H2>

<H2><A NAME="ss6.1">6.1</A> <A HREF="DE-LDAP-HOWTO.html#toc6.1">Erstellen der LDIF Dateien</A>
</H2>

<P>Nach der Installation und Konfiguration des LDAP Servers mu&szlig; dieser mit Daten
gef&uuml;ttert werden. Das folgende Beispiel erkl&auml;rt den LDAP Server anhand
einer fiktiven Firma mit mehreren Abteilungen. Die einzelnen Felder m&uuml;ssen
den lokalen Gegebenheiten nur angepa&szlig;t werden, um eine simple
Konfiguration aufzusetzten.</P>
<P>F&uuml;r das folgende Beispiel wird im Verzeichnis <CODE>/etc/openldap</CODE> das
Unterverzeichnis <CODE>ldif/</CODE> angelegt. In diesem Verzeichnis kann mit jedem
x-beliebigen Editor, der ASCII unterst&uuml;tzt, eine Datei mit dem Namen
<CODE>firmenstruktur.ldif</CODE> erstellt werden. Der Name und das 
Verzeichnis f&uuml;r die Beispiel LDIF-Dateien sind beliebig. Es m&uuml;ssen f&uuml;r 
den Fall, das andere Namen oder Pfade verwendet werden, diese nur an die 
lokalen Gegebenheiten angepa&szlig;t werden.</P>
<P>Das Beispiel erstellt den DIT (Directory Information Tree) f&uuml;r die fiktive
Firma Structure Net in Deutschland; hoffentlich gibts die wirklich nicht.
Die Firma Structure Net bekommt drei Abteilungen spendiert: Sales, Development
und Support. Jeder Abteilung werden zwei Mitarbeiter zugeordnet. Daraus ergibt
sich folgende Struktur:</P>

<P>
<BLOCKQUOTE><CODE>
<PRE>
DE
|
+-- Structure Net --+
                    |
                    +-- Sales --+-- Mitarbeiter 1 (Axel Hueser)
                    |           |
                    |           +-- Mitarbeiter 2 (Jared Wiener)
                    |
                    +-- Development --+-- Mitarbeiter 3 (Thomas Bendler)
                    |                 |
                    |                 +-- Mitarbeiter 4 (Thomas Lippert)
                    |
                    +-- Support --+-- Mitarbeiter 5 (Elmar Mueller)
                                  |
                                  +-- Mitarbeiter 6 (Enrico Lemke)
</PRE>
</CODE></BLOCKQUOTE>
</P>

<P>Um das Beispiel &uuml;bersichtlich zu gestalten und dem Nutzer zu zeigen, welche
Eintr&auml;ge f&uuml;r was verantwortlich sind, habe ich die Beispiel LDIF in eine Datei
f&uuml;r die Firmenstruktur und in eine Datei pro Abteilung aufgeteilt. Der
admin Account mu&szlig; nat&uuml;rlich schon in der Firmenstrukur angegeben werden, da
sonst keine weiteren Eintr&auml;ge &uuml;ber <CODE>ldapadd</CODE> m&ouml;glich sind; doch dazu
sp&auml;ter mehr.</P>

<H3>Beispiel LDIF firmenstruktur.ldif</H3>

<P>
<BLOCKQUOTE><CODE>
<PRE>
dn: dc=structure-net, dc=de
objectclass: organization
objectclass: top
o: Structure Net
l: Hamburg
postalcode: 21033
streetadress: Billwiese 22

dn: ou=Sales, dc=structure-net, dc=de
objectclass: organizationalunit
ou: Sales
description: Verkauf
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321

dn: ou=Development, dc=structure-net, dc=de
objectclass: organizationalunit
ou: Development
description: Verkauf
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321

dn: ou=Support, dc=structure-net, dc=de
objectclass: organizationalunit
ou: Support
description: Verkauf
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321

dn: uid=admin, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
objectclass: inetorgperson
cn: admin
cn: Systemverwalter
cn: Thomas Bendler
sn: Bendler
uid: admin
mail: tbendler@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
</PRE>
</CODE></BLOCKQUOTE>
</P>

<H3>Beispiel LDIF sales.ldif</H3>

<P>
<BLOCKQUOTE><CODE>
<PRE>
dn: uid=ahueser, ou=Sales, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
cn: Axel Hueser
sn: Hueser
uid: ahueser
mail: ahueser@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321

dn: uid=jwiener, ou=Sales, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
cn: Jared Wiener
sn: Wiener
uid: jwiener
mail: jwiener@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
</PRE>
</CODE></BLOCKQUOTE>
</P>

<H3>Beispiel LDIF development.ldif</H3>

<P>
<BLOCKQUOTE><CODE>
<PRE>
dn: uid=tbendler, ou=Development, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
objectclass: inetorgperson
cn: tbendler
cn: Systemverwalter
cn: Thomas Bendler
sn: Bendler
uid: tbendler
mail: tbendler@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321

dn: uid=tlippert, ou=Development, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
cn: Thomas Lippert
sn: Lippert
uid: tlippert
mail: tlippert@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
</PRE>
</CODE></BLOCKQUOTE>
</P>

<H3>Beispiel LDIF support.ldif</H3>

<P>
<BLOCKQUOTE><CODE>
<PRE>
dn: uid=emueller, ou=Support, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
cn: Elmar Mueller
sn: Mueller
uid: emueller
mail: emueller@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321

dn: uid=elemke, ou=Support, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
cn: Enrico Lemke
sn: Lemke
uid: elemke
mail: elemke@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
</PRE>
</CODE></BLOCKQUOTE>
</P>

<P>Die vorgestellte Datenbank ist nat&uuml;rlich weder sonderlich umfangreich noch
besonders trickreich. Doppelte Datens&auml;tze wie z.B. Admin und Bendler, die sich
auf die selbe Person beziehen, k&ouml;nnen auch &uuml;ber Verweise aufgel&ouml;st werden. So
kann man z.B. eine Gruppe People erstellen, in der man alle bekannten Personen
unterbringt. In den Gruppen Sales, Development und Support tr&auml;gt man dann
Verweise auf diese Personen ein.</P>

<H2><A NAME="ss6.2">6.2</A> <A HREF="DE-LDAP-HOWTO.html#toc6.2">Umwandeln der LDIF Datei in das LDBM Format</A>
</H2>

<P>Als n&auml;chstes mu&szlig; die LDIF Datei ins LDBM Format konvertiert werden. Dazu
dient der Befehl <CODE>ldif2ldbm</CODE>. In der SuSE Distribution ist dieser unter
<CODE>/usr/sbin/</CODE> zu finden. Der Befehl lautet also:</P>

<P>
<BLOCKQUOTE><CODE>
<PRE>
ldif2ldbm -i /etc/openldap/ldif/firmenstruktur.ldif \
          -f /etc/openldap/slapd.conf
</PRE>
</CODE></BLOCKQUOTE>
</P>

<P>Sollten sich irgendwelche Dateien nicht in den Standardpfaden befinden, so kann
man so nach den Dateien suchen lassen:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
find / -name &lt;Dateiname&gt; 
</PRE>
</CODE></BLOCKQUOTE>
</P>

<P>Ist die LDIF Datei konvertiert, mu&szlig; der LDAP Server gestartet werden. SuSE
stellt daf&uuml;r ein init-Skript zur Verf&uuml;gung:</P>

<P>
<BLOCKQUOTE><CODE>
<PRE>
/sbin/init.d/ldap start
</PRE>
</CODE></BLOCKQUOTE>
</P>

<P>Wenn der LDAP Server wunschgem&auml;&szlig; l&auml;uft, kann dieser auch automatisch gestartet
werden, indem man die Variable START_LDAP in der <CODE>rc.config</CODE> auf yes setzt.</P>

<P>Ist kein Startskript vorhanden, wird der LDAP Server mit folgendem Kommando
gestartet:</P>

<P>
<BLOCKQUOTE><CODE>
<PRE>
slapd -f /usr/local/etc/openldap/slapd.conf
</PRE>
</CODE></BLOCKQUOTE>
</P>

<H2><A NAME="ss6.3">6.3</A> <A HREF="DE-LDAP-HOWTO.html#toc6.3">Testen des LDAP Servers</A>
</H2>

<P>Um den LDAP Server zu testen, kann man jetzt eine Anfrage an selbigen
schicken. Dies geschieht mit folgendem Befehl:</P>

<P>
<BLOCKQUOTE><CODE>
<PRE>
ldapsearch objectclass=\*
</PRE>
</CODE></BLOCKQUOTE>
</P>

<P>Der Server sollte nun eine Struktur, wie in der Datei <CODE>firmenstruktur.ldif</CODE>
beschrieben, als R&uuml;ckantwort &uuml;bergeben.</P>

<H2><A NAME="ss6.4">6.4</A> <A HREF="DE-LDAP-HOWTO.html#toc6.4">Hinzuf&uuml;gen von Datens&auml;tzen</A>
</H2>

<P>Nun gehts an das Hinzuf&uuml;gen von Datens&auml;tzen. Dazu werden die bereits erstellten
LDIF Dateien benutzt. Das Hinzuf&uuml;gen geschieht mit Hilfe des Befehls <CODE>ldapadd</CODE>.
Dies geschieht folgenderma&szlig;en:</P>

<P>
<BLOCKQUOTE><CODE>
<PRE>
ldapadd -v -D dn="uid=admin,dc=structure-net,dc=de" \
        -w secret -f /etc/openldap/ldif/sales.ldif
ldapadd -v -D dn="uid=admin,dc=structure-net,dc=de" \
        -w secret -f /etc/openldap/ldif/development.ldif
ldapadd -v -D dn="uid=admin,dc=structure-net,dc=de" \
        -w secret -f /etc/openldap/ldif/support.ldif
</PRE>
</CODE></BLOCKQUOTE>
</P>

<P>Auf diese Weise k&ouml;nnen auch weitere Eintr&auml;ge hinzugef&uuml;gt werden. Eine etwas
komfortablere Variante stellt das X.500 Webgateway, da welches als Frontend
beschrieben wird.</P>

<HR>
<A HREF="DE-LDAP-HOWTO-7.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-LDAP-HOWTO-5.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-LDAP-HOWTO.html#toc6"><IMG SRC="toc.png" ALT="Inhalt"></A>
</BODY>
</HTML>