如何将 ldap 用户与 svn 链接起来?

如何将 ldap 用户与 svn 链接起来?

我需要将 ldap 用户与我正在使用的 RHEL 6.2 服务器上配置的 svn 服务同步。此外,如果能够控制谁可以提交,那就太好了。ldap
正在运行,用户和组正在同步。SVN 也在运行,但只有一个用户是手动配置的。

我已经在 RHEL 框中按以下方式配置了 svn:

## as root
yum install subversion xinetd
# the svn group is an ldap group
adduser -m -g svn -s /bin/bash svn
## as svn
cd
svnadmin create /home/svn/repos
cd repos/conf
vi svnserve.conf # allow auth login
vi passwd        # add users
#- svntestuser = svntestuserpassword
## as root
vi /etc/xinetd.d/svnserve
#- service svn
#- {
#-  port = 3690
#-  socket_type = stream
#-  protocol = tcp
#-  wait = no
#-  user = svn
#-  server = /usr/bin/svnserve
#-  server_args = -i -r /home/svn
#- }
/etc/init.d/xinetd restart

现在,所有附加用户都必须位于 /home/svn/repos/passwd 文件中。我认为我需要他们与 svn 组或我将为此创建的其他组同步。
如果您对设置有任何改进,我都会认真听取。
谢谢,

编辑 1:我的先决条件是不使用 apache 实例。
编辑 2:看来 sasl authent 可以在 svn 和 ldap 中使用,但还不知道如何使用。

答案1

有两个坏消息要告诉你:

  • Svnserve'd Subversion 明确使用自己的内部的用户数据库 (password-db) 和 ACL 文件 (authz-db)
  • 您无法从 LAP 导入用户和组自动地改为 authz-db 或使用 LDAP 代替 password-db

有两个好消息要告诉你:

高血压

编辑:在 Subversion 1.8+ 中,我看到了作为单独实体添加的组文件 - 您可以在此文件中传输所有组定义,而不必担心在组同步时覆盖 authz-db 其余部分中的 ACL 规则

相关内容