svn commit: r52795 - head/de_DE.ISO8859-1/books/handbook/network-servers

Bjoern Heidotting bhd at FreeBSD.org
Sun Feb 3 17:54:36 UTC 2019


Author: bhd
Date: Sun Feb  3 17:54:35 2019
New Revision: 52795
URL: https://svnweb.freebsd.org/changeset/doc/52795

Log:
  Update to r52704:
  
  Rewrite the LDAP server section of the handbook.
  
  Reviewed by:	bcr
  Differential Revision:	https://reviews.freebsd.org/D19062

Modified:
  head/de_DE.ISO8859-1/books/handbook/network-servers/chapter.xml

Modified: head/de_DE.ISO8859-1/books/handbook/network-servers/chapter.xml
==============================================================================
--- head/de_DE.ISO8859-1/books/handbook/network-servers/chapter.xml	Sun Feb  3 12:41:05 2019	(r52794)
+++ head/de_DE.ISO8859-1/books/handbook/network-servers/chapter.xml	Sun Feb  3 17:54:35 2019	(r52795)
@@ -5,7 +5,7 @@
 
      $FreeBSD$
      $FreeBSDde: de-docproj/books/handbook/network-servers/chapter.xml,v 1.103 2011/12/24 15:51:18 bcr Exp $
-     basiert auf: r52450
+     basiert auf: r52704
 -->
 <chapter xmlns="http://docbook.org/ns/docbook"
   xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
@@ -2379,12 +2379,21 @@ TWO       (,hotel,test-domain)
 	    <firstname>Tom</firstname>
 	    <surname>Rhodes</surname>
 	  </personname>
-	  <contrib>Geschrieben von </contrib>
+	  <contrib>Ursprünglich beigetragen von </contrib>
 	</author>
       </authorgroup>
       <authorgroup>
 	<author>
 	  <personname>
+	    <firstname>Rocky</firstname>
+	    <surname>Hotas</surname>
+	  </personname>
+	  <contrib>Aktualisiert von </contrib>
+	</author>
+      </authorgroup>
+      <authorgroup>
+	<author>
+	  <personname>
 	    <firstname>Björn</firstname>
 	    <surname>Heidotting</surname>
 	  </personname>
@@ -2487,35 +2496,38 @@ result: 0 Success
       <indexterm><primary>LDAP Server</primary></indexterm>
 
       <para>&os; integriert keinen <acronym>LDAP</acronym>-Server.
-	Beginnen Sie die Konfiguration durch die Installation des
-	Ports oder Pakets <package>net/openldap24-server</package>.
-	Da der Port viele konfigurierbare Optionen hat, ist es
-	empfehlenswert zu prüfen, ob die Installation des Pakets
-	ausreichend ist.  Wenn Sie irgendwelche Optionen ändern
-	möchten, ist es besser den Port zu übersetzen.  In den meisten
-	Fällen sollten die Standardwerte ausreichend sein.  Wenn
-	Sie jedoch SQL-Unterstützung benötigen, muss diese Option
-	aktiviert und der Port nach den Anweisungen in <xref
-	  linkend="ports-using"/> übersetzt werden.</para>
+	Beginnen Sie die Konfiguration mit der Installation des
+	Ports oder Pakets
+	<package>net/openldap-server</package>:</para>
 
-      <para>Als nächstes muss ein Verzeichnis für Daten sowie ein
-	Verzeichnis für die Zertifikate erstellt werden:</para>
+      <screen>&prompt.root; <userinput>pkg install openldap-server</userinput></screen>
 
-      <screen>&prompt.root; <userinput>mkdir /var/db/openldap-data</userinput>
-&prompt.root; <userinput>mkdir /usr/local/etc/openldap/private</userinput></screen>
+      <para>Im <link
+	  xlink:href="&url.articles.linux-users.en;/software.html">
+	  Paket</link> sind eine große Anzahl an Optionen aktiviert.
+	Mit dem Befehl <command>pkg info openldap-server</command>
+	können diese überprüft werden.  Falls die Optionen nicht
+	ausreichend sind (weil bspw. SQL-Unterstützung benötigt wird),
+	sollten Sie in Betracht ziehen, den Port mit dem
+	entsprechenden Framework neu zu übersetzen.</para>
 
