svnadmin 添加新用户并为其分配一个 repo

Posted

技术标签:

【中文标题】svnadmin 添加新用户并为其分配一个 repo【英文标题】:svnadmin add new user and assign it only one repo 【发布时间】:2012-05-18 20:32:36 【问题描述】:

我将在我的 svn 服务器上创建一个新用户,该用户只能在我的一个存储库中访问。有可能吗?

我的服务器运行 debian 挤压。

【问题讨论】:

一切皆有可能,除了不可能的事...... 【参考方案1】:

您可以使用 svn authz 文件设置权限。首先,我们需要创建一个访问控制文件。

sudo nano /etc/apache2/svn_access_control

用户组

您可以创建用户组,然后将其用作规则。您可以在方括号中的特殊标题下执行此操作:

[groups]
mygroup = dave, mike

这将创建一个名为“mygroup”的组,“dave”和“mike”属于该组。

现在举一些例子。例子

[groups]
team = bob, bill devteam = bob, barry, brett
[/]
@team = r bob = rw
[/wowapp/trunk]
@team = r @devteam = rw brenda = rw

在这个例子中:

Created a group team which has two members; bob and bill.
Created another group, called devteam which has three members; bob, barry, brett.
In the root of the repository, I’ve given the group team read permissions.
Also, in the root, bob has read and write permissions.
In the trunk of wowapp, the group team has read permission.
Also, the devteam group has read and write permissions.
And another user, called brenda has read and write permissions.

你需要在apache svn配置文件中添加以下一行。

AuthzSVNAccessFile /etc/apache2/svn_access_control

使文件看起来像这样:

<Location /svn>
  DAV svn
  SVNPath /home/svn

  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd

  AuthzSVNAccessFile /etc/apache2/svn_access_control

  Require valid-user
</Location>

保存文件,然后重启Apache2:

sudo /etc/init.d/apache2 restart

您现在应该可以通过 Apache2 对 Subversion 进行访问控制。

【讨论】:

【参考方案2】:

对于每个目录的身份验证访问,请参见 redbean book 的 auth section。

如果您想要一些更简单的东西,您可以使用带有 GUI 的东西来设置访问权限,例如 uberSVN。

【讨论】:

以上是关于svnadmin 添加新用户并为其分配一个 repo的主要内容,如果未能解决你的问题,请参考以下文章

DB2: 为DB2数据库创建新用户帐户并为其分配特定特权

是否有一种编程方式可以在 Windows 中创建自定义网络配置文件并为其分配虚拟网络适配器?

sql 创建数据库并为其添加用户

在数据框中查找重叠范围并为其分配值

Numpy:如何在 numpy 中选择项目并为其赋值

Java/Groovy:ZIP 文件并为其分配权限