![SVN 配置组和基于路径的授权 (groups + authz)](https://linux22.com/image/664719/SVN%20%E9%85%8D%E7%BD%AE%E7%BB%84%E5%92%8C%E5%9F%BA%E4%BA%8E%E8%B7%AF%E5%BE%84%E7%9A%84%E6%8E%88%E6%9D%83%20(groups%20%2B%20authz).png)
我正在尝试配置我的 Subversion 存储库以使用全局组文件(来自LDAP 组到 Subversion Authz 组桥接脚本) 与使用每个存储库的 authz 文件结合使用。目前我使用 svnserve,所以我的配置文件是 svnserve.conf。
我会使用“groups-db”选项,但 svnserve.conf 手册甚至没有列出它,而且很少有网页谈论它。Apache 中的 AuthzSVNGroupsFile 选项并没有真正好转。由于我找不到解决该问题的资源,我正在尝试从社区寻求帮助。
问题:
单独使用时,“groups-db”和“authz-db”工作得很好。但是当我同时启用它们时,SVN 客户端就会出现错误:Invalid authz configuration
。
以下是我的配置文件的摘录:
authz-db = authz
groups-db = ^/../groups_test.txt
文件的访问权限被定义,以便 svnserve 可以读取它们。
更奇怪的是:问题仍然存在即使两个文件都是空的!
从SVN 开发人员列表的邮件存档我会读:
当使用 'AuthzSVNGroupsFile' 选项时,禁止在 authz 文件中定义组。
好的,但我的文件暂时是空的:-)
问题:
是否可以在单个存储库中使用这两个文件?我想是的,但我无法让它工作。
答案1
我自己发现了这个问题,很抱歉公开发布了这个问题。希望它能帮助其他人。
我误解了“存储库相对路径”前缀 (^/) 的用法。这意味着“在存储库内,在根目录中”(例如 svn://myserver/myrepo/)。我试图将其用作服务器上存储库文件的快捷方式(/var/svn/myrepo),但存储库中不存在相应的文件。现在一切都运行正常,配置如下:
authz-db = authz
groups-db = /var/svn/authz_groups_ldap.conf