[svnbook] r4110 committed - Translation of "Using svnserve with SASL" (cf. http://www.svnbook.de/t...

svnbook at googlecode.com svnbook at googlecode.com
Thu Oct 13 06:23:44 CDT 2011


Revision: 4110
Author:   jmfelderhoff at gmx.eu
Date:     Thu Oct 13 04:23:20 2011
Log:      Translation of "Using svnserve with SASL" (cf.  
http://www.svnbook.de/ticket/313).
http://code.google.com/p/svnbook/source/detail?r=4110

Modified:
  /branches/1.5/de/book/ch06-server-configuration.xml

=======================================
--- /branches/1.5/de/book/ch06-server-configuration.xml	Sun May 30 23:37:40  
2010
+++ /branches/1.5/de/book/ch06-server-configuration.xml	Thu Oct 13 04:23:20  
2011
@@ -1,6 +1,6 @@
  <chapter id="svn.serverconfig">
   <!--
- 	<title>Server Configuration</title>
+  <title>Server Configuration</title>
  -->
  <title>Die Administration eines Subversion-Servers</title>

@@ -13,14 +13,14 @@
      perhaps, all over the world.</para>
  -->

-	<para>Der Zugriff auf ein Subversion-Projektarchiv kann problemlos
-	von mehreren Clients, welche auf demselben Rechner wie
-	Subversion laufen, gleichzeitig erfolgen – unter Verwendung der
-	<literal>file://</literal>-Methode. Aber typischerweise läuft
-	der Subversion-Server auf einem separaten Rechner, und der Zugriff
-	erfolgt von Clients auf vielen verschiedenen Computern aus der ganzen
-	Firma – ja sogar der ganzen Welt.</para>
-
+  <para>Der Zugriff auf ein Subversion-Projektarchiv kann problemlos
+  von mehreren Clients, welche auf demselben Rechner wie
+  Subversion laufen, gleichzeitig erfolgen – unter Verwendung der
+  <literal>file://</literal>-Methode. Aber typischerweise läuft
+  der Subversion-Server auf einem separaten Rechner, und der Zugriff
+  erfolgt von Clients auf vielen verschiedenen Computern aus der ganzen
+  Firma – ja sogar der ganzen Welt.</para>
+
  <!--
    <para>This chapter describes how to get your Subversion repository
      exposed outside its host machine for use by remote clients.  We
@@ -33,11 +33,11 @@

      <para>In diesem Kapitel erklären wir, wie Sie ihr  
Subversion-Projektarchiv
      für den Fernzugriff von Clients fit machen. Wir werden
-	ausführlich auf alle aktuell verfügbaren Servermechanismen von
-	Subversion eingehen und über ihre Konfiguration und Verwendung reden.
-	Nach dem Lesen dieses Kapitels sollten Sie in der Lage sein, zu  
entscheiden,
-	welche Netzwerk-Konfiguration Ihren Bedürfnissen entspricht und wie
-	diese auf ihrem Server eingerichtet wird.</para>
+  ausführlich auf alle aktuell verfügbaren Servermechanismen von
+  Subversion eingehen und über ihre Konfiguration und Verwendung reden.
+  Nach dem Lesen dieses Kapitels sollten Sie in der Lage sein, zu  
entscheiden,
+  welche Netzwerk-Konfiguration Ihren Bedürfnissen entspricht und wie
+  diese auf ihrem Server eingerichtet wird.</para>

    <!-- =================================================================  
-->
    <!-- =================================================================  
-->
@@ -46,8 +46,8 @@
  <!--
      <title>Overview</title>
  -->
-	<title>Überblick</title>
-
+  <title>Überblick</title>
+
  <!--
      <para>Subversion was designed with an abstract network layer.
        This means that a repository can be programmatically accessed by
@@ -57,15 +57,15 @@
        an infinite number of network implementations.  In practice,
        there are only two servers at the time of this writing.</para>
  -->
-	<para>Subversion wurde mit einer abstrakten
-	Netzwerkschicht entworfen. Dies bedeutet, dass auf ein
-	Projektarchiv automatisiert von beliebigen Server-Prozessen zugegriffen
+  <para>Subversion wurde mit einer abstrakten
+  Netzwerkschicht entworfen. Dies bedeutet, dass auf ein
+  Projektarchiv automatisiert von beliebigen Server-Prozessen zugegriffen
      werden kann, und die für Clients vorhandene  
<quote>Projektarchiv-Access</quote>-API
      (Programmierschnittstelle) erlaubt es Programmierern, Plugins
-	zu entwickeln, die relevante Netzwerkprotokolle verstehen. Theoretisch  
ermöglicht
-	dies Subversion, eine unbegrenzte Zahl an Netzwerkprotokollen zu  
verwenden.
-	Zum Zeitpunkt an dem dies geschrieben wird, gibt es aber nur zwei  
Server.</para>
-
+  zu entwickeln, die relevante Netzwerkprotokolle verstehen. Theoretisch  
ermöglicht
+  dies Subversion, eine unbegrenzte Zahl an Netzwerkprotokollen zu  
verwenden.
+  Zum Zeitpunkt an dem dies geschrieben wird, gibt es aber nur zwei  
Server.</para>
+
  <!--
      <para>Apache is an extremely popular web server; using the
        <command>mod_dav_svn</command> module, Apache can access a
@@ -77,17 +77,17 @@
        authentication systems, and limited built-in web browsing of
        repositories.</para>
  -->
-	<para>Apache ist ein sehr beliebter Webserver, welcher mittels des
-	<command>mod_dav_svn</command>-Moduls auf Projektarchive zugreifen und
-	diese für Clients verfügbar machen kann. Verwendet wird dabei das
-	WebDAV/DeltaV-Protokoll, welches eine Erweiterung von HTTP ist.
-	Da Apache ein stark erweiterbarer Webserver ist, bietet er
-	eine Menge an <quote>frei verfügbaren</quote> Funktionen/Modulen,
-	wie SSL-verschlüsselte Verbindungen, Logging, sowie die Integration  
diverser
-	Authentifikationssysteme von Drittanbietern und einen eingeschränkten
-	Web-Browser-gestützten Projektarchiv-Lesezugriff.</para>
-
-<!--
+  <para>Apache ist ein sehr beliebter Webserver, welcher mittels des
+  <command>mod_dav_svn</command>-Moduls auf Projektarchive zugreifen und
+  diese für Clients verfügbar machen kann. Verwendet wird dabei das
+  WebDAV/DeltaV-Protokoll, welches eine Erweiterung von HTTP ist.
+  Da Apache ein stark erweiterbarer Webserver ist, bietet er
+  eine Menge an <quote>frei verfügbaren</quote> Funktionen/Modulen,
+  wie SSL-verschlüsselte Verbindungen, Logging, sowie die Integration  
diverser
+  Authentifikationssysteme von Drittanbietern und einen eingeschränkten
+  Web-Browser-gestützten Projektarchiv-Lesezugriff.</para>
+
+<!--
      <para>In the other corner is <command>svnserve</command>: a small,
        lightweight server program that speaks a custom protocol with
        clients.  Because its protocol is explicitly designed for
@@ -100,17 +100,17 @@
        starting out with Subversion.</para>
  -->

-	<para>In der anderen Ecke befindet sich <command>svnserve</command>:
-	ein kleiner, leichtgewichtiger Server, der ein einfaches Netzwerkprotokoll
-	für die Zugriffe der Clients verwendet. Da dieses Protokoll für die
-	Verwendung mit Subversion entwickelt wurde und, im Gegensatz zu HTTP,
-	zustandsorientiert ist, bietet es einen deutlich schnelleren  
Netzwerkzugriff –
-	spart allerdings auch einige wichtige Funktionen aus. So bietet er eine
-	SASL-basierte Verschlüsselung und Authentifikation, hat aber keine
-	Logging-Funktionen oder eingebauten Web-Browser-Zugriff. Wie auch immer,
-	er ist extrem einfach einzurichten und für kleinere Teams, welche einfach
-	nur schnell mit Subversion "loslegen" wollen, die beste Wahl.</para>
-
+  <para>In der anderen Ecke befindet sich <command>svnserve</command>:
+  ein kleiner, leichtgewichtiger Server, der ein einfaches  
Netzwerkprotokoll
+  für die Zugriffe der Clients verwendet. Da dieses Protokoll für die
+  Verwendung mit Subversion entwickelt wurde und, im Gegensatz zu HTTP,
+  zustandsorientiert ist, bietet es einen deutlich schnelleren  
Netzwerkzugriff –
+  spart allerdings auch einige wichtige Funktionen aus. So bietet er eine
+  SASL-basierte Verschlüsselung und Authentifikation, hat aber keine
+  Logging-Funktionen oder eingebauten Web-Browser-Zugriff. Wie auch immer,
+  er ist extrem einfach einzurichten und für kleinere Teams, welche einfach
+  nur schnell mit Subversion "loslegen" wollen, die beste Wahl.</para>
+
  <!--
      <para>A third option is to use <command>svnserve</command>
        tunneled over an SSH connection.  Even though this scenario
@@ -128,35 +128,35 @@
        has no meaning, since each user is accessing the repository
        database files directly.</para>
  -->
-
-	<para>Ein dritte Möglichkeit ist, <command>svnserve</command> durch
-	SSH-Verbindungen zu tunneln. Auch wenn in diesem Fall weiterhin
-	<command>svnserve</command> verwendet wird, so unterscheidet sich
-	die Funktionalität ziemlich von der normalen Nutzung von
-	<command>svnserve</command>. SSH wird zur Verschlüsselung der gesamten
-	Kommunikation verwendet. Ebenso zur Authentifizierung, was die
-	Verwendung von realen Nutzerkonten auf dem Subversion-Server notwendig
-	macht (anders als beim einfachen <command>svnserve</command>, der seine
-	eigene Nutzerverwaltung hat). Des weiteren ist es notwendig – da  
jeder
-	angemeldete Nutzer einen eigenen <command>svnserve</command>-Prozess
-	startet – einer Gruppe von lokalen Nutzern (aus Sicht der  
Rechtevergabe)
-	vollen Zugriff auf das Projektarchiv via <literal>file://</literal> URLs  
zu
-	ermöglichen. Pfad-basierte Zugriffskontrolle schließt sich in diesem Fall  
aus,
-	da die Nutzer direkt auf die Datenbank-Dateien zugreifen.</para>
+
+  <para>Ein dritte Möglichkeit ist, <command>svnserve</command> durch
+  SSH-Verbindungen zu tunneln. Auch wenn in diesem Fall weiterhin
+  <command>svnserve</command> verwendet wird, so unterscheidet sich
+  die Funktionalität ziemlich von der normalen Nutzung von
+  <command>svnserve</command>. SSH wird zur Verschlüsselung der gesamten
+  Kommunikation verwendet. Ebenso zur Authentifizierung, was die
+  Verwendung von realen Nutzerkonten auf dem Subversion-Server notwendig
+  macht (anders als beim einfachen <command>svnserve</command>, der seine
+  eigene Nutzerverwaltung hat). Des weiteren ist es notwendig – da  
jeder
+  angemeldete Nutzer einen eigenen <command>svnserve</command>-Prozess
+  startet – einer Gruppe von lokalen Nutzern (aus Sicht der  
Rechtevergabe)
+  vollen Zugriff auf das Projektarchiv via <literal>file://</literal> URLs  
zu
+  ermöglichen. Pfad-basierte Zugriffskontrolle schließt sich in diesem  
Fall aus,
+  da die Nutzer direkt auf die Datenbank-Dateien zugreifen.</para>

  <!--
      <para><xref linkend="svn.serverconfig.overview.tbl-1"/> provides a
        quick summary of the three typical server deployments.</para>
  -->

-	<para><xref linkend="svn.serverconfig.overview.tbl-1"/> zeigt eine kurze  
Zusammenfassung
-	der drei typischen Server-Konfigurationen.</para>
+  <para><xref linkend="svn.serverconfig.overview.tbl-1"/> zeigt eine kurze  
Zusammenfassung
+  der drei typischen Server-Konfigurationen.</para>



     <table id="svn.serverconfig.overview.tbl-1">
   <!-- <title>Comparison of subversion server options</title> -->
- 	  <title>Vergleich der Serveroptionen für Subversion</title>
+    <title>Vergleich der Serveroptionen für Subversion</title>
        <tgroup cols="4">
          <thead>
            <row>
@@ -165,7 +165,7 @@
              <entry>Apache + mod_dav_svn</entry>
              <entry>svnserve</entry>
         <!-- <entry>svnserve over SSH</entry> -->
-       		<entry>svnserve via SSH</entry>
+          <entry>svnserve via SSH</entry>
            </row>
          </thead>
          <tbody>
@@ -214,9 +214,9 @@

            <row>
         <!-- <entry>Encryption</entry> -->
-       		<entry>Verschlüsselung</entry>
+          <entry>Verschlüsselung</entry>
         <!-- <entry>Available via optional SSL</entry> -->
-       		<entry>optional mit SSL</entry>
+          <entry>optional mit SSL</entry>
         <!-- <entry>Available via optional SASL features</entry> -->
              <entry>optional mit der SASL-Funktionen</entry>
         <!-- <entry>Inherent in SSH connection</entry> -->
@@ -232,18 +232,18 @@
              <entry>Apache-seitiges Loggen aller HTTP-Anfragen,
              optionales <quote>High-Level</quote>-Loggen aller  
Client-Operationen</entry>
         <!-- <entry>No logging</entry> -->
-       		<entry>kein Loggen</entry>
+          <entry>kein Loggen</entry>
         <!-- <entry>No logging</entry> -->
-       		<entry>kein Loggen</entry>
+          <entry>kein Loggen</entry>
            </row>

            <row>
         <!-- <entry>Interoperability</entry> -->
              <entry>Interoperabilität</entry>
         <!-- <entry>Accessible by other WebDAV clients</entry> -->
-       		<entry>Zugriff durch andere WebDAV-Clients</entry>
+          <entry>Zugriff durch andere WebDAV-Clients</entry>
         <!-- <entry>Talks only to svn clients</entry> -->
-       		<entry>Verbindung nur mit svn-Clients möglich</entry>
+          <entry>Verbindung nur mit svn-Clients möglich</entry>
         <!-- <entry>Talks only to svn clients</entry> -->
              <entry>Verbindung nur mit svn-Clients möglich</entry>
            </row>
@@ -263,11 +263,11 @@

            <row>
         <!-- <entry>Master-slave server replication</entry> -->
-       		<entry>Master-Slave-Server Replikationen</entry>
+          <entry>Master-Slave-Server Replikationen</entry>
         <!-- <entry>Transparent write-proxying available from slave to  
master</entry> -->
              <entry>transparenter Schreib-Proxy vom Slave zum Master</entry>
         <!-- <entry>Can only create read-only slave servers</entry> -->
-       		<entry>beschränkt auf nur lesbare Slave-Server</entry>
+          <entry>beschränkt auf nur lesbare Slave-Server</entry>
         <!-- <entry>Can only create read-only slave servers</entry> -->
              <entry>beschränkt auf nur lesbare Slave-Server</entry>
            </row>
@@ -275,7 +275,7 @@

            <row>
        <!--  <entry>Speed</entry> -->
-      		<entry>Geschwindigkeit</entry>
+          <entry>Geschwindigkeit</entry>
         <!-- <entry>Somewhat slower</entry> -->
              <entry>ein wenig langsamer</entry>
        <!--  <entry>Somewhat faster</entry> -->
@@ -322,18 +322,18 @@
        might <emphasis>not</emphasis> choose one.</para>
  -->

-	<title>Auswahl einer Serverkonfiguration</title>
-
-	<para>Also dann, welchen Server sollten Sie nun verwenden? Welcher ist  
der beste?</para>
-
-	<para>Auf diese Frage gibt es offensichtlich nicht die eine, richtige  
Antwort.
-	Denn jedes Team stellt andere Anforderungen, und die verschieden Server  
bieten unterschiedliche
-	Funktionen und Voraussetzungen. Das Subversion-Projekt selbst bevorzugt  
keinen der genannten Server
-	oder betrachtet einen als etwas <quote>offizieller</quote> als die  
anderen.</para>
-
-	<para>Wir beleuchten nun die einzelnen Gründe, die für die eine oder  
andere Konstellation
-	sprechen, ebenso auch Gründe, welche vielleicht <emphasis>gegen</emphasis>
-	eine der Möglichkeiten sprechen.</para>
+  <title>Auswahl einer Serverkonfiguration</title>
+
+  <para>Also dann, welchen Server sollten Sie nun verwenden? Welcher ist  
der beste?</para>
+
+  <para>Auf diese Frage gibt es offensichtlich nicht die eine, richtige  
Antwort.
+  Denn jedes Team stellt andere Anforderungen, und die verschieden Server  
bieten unterschiedliche
+  Funktionen und Voraussetzungen. Das Subversion-Projekt selbst bevorzugt  
keinen der genannten Server
+  oder betrachtet einen als etwas <quote>offizieller</quote> als die  
anderen.</para>
+
+  <para>Wir beleuchten nun die einzelnen Gründe, die für die eine oder  
andere Konstellation
+  sprechen, ebenso auch Gründe, welche vielleicht  
<emphasis>gegen</emphasis>
+  eine der Möglichkeiten sprechen.</para>



@@ -491,7 +491,7 @@
      </sect2>
  -->

-		      <title>svnserve über SSH</title>
+          <title>svnserve über SSH</title>

        <variablelist>
          <varlistentry>
@@ -636,7 +636,7 @@
          </varlistentry>

        </variablelist>
-	</sect2>
+  </sect2>



@@ -729,7 +729,7 @@
              </listitem> </itemizedlist>
  -->

-	<title>Empfehlungen</title>
+  <title>Empfehlungen</title>

        <para>Im Allgemeinen empfehlen die Autoren dieses Buches eine  
einfache
          <command>svnserve</command>-Installation für kleine Teams, denen an
@@ -844,7 +844,7 @@
        to your repositories.</para>
   -->

-      	<title>svnserve, ein maßgefertigter Server</title>
+        <title>svnserve, ein maßgefertigter Server</title>

      <para>Das Programm <command>svnserve</command> ist ein  
leichtgewichtiger Server,
        welcher für die Kommunikation mit den Clients ein auf TCP/IP  
basierendes,
@@ -881,7 +881,7 @@
        </itemizedlist>
  -->

-	<title>Der Serverstart</title>
+  <title>Der Serverstart</title>

        <para>Es gibt mehrere Möglichkeiten, <command>svnserve</command>
        zu starten:
@@ -1586,9 +1586,9 @@
            für mehrere Repositories verwenden; in diesem Fall sollten Sie
            die Datei an einem zentraleren Ort ablegen.
            Die Projektarchive, die sich die Benutzerdatei teilen, sollten so
-		  konfiguriert sein, dass sie derselben Authentifizierungsumgebung
-		  angehören, da die Benutzerliste
-		  im Wesentlichen einen Authentifizierungs-Bereich definiert.
+      konfiguriert sein, dass sie derselben Authentifizierungsumgebung
+      angehören, da die Benutzerliste
+      im Wesentlichen einen Authentifizierungs-Bereich definiert.
            Wo die Datei auch liegen mag, stellen Sie sicher, die Lese-
            und Schreibrechte entsprechend zu setzen. Falls Sie wissen,
            unter welchem Konto <command>svnserve</command> laufen wird,
@@ -1602,7 +1602,7 @@
        <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
-->
        <sect3 id="svn.serverconfig.svnserve.auth.general">
   <!--       <title>Set access controls</title> -->
- 			 <title>Setzen von Zugriffsbeschränkungen</title>
+       <title>Setzen von Zugriffsbeschränkungen</title>

  <!--
          <para>There are two more variables to set in the
@@ -1618,18 +1618,18 @@
            read/write access to the repository.  For example:</para>
  -->

-		<para>
-		Es sind noch zwei weitere Variablen in der Datei  
<filename>svnserve.conf</filename>
-		zu setzten: Sie legen fest, was nicht authentifizierten (anonymen)
-		und authentifizierten Nutzern erlaubt ist. Die Variablen
-		<literal>anon-access</literal> und <literal>auth-access</literal>
-		können auf die Werte <literal>none</literal>, <literal>read</literal>
+    <para>
+    Es sind noch zwei weitere Variablen in der Datei  
<filename>svnserve.conf</filename>
+    zu setzten: Sie legen fest, was nicht authentifizierten (anonymen)
+    und authentifizierten Nutzern erlaubt ist. Die Variablen
+    <literal>anon-access</literal> und <literal>auth-access</literal>
+    können auf die Werte <literal>none</literal>, <literal>read</literal>
          oder <literal>write</literal> gesetzt werden. Wenn Sie den Wert auf
          <literal>none</literal> setzen, so unterbinden Sie sowohl den  
Lese- als
          auch den Schreibzugriff – <literal>read</literal> erlaubt  
den Nur-Lese-Zugriff
          auf das Projektarchiv und  <literal>write</literal> gibt auf das  
gesamte Projektarchiv
          Lese- und Schreibzugriff.
-		</para>
+    </para>

  <!--
          <screen>
@@ -1664,10 +1664,10 @@
            access completely:</para>
  -->

-		<para>Tatsächlich sind die in diesem Beispiel gezeigten Einstellungen,
-		auch die Standardwerte der Variablen, falls Sie vergessen sollten, sie
-		zu setzten. Für den Fall, dass Sie noch zurückhaltender sein möchten,  
können Sie den anonymen
-		Zugriff auch komplett unterbinden:</para>
+    <para>Tatsächlich sind die in diesem Beispiel gezeigten Einstellungen,
+    auch die Standardwerte der Variablen, falls Sie vergessen sollten, sie
+    zu setzten. Für den Fall, dass Sie noch zurückhaltender sein möchten,  
können Sie den anonymen
+    Zugriff auch komplett unterbinden:</para>

  <!--
          <screen>
@@ -1705,13 +1705,13 @@
          the <literal>authz-db</literal> variable to point to it:</para>
  -->

-		<para>Der Serverprozess versteht nicht nur diese  
<quote>pauschalen</quote>
-		Zugriffseinstellungen für ein Projektarchiv, sondern auch feiner
-		granulierte Zugriffsrechte auf einzelne Dateien und Verzeichnisse
-		innerhalb des Repositories. Um diese Funktion nutzen zu können, müssen  
Sie eine
-		Datei anlegen, welche die umfangreicheren Regeln enthält und  
anschließend die
-		Variable <literal>authz-db</literal> mit folgenden Wert setzten:
-		</para>
+    <para>Der Serverprozess versteht nicht nur diese  
<quote>pauschalen</quote>
+    Zugriffseinstellungen für ein Projektarchiv, sondern auch feiner
+    granulierte Zugriffsrechte auf einzelne Dateien und Verzeichnisse
+    innerhalb des Repositories. Um diese Funktion nutzen zu können, müssen  
Sie eine
+    Datei anlegen, welche die umfangreicheren Regeln enthält und  
anschließend die
+    Variable <literal>authz-db</literal> mit folgenden Wert setzten:
+    </para>


  <!--
@@ -1747,16 +1747,16 @@

  -->

-		<para>
-		Wir werden die Syntax der <filename>Auth-Datei</filename>
-		noch später in diesem Kapitel besprechen, und zwar in
-		<xref linkend="svn.serverconfig.pathbasedauthz"/>. Beachten Sie,
-		dass die <literal>authz-db</literal>-Variable die Verwendung der
-		<literal>anon-access</literal>- und  
<literal>auth-access</literal>-Variablen
+    <para>
+    Wir werden die Syntax der <filename>Auth-Datei</filename>
+    noch später in diesem Kapitel besprechen, und zwar in
+    <xref linkend="svn.serverconfig.pathbasedauthz"/>. Beachten Sie,
+    dass die <literal>authz-db</literal>-Variable die Verwendung der
+    <literal>anon-access</literal>- und  
<literal>auth-access</literal>-Variablen
          nicht ausschließt – wenn alle diese Variablen gleichzeitig
-		gesetzt sind, so müssen auch <emphasis>alle</emphasis> diese Regeln
-		erfolgreich greifen, bevor ein Zugriff erlaubt wird.
-		</para>
+    gesetzt sind, so müssen auch <emphasis>alle</emphasis> diese Regeln
+    erfolgreich greifen, bevor ein Zugriff erlaubt wird.
+    </para>
        </sect3>
      </sect2>

@@ -1764,17 +1764,33 @@

      <!-- ===============================================================  
-->
      <sect2 id="svn.serverconfig.svnserve.sasl">
+<!--
        <title>Using <command>svnserve</command> with SASL</title>
-
+-->
+      <title><command>svnserve</command> mit SASL verwenden</title>
+
+<!--
        <para>For many teams, the built-in CRAM-MD5 authentication is
          all they need from <command>svnserve</command>.  However, if
          your server (and your Subversion clients) were built with the
          Cyrus Simple Authentication and Security Layer (SASL) library,
          you have a number of authentication and encryption
          options available to you.</para>
+-->
+      <para>Die meisten Teams benötigen lediglich die eingebaute
+        CRAM-MD5 Authentifizierung von <command>svnserve</command>.
+        Falls Ihr Server (und Ihre Subversion Clients) jedoch mit der
+        Cyrus Simple Authentication and Security Layer (SASL)
+        Bibliothek gebaut wurde, stehen Ihnen eine Reihe von
+        Authentifizierungs- und Verschlüsselungsoptionen zur
+        Verfügung.</para>

        <sidebar>
+<!--
          <title>What Is SASL?</title>
+-->
+        <title>Was ist SASL?</title>
+<!--
          <para>The Cyrus Simple Authentication and Security Layer is
            open source software written by Carnegie Mellon University.
            It adds generic authentication and encryption capabilities
@@ -1794,12 +1810,41 @@
            Secure-Remote-Password (SRP), and others.  Certain
            mechanisms may or may not be available to you; be sure to
            check which modules are provided.</para>
-
+-->
+        <para>Cyrus Simple Authentication and Security Layer (einfache
+          Cyrus Authentifizierungs- und Sicherheitsschicht) ist
+          quelloffene Software, die von der Carnegie Mellon University
+          geschrieben wurde. Sie fügt beliebigen Netzprotokollen
+          allgemeine Authentifizierungs- und
+          Verschlüsselungsfähigkeiten hinzu, und seit Subversion 1.5
+          kann sowohl der <command>svnserve</command>-Server als auch
+          der <command>svn</command>-Client damit umgehen.
+          Möglicherweise steht sie Ihnen zur Verfügung. Falls Sie
+          Subversion selber bauen, müssen Sie mindestens Version 2.1
+          von SASL auf Ihrem System installiert haben und
+          sicherstellen, dass es während des Erstellungsprozesses
+          gefunden wird. Falls Sie ein fertiges Subversion-Binärpaket
+          verwenden, müssen Sie den Paketpfleger fragen, ob
+          SASL-Unterstützung einkompiliert wurde. SASL wird mit
+          einer Anzahl ergänzbarer Module geliefert, die
+          verschiedenartige Authentifizierungssysteme repräsentieren:
+          Kerberos (GSSAPI), NTLM, One-Time-Passwords (OTP),
+          DIGEST-MD5, LDAP, Secure-Remote-Password (SRP) u.a.
+          Bestimmte Mechanismen könnten für Sie verfügbar sein;
+          überprüfen Sie, welche Module mitgeliefert werden.</para>
+
+<!--
          <para>You can download Cyrus SASL (both code and
            documentation) from
            <ulink  
url="http://asg.web.cmu.edu/sasl/sasl-library.html"/>.</para>
+-->
+        <para>Sie können Cyrus SASL (sowohl den Code als auch die
+          Dokumentation) bei
+          <ulink url="http://asg.web.cmu.edu/sasl/sasl-library.html"/>
+          herunterladen.</para>
        </sidebar>

+<!--
        <para>Normally, when a subversion client connects to
          <command>svnserve</command>, the server sends a greeting that
          advertises a list of the capabilities it supports, and the
@@ -1816,21 +1861,51 @@
          authentication mechanisms may also be available.  However,
          you'll need to explicitly configure SASL on the server side to
          advertise them.</para>
+-->
+      <para>Wenn ein Subversion-Client sich mit
+        <command>svnserve</command> verbindet, sendet der Server
+        normalerweise eine Begrüßung, die eine Auflistung der von ihm
+        unterstützten Fähigkeiten umfasst, woraufhin der Client mit
+        einer ähnlichen Liste von Fähigkeiten antwortet. Falls der
+        Server so konfiguriert wurde, dass er eine Authentifizierung
+        benötigt, sendet er eine Aufforderung, die die verfügbaren
+        Authentifizierungsmechanismen auflistet; der Client antwortet,
+        indem er einen der Mechanismen auswählt und die
+        Authentifizierung erfolgt dann mittels eines
+        Nachrichtenaustausches. Selbst falls keine SASL-Fähigkeiten
+        vorhanden sind, verstehen Client und Server von sich aus die
+        CRAM-MD5- und ANONYMOUS-Mechanismen (siehe <xref
+          linkend="svn.serverconfig.svnserve.auth"/>). Falls Client
+        und Server mit SASL gebaut wurden, könnten eine Anzahl
+        weiterer Authentifizierungsmechanismen verfügbar sein.
+        Trotzdem müssen Sie serverseitig ausdrücklich SASL
+        konfigurieren, um es anbieten zu können.</para>

        <sect3 id="svn.serverconfig.svnserve.sasl.authn">
+<!--
          <title>Authenticating with SASL</title>
-
+-->
+        <title>Authentifizierung mit SASL</title>
+
+<!--
          <para>To activate specific SASL mechanisms on the server,
            you'll need to do two things.  First, create
            a <literal>[sasl]</literal> section in your
            repository's <filename>svnserve.conf</filename> file with an
            initial key-value pair:</para>
+-->
+        <para>Um bestimmte SASL-Mechanismen auf dem Server zu
+          aktivieren, müssen Sie zwei Dinge tun. Erstellen Sie
+          zunächst einen Abschnitt <literal>[sasl]</literal> in der
+          Datei <filename>svnserve.conf</filename> Ihres
+          Projektarchivs mit einem Schlüssel-Wert-Paar:</para>

          <programlisting>
            [sasl]
            use-sasl = true
  </programlisting>

+<!--
          <para>Second, create a main SASL configuration file
            called <filename>svn.conf</filename> in a place where the
            SASL library can find it—typically in the directory
@@ -1841,7 +1916,19 @@
            is <emphasis>not</emphasis>
            the <filename>svnserve.conf</filename> file that lives
            within a repository!)</para>
-
+-->
+        <para>Erstellen Sie zweitens eine
+          SASL-Hauptkonfigurationsdatei namens
+          <filename>svn.conf</filename> dort,  wo die SASL-Bibliothek
+          sie finden kann – typischerweise in dem Verzeichnis,
+          wo Sie müssen das Plugin-Verzeichnis auf Ihrem System
+          lokalisieren, etwa <filename>/usr/lib/sasl2/</filename> oder
+          <filename>/etc/sasl2/</filename>. (Beachten Sie, dass es
+          sich hierbei <emphasis>nicht</emphasis> um die Datei
+          <filename>svnserve.conf</filename> handelt, die innerhalb
+          eines Projektarchivs liegt!)</para>
+
+<!--
          <para>On a Windows server, you'll also have to edit the system
            registry (using a tool such as <command>regedit</command>)
            to tell SASL where to find things.  Create a registry key
@@ -1854,7 +1941,22 @@
            <literal>ConfFile</literal> (whose value is a path to the
            parent directory containing
            the <filename>svn.conf</filename> file you created).</para>
-
+-->
+        <para>Auf einem Windows-Server müssen Sie außerdem die
+          Systemregistratur anpassen (mit einem Werkzeug wie
+          <command>regedit</command>), um SASL mitzuteilen, wo es
+          Dinge finden kann. Erstellen Sie einen Registraturschlüssel
+          namens <literal>[HKEY_LOCAL_MACHINE\SOFTWARE\Carnegie
+          Mellon\Project Cyrus\SASL Library]</literal> und legen zwei
+          weitere Schlüssel hinein: einen  Schlüssel namens
+          <literal>SearchPath</literal> (dessen Wert ein Pfad zum
+          Verzeichnis bezeichnet, in dem die SASL
+          <filename>sasl*.dll</filename>-Plugin-Bibliotheken liegen)
+          und einen Schlüssel namens <literal>ConfFile</literal>
+          (dessen Wert ein Pfad zum Elternverzeichnis der von Ihnen
+          erstellten Datei <filename>svn.conf</filename> ist).</para>
+
+<!--
          <para>Because SASL provides so many different kinds of
            authentication mechanisms, it would be foolish (and far
            beyond the scope of this book) to try to describe every
@@ -1868,6 +1970,21 @@
            example, if your <filename>subversion.conf</filename>
            (or <filename>svn.conf</filename>) file contains the
            following:</para>
+-->
+        <para>Da SASL so viele unterschiedliche Arten von
+          Authentifizierungsmechanismen zur Verfügung stellt, wäre es
+          töricht (und würde den Rahmen dieses Buches sprengen), wenn
+          wir versuchen würden, jede mögliche Server-Konfiguration zu
+          erläutern. Stattdessen empfehlen wir Ihnen, die Lektüre der
+          Dokumentation aus dem Unterverzeichnis
+          <filename>doc/</filename> des SASL Quelltextes. Sie
+          beschreibt detailliert jeden Mechanismus und die
+          entsprechende Konfiguration des Servers. Für die Erörterung
+          an dieser Stelle zeigen wir ein einfaches Beispiel der
+          Konfiguration des DIGEST-MD5 Mechanismus. Wenn Ihre Datei
+          <filename>subversion.conf</filename> (oder
+          <filename>svn.conf</filename>) beispielsweise folgenden
+          Inhalt hat:</para>

          <screen>
  pwcheck_method: auxprop
@@ -1876,6 +1993,7 @@
  mech_list: DIGEST-MD5
  </screen>

+<!--
          <para>you've told SASL to advertise the DIGEST-MD5
            mechanism to clients and to check user passwords against a
            private password database located
@@ -1883,11 +2001,20 @@
            administrator can then use
            the <command>saslpasswd2</command> program to add or modify
            usernames and passwords in the database:</para>
+-->
+        <para>haben Sie SASL aufgefordert, Clients den DIGEST-MD5
+          Mechanismus anzubieten und Benutzerpasswörter mit einer
+          privaten Passwort-Datenbank in
+          <filename>/etc/my_sasldb</filename> abzugleichen. Ein
+          Systemadministrator kann dann mit dem Programm
+          <command>saslpasswd2</command> Benutzernamen und Passwörter
+          in der Datenbank eintragen oder bearbeiten:</para>

          <screen>
  $ saslpasswd2 -c -f /etc/my_sasldb -u realm username
  </screen>

+<!--
          <para>A few words of warning: first, make sure the
            <quote>realm</quote> argument
            to <command>saslpasswd2</command> matches the same realm
@@ -1900,13 +2027,37 @@
            the <command>svnserve</command> program has read access to
            the file (and possibly write access as well, if you're using
            a mechanism such as OTP).</para>
-
+-->
+        <para>Ein paar Worte zur Warnung: Stellen Sie zunächst sicherm
+          dass das Argument <quote>realm</quote> für
+          <command>saslpasswd2</command> demselben Bereich entspricht,
+          den Sie in der Datei <filename>svnserve.conf</filename>
+          Ihres Projektarchivs definiert haben; falls diese Werte nicht
+          übereinstimmen, wird die Authentifizierung fehlschlagen.
+          Darüberhinaus muss aufgrund einer Unzulänglichkeit in SASL
+          der gemeinsame Bereich aus einer Zeichenkette ohne
+          Leerzeichen bestehen. Falls Sie sich entscheiden, die
+          standardmäßige SASL-Passwort-Datenbank zu verwenden, sollten
+          Sie schließlich sicherstellen, dass das Programm
+          <command>svnserve</command> die Datei lesen (und
+          möglicherweise auch schreiben) kann, wenn Sie einen
+          Mechanismus wie OTP verwenden).</para>
+
+<!--
          <para>This is just one simple way of configuring SASL.  Many
            other authentication mechanisms are available, and passwords
            can be stored in other places such as in LDAP or a SQL
            database.  Consult the full SASL documentation for
            details.</para>
