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

时间:2012-05-18 20:32:37

标签: svn debian svnadmin

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

我的服务器运行debian squeeze。

2 个答案:

答案 0 :(得分:3)

您可以使用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提供访问控制。

答案 1 :(得分:-1)

对于每个目录的身份验证访问,请参阅redbean一书的auth section

如果您想要更轻松的事情,可以使用带GUI的内容来设置访问权限,例如uberSVN