2008-12-02 8 views
20

Ich würde gerne wissen, wie Sie ein SVN-Repository mit LDAP-Authentifizierung einrichten. Ich möchte jedoch nicht Apache DAV verwenden.svnserve mit LDAP

Antwort

12

Es gibt zwei Möglichkeiten:

  1. Svnserve als Server und authentifizieren SASL verwenden. Konfigurieren Sie SASL to authenticate against LDAP.
  2. Zugriff auf das Repository über ssh. Erstellen Sie ssh-Konten für alle Benutzer (möglicherweise automatisch), und lassen Sie diese Konten mithilfe von PAM bei LDAP authentifizieren. Setzen Sie alle Benutzer in eine einzige Gruppe und machen Sie die Repository-Dateien zu dieser Gruppe.
+0

Gibt es Hinweise darauf, wie man Option 1 in einer Windows-Box ausführt? – jpierson

+0

defekter Link "SASL zur Authentifizierung gegen LDAP" –

8

Da es einige Zeit, um die Stücke zu finden, nahm dies zu tun, wollte ich schreiben, wie ich diese Server auf einem RHEL5 tat:

  1. installieren CollabNet RPMs (client, server, and extras).

  2. ausführen /opt/CollabNet_Subversion/bin/Configure-CollabNet-Subversion zu konfigurieren ohne Apace und mit Svnserve.

  3. ändern Sie Ihre repo/conf/svnserve.conf Datei zu haben:

    [sasl] 
    use-sasl=true 
    
  4. /opt/CollabNet_Subversion/etc/saslauthd.conf Datei mit folgendem Inhalt erstellen:

    ldap_servers: ldaps://... 
    ldap_search_base: ... 
    ldap_bind_dn: ... 
    ldap_bind_pw: ... 
    ldap_auth_method: bind 
    ldap_timeout: 10 
    
  5. erstellen /etc/opt/CollabNet_Subversion/sasl2/svn.conf Datei mit diesen Inhalten für die Verwendung mit MS AD LDAP:

    pwcheck_method: saslauthd 
    auxprop_plugin: ldap 
    mech_list: PLAIN LOGIN 
    ldapdb_mech: PLAIN LOGIN 
    
  6. kopieren Sie /etc/openldap/ldap.conf zu /etc/opt/CollabNet_Subversion/conf/openldap und fügen Sie TLS_REQCERT allow hinzu. Dies ist für unsere selbstsignierten LDAP-Server erforderlich

  7. Lauf CollabNet saslauthd

    • mkdir -p /var/state/saslauthd
    • bearbeiten /etc/init.d/collabnet_subversion/opt/CollabNet_Subversion/sbin/saslauthd -a ldap gegen Ende start() Funktion enthalten
    • stop/start /etc/init.d/collabnet_subverison

hinweis: sie können /opt/CollabNet_Subversion/sbin/testsaslauthd -u <userid> -p <password> verwenden, um sasl verbindung zu ldap zu testen

Ein bisschen beteiligt, aber für mich erlaubt es unseren kunden, sich mit svn:// mit ihren ldap passwörtern zu verbinden.