-
+-->
+        <para>Dies ist lediglich eine einfache Art, SASL zu
+          konfigurieren. Viele andere Authentifizierungsmechanismen
+          stehen zur Verfügung, und Passwörter können an anderer
+          Stelle gespeichert werden, etwa in LDAP oder in einer
+          SQL-Datenbank. Details hierzu finden Sie in der
+          Dokumentation zu SASL.</para>
+
+<!--
          <para>Remember that if you configure your server to only allow
            certain SASL authentication mechanisms, this forces all
            connecting clients to have SASL support as well.  Any
@@ -1918,12 +2069,30 @@
            authenticate, be sure to advertise the CRAM-MD5 mechanism as
            an option.  All clients are able to use CRAM-MD5, whether
            they have SASL capabilities or not.</para>
+-->
+        <para>Wenn Sie Ihren Server so konfigurieren, dass er nur
+          bestimmte SASL-Authentifizierungsmechanismen erlaubt, müssen
+          Sie beachten, dass damit auch alle Clients gezwungen sind,
+          SASL zu unterstützen. Kein Subversion-Client ohne
+          SASL-Unterstützung (u.a. alle Clients vor Version 1.5) kann
+          sich authentifizieren. Andererseits möchten Sie vielleicht
+          gerade diese Einschränkung (<quote>Meine Clients müssen
+            sämtlich Kerberos verwenden!</quote>). Wenn Sie jedoch
+          möchten, dass sich auch Nicht-SASL-Clients authentifizieren
+          können, stellen Sie sicher, dass optional der
+          CRAM-MD5-Mechanismus angeboten wird. Alle Clients können
+          CRAM-MD5 verwenden, egal, ob sie SASL verstehen oder
+          nicht.</para>

          </sect3>

        <sect3 id="svn.serverconfig.svnserve.sasl.encryption">
