2

我正在尝试为颠覆找到一个自动的基于路径的授权工具。或有关如何更有效地管理大型身份验证文件的建议

现在我们有超过 1000 个用户、150 个组和 550 个访问规则。auth 文件将近 1500 行。

管理这种大小的存储库结构需要时间,并且最终会花钱。同一组中有许多重复用户,多个组不必要地重叠等。

我没有找到更自动化的解决方案来管理这种大小的身份验证文件。搜索用户,确保没有重复,将用户添加到具有正确权限的正确存储库,有时一次添加 10 多个用户。至少可以说,使用 vi 来完成这项任务是令人生畏的。

我们有一个自动备份脚本运行程序,当您运行它时,它会创建一个备份,然后允许您修改身份验证文件。这是防止生产线错误关闭的唯一方法。

我发现的一个工具是 suafe。一个很好的工具,但似乎不是从我的服务器上的机器编辑文件的简单方法。打败了我正在寻找的目的。

我需要一个工具,它能够清理我当前的身份验证文件、查找重复文件、将用户添加到正确的存储库、创建存储库的新路径和新用户组。

是否有任何工具或建议对这种规模的回购结构有益?

仅供参考:SVN 在 linux 机器上运行。

4

2 回答 2

3

如果你能把它从你的工作变成别人的工作呢?

使用 Apache httpd 的 Subversion 很好地与 LDAP 身份验证集成,这意味着(如果您是 Windows 商店),它也可以与 Windows 域和 Active Directory 一起使用。Windows Active Directory 组成为 Subversion 身份验证组。你可以说这个组(相对于一大群人)可以访问存储库的这一部分。

而且,如果需要将某人放入某个组,那不再是您的工作了。相反,它们需要被放置到正确的 Active Directory 组中,并且神奇地,它们也将获得所需的 Subversion 访问权限。svn_auth 文件没有更改或文档。不再更改 svn_access 文件。

考虑两组访问控制:

  • 读取权限
  • 写访问

在大多数商店中,几乎所有开发人员都授予对整个存储库的读取访问权限。写访问可以由预提交挂钩或 Subversion 身份验证和访问文件控制。

我通常做的是拥有一个名为“开发”的 Windows Active Directory 组,任何想要对 Subversion 存储库进行读取访问的人都属于该组。如果您有 Windows 帐户,并且您是该组的成员,则您可以访问 Subversion 存储库。

然后,我使用我的预提交挂钩来微调此访问权限,以消除各种项目的不同人员的读取访问权限。人们可以签出代码并阅读代码,但除非他们获得我的钩子的写权限,否则他们无法更新代码。subversion.conf这是我在httpd 配置中的访问设置示例:

<Location /src>
        DAV svn
        SVNParentPath /opt/svn_repos
        SVNListParentPath on
        AuthType basic
        AuthName "Vegicorp Subversion Repository"
        AuthBasicProvider ldap
        AuthzLDAPAuthoritative off
        AuthLDAPURL "ldap://ldap.vegicorp.com:3268/dc=vegicorp,dc=com?sAMAccountName" NONE
        AuthLDAPBindDN "CN=SVNRobot,OU=Users,OU=Accounts,DC=vegicorp,DC=com"
        AuthLDAPBindPassword "Sw0rdf1sh"
        Require ldap-group CN=Development, OU=Groups, OU=Accounts, DC=vegicorp, DC=com
        Require ldap-group CN=CM-robots, OU=Groups, OU=Accounts, DC=vegicorp, DC=com
</Location>

现在,该组中的任何人DevelopmentCM-robots有权访问我们的 Subversion 存储库的任何人。

然后我使用我的预提交挂钩来控制写访问。这个钩子依赖于一个控制文件进行配置。我可以做的一件事就是将控制文件放在我的 Subversion 存储库中。这样,管理人员(因为每个管理人员都有一个单独的存储库)可以编辑控制文件并确定谁拥有或没有访问权限。这使管理人员无需经过我就可以确定谁应该和不应该访问他们的项目。

于 2013-07-17T19:43:35.810 回答
1

关于谵妄的权利:

在 Windows 主机上有 repos-tree 的镜像。使用 VisualSVN 服务器管理这个镜像 - 它有很好的服务器管理小程序,您可以在其中以 GUI 样式管理用户/组/ACL。并用master编辑后rsync VisualSVN Server的authz文件

在此处输入图像描述

于 2013-07-17T18:35:37.283 回答