我想知道如何使用 LDAP 身份验证设置 SVN 存储库。不过我不想使用 Apache DAV。
3 回答
有两种选择:
- 将 svnserve 作为服务器运行,并使用SASL进行身份验证。配置SASL 以针对 LDAP 进行身份验证。
- 通过 ssh 访问存储库。为所有用户创建 ssh 帐户(可能是自动),并让这些帐户使用 PAM 针对 LDAP 进行身份验证。将所有用户放入一个组,并使存储库文件归该组所有。
由于我花了一些时间来找到执行此操作的部分,因此我想发布我是如何在 RHEL5 服务器上执行此操作的:
/opt/CollabNet_Subversion/bin/Configure-CollabNet-Subversion
在没有 Apace 和 svnserve 的情况下运行配置。修改您的
repo/conf/svnserve.conf
文件以具有:[sasl] use-sasl=true
/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
使用这些内容创建
/etc/opt/CollabNet_Subversion/sasl2/svn.conf
文件以用于 MS AD LDAP:pwcheck_method: saslauthd auxprop_plugin: ldap mech_list: PLAIN LOGIN ldapdb_mech: PLAIN LOGIN
复制
/etc/openldap/ldap.conf
到/etc/opt/CollabNet_Subversion/conf/openldap
并添加TLS_REQCERT allow
. 这是我们的自签名 LDAP 服务器所必需的运行 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 密码进行连接。
您可以使用具有 ldap 插件的scm-manager 。