+<!--
          <title>SASL encryption</title>
-
+-->
+        <title>SASL Verschlüsselung</title>
+
+<!--
          <para>SASL is also able to perform data encryption if a
            particular mechanism supports it.  The built-in CRAM-MD5
            mechanism doesn't support encryption, but DIGEST-MD5 does,
@@ -1931,6 +2100,16 @@
            OpenSSL library.  To enable or disable different levels of
            encryption, you can set two values in your repository's
            <filename>svnserve.conf</filename> file:</para>
+-->
+        <para>SASL kann auch Daten verschlüsseln, sofern ein
+          bestimmter Mechanismus das unterstützt. Der eingebaute
+          CRAM-MD5-Mechanismus unterstützt keine Verschlüsselung,
+          jedoch DIGEST-MD5, und Mechanismen wie SRP erfordern sogar
+          die Verwendung der OpenSSL-Bibliothek. Um verschiedene
+          Verschlüsselungsstufen zu aktivieren oder abzustellen,
+          können Sie zwei Werte in der Datei
+          <filename>svnserve.conf</filename> Ihres Projektarchivs
+          einstellen:</para>

          <screen>
  [sasl]
@@ -1939,6 +2118,7 @@
  max-encryption = 256
  </screen>

+<!--
          <para>The <literal>min-encryption</literal> and
            <literal>max-encryption</literal> variables control the
            level of encryption demanded by the server.  To disable