-      <para>Kopieren Sie die Konfigurationsdatei der Datenbank:</para>
+      <para>Während der Installation wird für die Daten das
+	Verzeichnis <filename>/var/db/openldap-data</filename>
+	erstellt.  Das Verzeichnis für die Ablage der Zertifikate
+	muss manuell angelegt werden:</para>
 
-      <screen>&prompt.root; <userinput>cp /usr/local/etc/openldap/DB_CONFIG.example /var/db/openldap-data/DB_CONFIG</userinput></screen>
+      <screen>&prompt.root; <userinput>mkdir /usr/local/etc/openldap/private</userinput></screen>
 
       <para>Im nächsten Schritt wird die Zertifizierungsstelle
 	konfiguriert.  Die folgenden Befehle müssen in
 	<filename>/usr/local/etc/openldap/private</filename>
 	ausgeführt werden.  Dies ist wichtig, da die
 	Dateiberechtigungen restriktiv gesetzt werden und Benutzer
-	keinen direkten Zugriff auf diese Daten haben sollten.  Geben
-	Sie folgenden Befehl ein, um die Zertifizierungsstelle zu
-	erstellen und folgen Sie den Anweisungen:</para>
+	keinen direkten Zugriff auf diese Daten haben sollten.
+	Weitere Informationen über Zertifikate und deren Parameter
+	finden Sie im <xref linkend="openssl"/>.  Geben Sie folgenden
+	Befehl ein, um die Zertifizierungsstelle zu erstellen und
+	folgen Sie den Anweisungen:</para>
 
       <screen>&prompt.root; <userinput>openssl req -days <replaceable>365</replaceable> -nodes -new -x509 -keyout ca.key -out ../ca.crt</userinput></screen>
 
@@ -2536,7 +2548,9 @@ result: 0 Success
 
       <para>Stellen Sie hierbei sicher, dass
 	<literal>Common Name</literal> richtig eingetragen wird.
-	Anschließend muss der Schlüssel signiert werden:</para>
+	Die Zertifikatsregistrierungsanforderung muss mit dem
+	Schlüssel der Zertifizierungsstelle unterschrieben werden, um
+	als gültiges Zertifikat verwendet zu werden:</para>
 
       <screen>&prompt.root; <userinput>openssl x509 -req -days <replaceable>365</replaceable> -in server.csr -out ../server.crt -CA ../ca.crt -CAkey ca.key -CAcreateserial</userinput></screen>
 
@@ -2550,179 +2564,367 @@ result: 0 Success
       <para>Achten Sie wieder auf das Attribut
 	<literal>Common name</literal>.  Stellen Sie außerdem sicher,
 	dass bei diesem Verfahren acht (8) neue Dateien erzeugt worden
-	sind.  Der nächste Schritt besteht darin,
-	<filename>/usr/local/etc/openldap/slapd.conf</filename> zu
-	editieren und folgende Optionen hinzuzufügen:</para>
+	sind.</para>
 
-      <programlisting>TLSCipherSuite HIGH:MEDIUM:+SSLv3
-TLSCertificateFile /usr/local/etc/openldap/server.crt
-TLSCertificateKeyFile /usr/local/etc/openldap/private/server.key
-TLSCACertificateFile /usr/local/etc/openldap/ca.crt</programlisting>
+      <para>Der Daemon, auf dem der OpenLDAP-Server läuft, heißt
+	<filename>slapd</filename>.  Die Konfiguration erfolgt über
+	<filename>slapd.ldif</filename>.  Die alte
+	<filename>slapd.conf</filename> wird von OpenLDAP nicht mehr
+	verwendet.</para>
 
