一个分享个人学习、开发经验的Blog,http://www.joyphper.net

SVN用户组与用户权限控制

posted @ 2012-04-09 21:39 | 阅读:9350 | 评论:1 | 分类: PHP

svn作为版本控制现在已经广泛的被应用,但是当你自己去配置一个svn的时候如果去控制每一个用户的访问权限呢?今天没事拿公司的开发服务器做了一个测试步,骤如下:

1、创建一个项目:
svnadmin create /opt/svn/data
并假设项目中有两个项目project_a/project_b,分别位于svn的/project_a目录和project_b目录下

2、修改svnconf配置
cd /opt/svn/data/conf
vi svnserve.conf
找到:# anon-access = read
将前面的注释去掉,并将read 改为:none
即使:anon-access=none 表示匿名登陆下的用户权限为空。即:系统不支持匿名登陆
说明:
auth-access = write #通过验证的用户可以读和写(前面的#号去掉)
auno-access = read #匿名登陆下可以只读文件,即:文件修改后无法提交到服务器(前台的#号去掉并改成anon-access=none )
password-db =password #用户保存文件的名称(前面的#号去掉)
authz-db =authz #权限管理文件 这个是非常重要的,如果我们要对整个工程的文件进行权限分配的时候,就必须将这个行文件前面注释掉,否咋即使我们在权限配置文件里面进行再多的配置都是无效的。(前面的#号去掉)

3、建立登录用户名和密码
vi svnserve.conf
在[users]下加入user_auser_buser_cuser_d三个用户,密码都是123456
user_a = 123456
user_b = 123456
user_c = 123456
user_d = 123456

4、关键的一步来了,在authz 文件下面进行权限的分配
a>在[groups]添加用户组并指定用户,例如添加两个用户组group_a/group_b,group_a用户组中只有user_a用户,group_b用户组中有user_b/user_c用户,group_c中有user_d用户。
[groups]
group_a = user_a
group_b= user_b,user_c
group_c= user_d
b>设置各用户组的目录访问权限(具体的权限说明:group_a中的用户可以对project_a读写,group_b中的用户可以对project_b,group_c中的用户对所有项目都有读写权限)
[/project_a]
@group_a = rw  #表示group_a用户组中的用户有读和写的权限
* = r  #表示其他用户只有读的权限,如果想让代码不让其他用户下载此项可以去掉
[/project_b]
@group_b = rw
* = r
[/]
@group_c = rw

TAG: SVN , svn用户组 , svn权限配置

共有1条评论 发表评论>>

PHP小菜鸟 发表于:2012-04-14 10:38
不错的东西   博主能换个友链不
点击换一张验证码