使用LDAP进行svnserve

Shy*_*yam 20 svn ldap svnserve

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

Mar*_*wis 12

有两种选择:

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


小智 8

由于我花了一些时间来找到这样做的部分,我想在RHEL5服务器上发布我是如何做到这一点的:

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

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

  3. 修改你的repo/conf/svnserve.conf文件:

    [sasl]
    use-sasl=true
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  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密码连接.