-      <para>Danach bearbeiten Sie
-	<filename>/usr/local/etc/openldap/ldap.conf</filename> und
-	fügen folgende Zeilen hinzu:</para>
+      <para><link
+	  xlink:href="http://www.openldap.org/doc/admin24/slapdconf2.html">Konfigurationsbeispiele</link>
+	für <filename>slapd.ldif</filename> finden sich auch in
+	<filename>/usr/local/etc/openldap/slapd.ldif.sample</filename>.
+	Optionen sind in slapd-config(5) dokumentiert.  Jeder
+	Abschnitt in <filename>slapd.ldif</filename> wird, wie alle
+	anderen LDAP-Attributgruppen, durch einen DN eindeutig
+	identifiziert.  Achten Sie darauf, dass keine Leerzeilen
+	zwischen der Anweisung <literal>dn:</literal> und dem
+	gewünschten Ende des Abschnitts verbleiben.  Im folgenden
+	Beispiel wird TLS verwendet, um einen sicheren Kanal zu
+	implementieren.  Der erste Abschnitt stellt die globale
+	Konfiguration dar:</para>
 
-      <programlisting>TLS_CACERT /usr/local/etc/openldap/ca.crt
-TLS_CIPHER_SUITE HIGH:MEDIUM:+SSLv3</programlisting>
+      <programlisting>#
+# See slapd-config(5) for details on configuration options.
+# This file should NOT be world readable.
+#
+dn: cn=config
+objectClass: olcGlobal
+cn: config
+#
+#
+# Define global ACLs to disable default read access.
+#
+olcArgsFile: /var/run/openldap/slapd.args
+olcPidFile: /var/run/openldap/slapd.pid
+olcTLSCertificateFile: /usr/local/etc/openldap/server.crt
+olcTLSCertificateKeyFile: /usr/local/etc/openldap/private/server.key
+olcTLSCACertificateFile: /usr/local/etc/openldap/ca.crt
+#olcTLSCipherSuite: HIGH
+olcTLSProtocolMin: 3.1
+olcTLSVerifyClient: never</programlisting>
 
-      <para>Kommentieren Sie die folgenden Einträge aus und setzen Sie
-	sie auf die gewünschten Werte: <option>BASE</option>,
-	<option>URI</option>, <option>SIZELIMIT</option> und
-	<option>TIMELIMIT</option>.  Setzen Sie bei
-	<option>URI</option> <option>ldap://</option> und
-	<option>ldaps://</option> ein.  Fügen Sie danach zwei Einträge
-	ein, die auf die Zertifizierungsstelle verweisen.  Wenn Sie
-	fertig sind, sollten die Einträge wie folgt aussehen:</para>
+      <para>Hier müssen die Zertifizierungsstelle, das
+	Serverzertifikat und die privaten Schlüssel des Servers
+	angegeben werden.  Es wird empfohlen, den Clients die Wahl der
+	Sicherheits-Chiffre zu überlassen und die Option
+	<literal>olcTLSCipherSuite</literal> wegzulassen (inkompatibel
+	mit anderen TLS-Clients als <filename>openssl</filename>).
+	Mit der Option <literal>olcTLSProtocolMin</literal> benötigt
+	der Server nur eine minimale Sicherheitsstufe.
+	Diese Option wird empfohlen.  Während die Verfizierung für den
+	Server verpflichtend ist, ist sie es nicht für den Client:
+	<literal>olcTLSVerifyClient: never</literal>.</para>
 
-      <programlisting>BASE    dc=example,dc=com
-URI     ldap:// ldaps://
+      <para>Der zweite Abschnitt behandelt die Backend-Module und
+	kann wie folgt konfiguriert werden:</para>
 