@@ -1952,7 +2132,21 @@
            In our previous example, we require clients to do at least
            128-bit encryption, but no more than 256-bit
            encryption.</para>
-
+-->
+        <para>Die Variablen <literal>min-encryption</literal> und
+          <literal>max-encryption</literal> kontrollieren die vom
+          Server verlangte Verschlüsselungsstufe. Um Verschlüsselung
+          vollständig abzustellen, setzen Sie beide Werte auf 0. Um
+          die einfache Erstellung von Prüfsummen für Daten zu
+          ermöglichen (etwa, um Manipulationen zu verhindern und
+          Datenintegrität ohne Verschlüsselung zu garantieren), setzen
+          Sie beide Werte auf 1. Falls Sie Verschlüsselung erlauben,
+          jedoch nicht voraussetzen, setzen Sie den Minimalwert auf 0
+          und den Maximalwert auf irgendeine Bitlänge. Um unbedingte
+          Verschlüsselung zu verlangen,, setzen Sie beide Werte auf
+          Zahlen größer 1. Im vorangegangenen Beispiel verlangen wir,
+          dass Clients mindestens 128-Bit- aber höchstens
+          256-Bit-Verschlüsselung vornehmen.</para>
          </sect3>

        </sect2>


More information about the svnbook-dev mailing list