20

我想知道如何使用 LDAP 身份验证设置 SVN 存储库。不过我不想使用 Apache DAV。

4

3 回答 3

13

有两种选择:

  1. 将 svnserve 作为服务器运行,并使用SASL进行身份验证。配置SASL 以针对 LDAP 进行身份验证
  2. 通过 ssh 访问存储库。为所有用户创建 ssh 帐户(可能是自动),并让这些帐户使用 PAM 针对 LDAP 进行身份验证。将所有用户放入一个组,并使存储库文件归该组所有。
于 2008-12-02T07:23:15.557 回答
9

由于我花了一些时间来找到执行此操作的部分,因此我想发布我是如何在 RHEL5 服务器上执行此操作的:

  1. 安装 CollabNet rpms(客户端服务器和附加组件)。

  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 ldap结束start()
    • stop/start /etc/init.d/collabnet_subverison

注意:您可以/opt/CollabNet_Subversion/sbin/testsaslauthd -u <userid> -p <password>用来测试 sasl 与 ldap 的连接

有点涉及,但对我来说,它允许我们的客户svn://使用他们的 ldap 密码进行连接。

于 2011-05-05T14:17:13.333 回答
0

您可以使用具有 ldap 插件的scm-manager 。

于 2011-05-10T05:55:51.433 回答