-SIZELIMIT       12
-TIMELIMIT       15
+      <programlisting>#
+# Load dynamic backend modules:
+#
+dn: cn=module,cn=config
+objectClass: olcModuleList
+cn: module
+olcModulepath:	/usr/local/libexec/openldap
+olcModuleload:	back_mdb.la
+#olcModuleload:	back_bdb.la
+#olcModuleload:	back_hdb.la
+#olcModuleload:	back_ldap.la
+#olcModuleload:	back_passwd.la
+#olcModuleload:	back_shell.la</programlisting>
 
-TLS_CACERT /usr/local/etc/openldap/ca.crt
-TLS_CIPHER_SUITE HIGH:MEDIUM:+SSLv3</programlisting>
+      <para>Der dritte Abschnitt widmet sich dem Laden der benötigten
+	ldif-Schemata, die von den Datenbanken verwendet werden
+	sollen.  Diese Dateien sind essentiell.</para>
 
-      <para>Anschließend sollte das Standardpasswort für den Server
-	geändert werden:</para>
+      <programlisting>dn: cn=schema,cn=config
+objectClass: olcSchemaConfig
+cn: schema
 
-      <screen>&prompt.root; <userinput>slappasswd -h "{SHA}" >> /usr/local/etc/openldap/slapd.conf</userinput></screen>
+include: file:///usr/local/etc/openldap/schema/core.ldif
+include: file:///usr/local/etc/openldap/schema/cosine.ldif
+include: file:///usr/local/etc/openldap/schema/inetorgperson.ldif
+include: file:///usr/local/etc/openldap/schema/nis.ldif</programlisting>
 
-      <para>Dieser Befehl wird nach einem Passwort fragen und, wenn
-	der Prozess nicht fehlschlägt, ein Passwort-Hash an das
-	Ende von <filename>slapd.conf</filename> hinzufügen.  Es
-	werden verschiedene Hash-Formate unterstützt.  Weitere
-	Informationen hierzu finden Sie in der Manualpage von
-	<command>slappasswd</command>.</para>
+      <para>Als nächstes folgt der Abschnitt zur
+	Frontend-Konfiguration:</para>
 
-      <para>Als nächstes bearbeiten Sie
-	<filename>/usr/local/etc/openldap/slapd.conf</filename> und
-	fügen folgende Zeilen hinzu:</para>
+      <programlisting># Frontend settings
+#
+dn: olcDatabase={-1}frontend,cn=config
+objectClass: olcDatabaseConfig
+objectClass: olcFrontendConfig
+olcDatabase: {-1}frontend
+olcAccess: to * by * read
+#
+# Sample global access control policy:
+#	Root DSE: allow anyone to read it
+#	Subschema (sub)entry DSE: allow anyone to read it
+#	Other DSEs:
+#		Allow self write access
+#		Allow authenticated users read access
+#		Allow anonymous users to authenticate
+#
+#olcAccess: to dn.base="" by * read
+#olcAccess: to dn.base="cn=Subschema" by * read
+#olcAccess: to *
+#	by self write
+#	by users read
+#	by anonymous auth
+#
+# if no access controls are present, the default policy
+# allows anyone and everyone to read anything but restricts
+# updates to rootdn.  (e.g., "access to * by * read")
+#
+# rootdn can always read and write EVERYTHING!
+#
+olcPasswordHash: {SSHA}
+# {SSHA} is already the default for olcPasswordHash</programlisting>
 
-      <programlisting>password-hash {sha}
-allow bind_v2</programlisting>
+      <para>Ein weiterer Abschnitt ist dem Konfigurations-Backend
+	gewidmet, der einzige Weg, später auf die
+	OpenLDAP-Serverkonfiguration zuzugreifen, ist als globaler
+	Superuser.</para>
 
