[转]Subversion权限配置

Subversion的权限设置功能为代码的安全访问提供了可靠的保障,通过设置不同的用户权限和组权限,各种角色分工明确,在共享代码的同时保证代码不受破坏。
在建立多个版本库时,每个版本库都有自己的配置文件,可以单独配置用户权限和组权限。为简单起见,将所有版本库都指向同一个配置文件,在这个配置文件中统一进行配置。
1.指定根目录
首先要指定一个根目录,假设为C:\VersionLib,所有的版本库都存在这个根目录之下。然后启动svnserve服务,具体步骤见我的上一篇文章《Subversion安装配置指南》,需要注意的是启动目录为C:\VersionLib,即指向根目录,不指向任何特定的版本库。
2.建立版本库
在C:\VersionLib中建立子目录,如prj1、prj2,子目录里还可以建立子目录,如在prj2中建立shanghai、xian,目录结构如下:
VersionLib
-prj1
-prj2
-shanghai
-xian
然后在prj1、shanghai、xian中分别建立三个版本库,并把passwd、authz文件复制一份到VersionLib目录中,以便统一配置
3.配置版本库
(1)修改3个版本库的svnserve.conf文件
把授权权限打开:
anon-access = none
auth-access = write
在prj1版本库中修改svnserve.conf:(指向根目录)
password-db = ..\..\passwd
authz-db = ..\..\authz

在其他两个版本库中修改svnserve.conf:(指向根目录)
password-db = ..\..\..\passwd
authz-db = ..\..\..\authz

(2)修改根目录中的passwd文件
在passwd文件中创建用户和密码:
[users]
qianxin = qx
yiyu = yy
gongyu = gy
zhaoming = zm
dai = dai
yinjun = yj
wangying = wy

一共创建了7个用户
(3)修改根目录中的authz文件
在authz中设置权限:
[groups] #分组
prj1_group = dai,gongyu,wangying
prj2_sh_group = zhaoming,yinjun
prj2_xa_group = qianxin,yiyu

[/] #根目录,即所有的版本库(包括prj1、prj2)
qianxin = rw #管理员

[prj1:/] #prj1项目
qianxin = rw #由于指定了"* = r",覆盖了父目录权限的继承,因此需要另外指定管理员对该版本库的访问权限
@prj1_group = rw #组权限,前面必须加@
* = r #除了prj1_group组以外所有人的权限

[prj2/shanghai:/] #prj2中的shanghai项目
qianxin = rw #同上
@prj2_sh_group = rw
* = #除了prj2_sh_group组以外所有人都无法访问该版本库

[prj2/xian:/] #prj2中的xian项目
prj2_xa_group = rw
注意点:
子目录继承父目录的访问权限,如果指定了管理员对根目录具有读写权限,则管理员对子目录也具有读写权限。
但是,如果在子目录中设置* = 来割断对父目录权限的继承,则子目录中必须设置管理员权限为rw,下面这种设置是有问题的:

[arm:/]
qianxin = rw

[arm:/diary/shanghai]
dai = rw
gongyu = rw
* =

由于管理员qianxin对/diary/shanghai没有任何权限,因此就无法进行导入(导入要求对所有目录都有写的权限)。正确的做法是在子目录的权限配置中也加上“qianxin = rw”。
4.访问版本库
通过以下URL访问各版本库(导入、导出):
svn://localhost/prj1
svn://localhost/prj2/shanghai
svn://localhost/prj2/xian

 

转自:http://www.cnblogs.com/bigshow/archive/2008/10/13/1310366.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值