2008-12-02 52 views
20

我想知道如何设置一个SVN仓库与LDAP认证。 虽然我不想使用Apache DAV。svnserve与LDAP

回答

12

有两种选择:

  1. svnserve作为服务器,并使用SASL验证。配置SASL to authenticate against LDAP
  2. 通过ssh访问存储库。为所有用户创建ssh帐户(可能是自动),并让这些帐户使用PAM进行LDAP验证。将所有用户放入一个组中,并创建该组所拥有的存储库文件。
+0

有关如何在Windows盒子上执行选项1的任何线索? – jpierson 2009-12-08 12:24:40

8

由于我花了一些时间才找到个要做到这一点,我想后我这究竟是怎么一个RHEL5服务器上:

  1. 安装的CollabNet的RPM(clientserver, and extras)。

  2. 运行/opt/CollabNet_Subversion/bin/Configure-CollabNet-Subversion配置没有Apace和svnserve。

  3. 修改repo/conf/svnserve.conf文件有:

    [sasl] 
    use-sasl=true 
    
  4. 创建/opt/CollabNet_Subversion/etc/saslauthd.conf文件与这些内容:

    ldap_servers: ldaps://... 
    ldap_search_base: ... 
    ldap_bind_dn: ... 
    ldap_bind_pw: ... 
    ldap_auth_method: bind 
    ldap_timeout: 10 
    
  5. 创建/etc/opt/CollabNet_Subversion/sasl2/svn.conf文件,这些内容与MS AD LDAP使用:

    pwcheck_method: saslauthd 
    auxprop_plugin: ldap 
    mech_list: PLAIN LOGIN 
    ldapdb_mech: PLAIN LOGIN 
    
  6. 复制/etc/openldap/ldap.conf/etc/opt/CollabNet_Subversion/conf/openldap并添加TLS_REQCERT allow。这需要我们自签名的LDAP服务器

  7. 运行的CollabNet saslauthd

    • mkdir -p /var/state/saslauthd
    • 编辑/etc/init.d/collabnet_subversion包括/opt/CollabNet_Subversion/sbin/saslauthd -a ldapstart()功能
    • stop/start /etc/init.d/collabnet_subverison
结束

注意:您可以使用/opt/CollabNet_Subversion/sbin/testsaslauthd -u <userid> -p <password>测试SASL连接到LDAP

有点麻烦,但对我来说,它可以让我们的客户通过使用他们的LDAP密码连接到svn://