-      <para>Das Suffix in dieser Datei muss <option>BASE</option> aus
-	<filename>/usr/local/etc/openldap/ldap.conf</filename>
-	entsprechen.  Zudem sollte die Option <option>rootdn</option>
-	ebenfalls gesetzt werden.  Ein guter Wert ist beispielsweise
-	<option>cn=Manager</option>.  Bevor die Datei gespeichert
-	wird, setzen Sie die Passwortausgabe von
-	<command>slappasswd</command> hinter die Option
-	<option>rootpw</option>.  Das Endergebnis sollte in etwa wie
-	folgt aussehen:</para>
+      <programlisting>dn: olcDatabase={0}config,cn=config
+objectClass: olcDatabaseConfig
+olcDatabase: {0}config
+olcAccess: to * by * none
+olcRootPW: {SSHA}iae+lrQZILpiUdf16Z9KmDmSwT77Dj4U</programlisting>
 
-      <programlisting>TLSCipherSuite HIGH:MEDIUM:+SSLv3
-TLSCertificateFile /usr/local/etc/openldap/server.crt
-TLSCertificateKeyFile /usr/local/etc/openldap/private/server.key
-TLSCACertificateFile /usr/local/etc/openldap/ca.crt
-rootpw {SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=</programlisting>
+      <para>Der voreingestellte Benutzername für den Administrator
+	lautet <literal>cn=config</literal>.  Geben Sie
+	<filename>slappasswd</filename> in eine Shell ein, wählen Sie
+	ein Passwort und verwenden Sie seinen Hash in
+	<literal>olcRootPW</literal>.  Wenn diese Option jetzt nicht
+	angegeben ist, kann vor dem Import der
+	<filename>slapd.ldif</filename> niemand später den Abschnitt
+	<emphasis>global configuration</emphasis> ändern.</para>
 
-      <para>Aktivieren Sie abschließend
-	<application>OpenLDAP</application> in
-	<filename>/etc/rc.conf</filename> und setzen Sie die
-	<acronym>URI</acronym>:</para>
+      <para>Der letzte Abschnitt befasst sich mit dem
+	Datenbank-Backend:</para>
 
-      <programlisting>slapd_enable="YES"
-slapd_flags="-4 -h ldaps:///"</programlisting>
+      <programlisting>#######################################################################
+# LMDB database definitions
+#######################################################################
+#
+dn: olcDatabase=mdb,cn=config
+objectClass: olcDatabaseConfig
+objectClass: olcMdbConfig
+olcDatabase: mdb
+olcDbMaxSize: 1073741824
+olcSuffix: dc=domain,dc=example
+olcRootDN: cn=mdbadmin,dc=domain,dc=example
+# Cleartext passwords, especially for the rootdn, should
+# be avoided.  See slappasswd(8) and slapd-config(5) for details.
+# Use of strong authentication encouraged.
+olcRootPW: {SSHA}X2wHvIWDk6G76CQyCMS1vDCvtICWgn0+
+# The database directory MUST exist prior to running slapd AND
+# should only be accessible by the slapd and slap tools.
+# Mode 700 recommended.
+olcDbDirectory:	/var/db/openldap-data
+# Indices to maintain
+olcDbIndex: objectClass eq</programlisting>
 
-      <para>An dieser Stelle kann der Server gestartet und getestet
-	werden:</para>
+      <para>Diese Datenbank enthält den
+	<emphasis>eigentlichen Inhalt</emphasis> des
+	<acronym>LDAP</acronym>-Verzeichnisses.  Neben
+	<literal>mdb</literal> sind weitere Versionen
+	verfügbar.  Dessen Superuser, nicht zu verwechseln mit dem
+	globalen, wird hier konfiguriert: ein Benutzername in
+	<literal>olcRootDN</literal> und der Passworthash in
+	<literal>olcRootPW</literal>; <filename>slappasswd</filename>
+	kann wie zuvor benutzt werden.</para>
 
-      <screen>&prompt.root; <userinput>service slapd start</userinput></screen>
+      <para>Dieses <link
+	  xlink:href="http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=tree;f=tests/data/regressions/its8444;h=8a5e808e63b0de3d2bdaf2cf34fecca8577ca7fd;hb=HEAD">Repository</link>
+	enthält vier Beispiele für <filename>slapd.ldif</filename>.
+	Lesen Sie diese Seite, um eine bestehende
+	<filename>slapd.conf</filename> in
+	<filename>slapd.ldif</filename> zu konvertieren.  Beachten
+	Sie, dass dies einige unbrauchbare Optionen
+	einführen kann.</para>
 
-      <para>Wenn alles richtig konfiguriert ist, sollte eine Suche im
-	Verzeichnis, wie in diesem Beispiel, eine erfolgreiche
-	Verbindung mit einer Antwort liefern:</para>
+      <para>Wenn die Konfiguration abgeschlossen ist, muss
+	<filename>slapd.ldif</filename> in ein leeres Verzeichnis
+	verschoben werden.  Folgendes ist die empfohlene
+	Vorgehensweise:</para>
 
-      <screen>&prompt.root; <userinput>ldapsearch -Z</userinput>
-# extended LDIF
+      <screen>&prompt.root; <userinput>mkdir /usr/local/etc/openldap/slapd.d/</userinput></screen>
 
+      <para>Importieren Sie die Konfigurationsdatenbank:</para>
+
+      <screen>&prompt.root; <userinput>/usr/local/sbin/slapadd -n0 -F /usr/local/etc/openldap/slapd.d/ -l /usr/local/etc/openldap/slapd.ldif</userinput></screen>
+
+      <para>Starten Sie den <filename>slapd</filename>-Daemon:</para>
+
+      <screen>&prompt.root; <userinput>/usr/local/libexec/slapd -F /usr/local/etc/openldap/slapd.d/</userinput></screen>
+
+      <para>Die Option <literal>-d</literal> kann, wie in slapd(8)
+	beschrieben, zur Fehlersuche benutzt werden.  Stellen Sie
+	sicher, dass der Server läuft und korrekt arbeitet:</para>
+
+      <screen>&prompt.root; <userinput>ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts</userinput>
+# extended LDIF
 #
 # LDAPv3
-# base <dc=example,dc=com> (default) with scope subtree
+# base <> with scope baseObject
 # filter: (objectclass=*)
-# requesting: ALL
+# requesting: namingContexts
+#
 
+#
+dn:
+namingContexts: dc=domain,dc=example
+
 # search result
-search: 3
-result: 32 No such object
+search: 2
+result: 0 Success
 
-# numResponses: 1</screen>
+# numResponses: 2
+# numEntries: 1</screen>
 
-      <note>
-	<para>Wenn der Befehl fehlschlägt, aber die Konfiguration
-	  richtig aussieht, stoppen Sie den
-	  <command>slapd</command>-Dienst.  Starten Sie anschließend
-	  den Dienst mit
-	  <foreignphrase>Debugging</foreignphrase>-Optionen:</para>
+      <para>Dem Server muss noch vertraut werden.  Wenn dies noch nie
+	zuvor geschehen ist, befolgen Sie diese Anweisungen.
+	Installieren Sie das Paket oder den Port OpenSSL:</para>
 
-	<screen>&prompt.root; <userinput>service slapd stop</userinput>
-&prompt.root; <userinput>/usr/local/libexec/slapd -d -1</userinput></screen>
-      </note>
+      <screen>&prompt.root; <userinput>pkg install openssl</userinput></screen>
 
-      <para>Sobald der Dienst antwortet, kann das Verzeichnis mit dem
-	Befehl <command>ldapadd</command> bestückt werden.  In diesem
-	Beispiel gibt es eine Datei mit einer Liste von Benutzern, die
-	diesem Verzeichnis hinzugefügt werden.  Die Einträge sollten
-	das folgende Format haben:</para>
+      <para>Aus dem Verzeichnis, in dem <filename>ca.crt</filename>
+	gespeichert ist (in diesem Beispiel
+	<filename>/usr/local/etc/openldap</filename>), starten
+	Sie:</para>
 
-      <programlisting>dn: dc=<replaceable>example</replaceable>,dc=<replaceable>com</replaceable>
-objectclass: dcObject
-objectclass: organization
-o: <replaceable>Example</replaceable>
-dc: <replaceable>Example</replaceable>
+      <screen>&prompt.root; <userinput>c_rehash .</userinput></screen>
 
-dn: cn=<replaceable>Manager</replaceable>,dc=<replaceable>example</replaceable>,dc=<replaceable>com</replaceable>
-objectclass: organizationalRole
-cn: <replaceable>Manager</replaceable></programlisting>
+      <para>Sowohl die CA als auch das Serverzertifikat werden nun in
+	ihren jeweiligen Rollen korrekt erkannt.  Um dies zu
+	überprüfen, führen die folgenden Befehl aus dem Verzeichnis
+	der <filename>server.crt</filename> aus:</para>
 
-      <para>Um diese Datei zu importieren, geben Sie den Dateinamen
-	an.  Bei dem folgenden Befehl werden Sie wieder zur Eingabe
-	des Passworts aufgefordert, das Sie zuvor eingegeben haben.
-	Die Ausgabe sollte wie folgt aussehen:</para>
+      <screen>&prompt.root; <userinput>openssl verify -verbose -CApath . server.crt</userinput></screen>
 
-      <screen>&prompt.root; <userinput>ldapadd -Z -D "cn=<replaceable>Manager</replaceable>,dc=<replaceable>example</replaceable>,dc=<replaceable>com</replaceable>" -W -f <replaceable>import.ldif</replaceable></userinput>
-Enter LDAP Password:
-adding new entry "dc=example,dc=com"
+      <para>Falls <filename>slapd</filename> ausgeführt wurde, muss
+	der Daemon neu gestartet werden.  Wie in
+	<filename>/usr/local/etc/rc.d/slapd</filename> angegeben,
+	müssen die folgenden Zeilen in
+	<filename>/etc/rc.conf</filename> eingefügt werden, um
+	<filename>slapd</filename> beim Booten ordnungsgemäß
+	auszuführen:</para>
 
-adding new entry "cn=Manager,dc=example,dc=com"</screen>
+      <programlisting>lapd_enable="YES"
+slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/
+ldap://0.0.0.0/"'
+slapd_sockets="/var/run/openldap/ldapi"
+slapd_cn_config="YES"</programlisting>
 
-      <para>Stellen Sie mit einer Suche auf dem Server sicher, dass
-	die Daten importiert wurden.  Nutzen Sie dazu
-	<command>ldapsearch</command>:</para>
+      <para><filename>slapd</filename> bietet beim Booten keine
+	Möglichkeit zur Fehlersuche.  Überprüfen Sie dazu
+	<filename>/var/log/debug.log</filename>,
+	<command>dmesg -a</command> und
+	<filename>/var/log/messages</filename>.</para>
 
-      <screen>&prompt.user; <userinput>ldapsearch -Z</userinput>
-# extended LDIF
-#
-# LDAPv3
-# base <dc=example,dc=com> (default) with scope subtree
-# filter: (objectclass=*)
-# requesting: ALL
-#
+      <para>Das folgende Beispiel fügt die Gruppe
+	<literal>team</literal> und den Benutzer
+	<literal>john</literal> zur
+	<acronym>LDAP</acronym>-Datenbank <systemitem
+	  class="systemname">domain.example</systemitem>
+	hinzu, die bislang leer ist.  Erstellen Sie
+	zunächst die Datei
+	<filename>domain.ldif</filename>:</para>
 
-# example.com
-dn: dc=example,dc=com
+      <screen>&prompt.root; <userinput>cat domain.ldif</userinput>
+dn: dc=domain,dc=example
 objectClass: dcObject
 objectClass: organization
-o: Example
-dc: Example
+o: domain.example
+dc: domain
 
-# Manager, example.com
-dn: cn=Manager,dc=example,dc=com
-objectClass: organizationalRole
-cn: Manager
+dn: ou=groups,dc=domain,dc=example
+objectClass: top
+objectClass: organizationalunit
+ou: groups
 
-# search result
-search: 3
-result: 0 Success
+dn: ou=users,dc=domain,dc=example
+objectClass: top
+objectClass: organizationalunit
+ou: users
 
-# numResponses: 3
-# numEntries: 2</screen>
+dn: cn=team,ou=groups,dc=domain,dc=example
+objectClass: top
+objectClass: posixGroup
+cn: team
+gidNumber: 10001
 
-      <para>An dieser Stelle sollte der Server konfiguriert sein und
-	ordnungsgemäß funktionieren.</para>
+dn: uid=john,ou=users,dc=domain,dc=example
+objectClass: top
+objectClass: account
+objectClass: posixAccount
+objectClass: shadowAccount
+cn: John McUser
+uid: john
+uidNumber: 10001
+gidNumber: 10001
+homeDirectory: /home/john/
+loginShell: /usr/bin/bash
+userPassword: secret</screen>
+
+      <para>Weitere Informationen finden Sie in der
+	OpenLDAP-Dokumentation.  Benutzen Sie
+	<filename>slappasswd</filename>, um das Passwort
+	durch einen Hash in
+	<literal>userPassword</literal> zu ersetzen.  Der in
+	<literal>loginShell</literal> angegebene Pfad muss in
+	allen Systemen existieren, in denen
+	<literal>john</literal> sich anmelden darf.  Benutzen
+	Sie schließlich den <literal>mdb</literal>-Administrator,
+	um die Datenbank zu ändern:</para>
+
+      <screen>&prompt.root; <userinput>ldapadd -W -D "cn=mdbadmin,dc=domain,dc=example" -f domain.ldif</userinput></screen>
+
+      <para>Änderungen im Bereich
+	<emphasis>global configuration</emphasis> können nur vom
+	globalen Superuser vorgenommen werden.  Angenommen die Option
+	<literal>olcTLSCipherSuite: HIGH:MEDIUM:SSLv3</literal> wurde
+	ursprünglich definiert und soll nun gelöscht werden.
+	Dazu erstellen Sie zunächst eine Datei mit folgendem
+	Inhalt:</para>
+
+      <screen>&prompt.root; <userinput>cat <replaceable>global_mod</replaceable></userinput>
+dn: cn=config
+changetype: modify
+delete: olcTLSCipherSuite</screen>
+
+      <para>Übernehmen Sie dann die Änderungen:</para>
+
+      <screen>&prompt.root; <userinput>ldapmodify -f global_mod -x -D "cn=config" -W</userinput></screen>
+
+      <para>Geben Sie bei Aufforderung das im Abschnitt
+	<emphasis>configuration backend</emphasis> gewählte
+	Passwort ein.  Der Benutzername ist nicht erforderlich:
+	Hier repräsentiert <literal>cn=config</literal> den DN des zu
+	ändernden Datenbankabschnitts.  Alternativ können Sie mit
+	<literal>ldapmodify</literal> eine einzelne Zeile der
+	Datenbank löschen, mit <literal>ldapdelete</literal> einen
+	ganzen Eintrag.</para>
+
+      <para>Wenn etwas schief geht oder der globale Superuser nicht
+	auf das Konfigurations-Backend zugreifen kann,  ist es
+	möglich, die gesamte Konfiguration zu löschen und neu zu
+	schreiben:</para>
+
+      <screen>&prompt.root; <userinput>rm -rf /usr/local/etc/openldap/slapd.d/</userinput></screen>
+
+      <para><filename>slapd.ldif</filename> kann dann bearbeitet und
+	erneut importiert werden.  Bitte folgenden Sie dieser
+	Vorgehensweise nur, wenn keine andere Lösung verfügbar
+	ist.</para>
+
+      <para>Dies ist nur die Konfiguration des Servers.  Auf demselben
+	Rechner kann auch ein LDAP-Client mit eigener, separater
+	Konfiguration betrieben werden.</para>
     </sect2>
   </sect1>
 


More information about the svn-doc-all mailing list