SVN权限配置专家详解

开发 项目管理
学习SVN的过程中,你可能会遇到SVN权限配置问题,在这里和大家简单分享一下,希望通过本文的学习大家对SVN权限配置有一定的认识。

本节向大家描述一下SVN权限配置问题,在学习版本控制工具SVN时,了解了SVN权限配置才能更好的对SVN进行操作,欢迎大家一起来学习SVN权限配置方法。
作为一个配置管理员,需要管理用户的权限,本文主要介绍了使用Subversion的授权文件“authz-db”,同时为了叙述的清晰,我首先澄清SVN权限配置的一些概念。
1.认证(Authentication)和授权(Authorization)
这两个术语经常一起出现。其中认证的意思就是鉴别用户的身份,最常见的方式就是使用用户名和密码,授权就是判断用户是否具备某种操作的权限,在Subversion里提供了“authz-db”文件,实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限。

2.svnserve下的配置文件
因为本文是以svnserve为例的,所以先介绍一下版本库目录的结构:
D:\SVNROOT\PROJECT1
├─conf
├─dav
├─db
│├─revprops
│├─revs
│└─transactions
├─hooks
└─locks
其中conf下面有三个文件:
authz
passwd
svnserve.conf
其中的“svnserve.conf”是这个版本库的配置文件,当使用svnserve时,这个配置文件决定了使用什么认证和授权文件:
password-db=passwd
authz-db=authz
上面的SVN权限配置说明使用“svnserve.conf”同目录的passwd和authz,其中的password-db指定了用户密码文件,authz-db是我们的授权文件,也就是我们本文主要介绍的文件。

3.基于svnserve的版本库文件布局
使用svnserve时,为了管理的方便,应该使用相同的认证和授权文件,所以应该让所有版本库的配置文件svnserve.conf指向同一个password-db和authz-db文件。下面是一个多版本库的目录:
D:\SVNROOT
├─project1
│├─conf
│├─dav
│├─db
││├─revprops
││├─revs
││└─transactions
│├─hooks
│└─locks
└─project2
├─conf
├─dav
├─db
│├─revprops
│├─revs
│└─transactions
├─hooks
└─locks
D:\SVNROOT下有两个目录project1和project2,都已经创建了版本库,所以我们修改每个conf目录下的svnserve.conf,使之指向同一个password-db和authz-db文件。
password-db=..\..\passwd
authz-db=..\..\authz
这样,D:\SVNROOT\passwd和D:\SVNROOT\authz就控制了所有版本库的svnserve访问。另外在后面的操作中要关闭匿名访问,应该去掉“anon-access=none”前的“#”号,保证只有认证用户可以访问。
注意:还有一点需要注意,那就是svnserve的“realm”的值,在上面的设置下,应该保证所有的版本库使用相同的realm值,这样,对版本库的密码缓存可以在多个版本库之间共享,更多细节见客户端凭证缓存。

4.测试用户和组说明
再来看一下SVN权限配置中测试用户和组说明问题。版本库禁止任何匿名用户的访问,只对认证用户有效。
root:配置管理管理员,对版本库有完全的管理权限。
p1_a1:project1的管理员,对project1有完全权限。
p1_d1:project1的开发者,对project1的trunk有完全的权限,但是对其中的/trunk/admin目录没有任何权限。
p1_t1:project1的测试者,对project1的trunk有完全的读权限,但是对其中的/trunk/admin目录没有任何权限。

p2_a1:project2的管理员,对project2有完全权限。
p2_d1:project2的开发者,对project2的trunk有完全的权限,但是对其中的/trunk/admin目录没有任何权限。
p2_t1:project2的测试者,对project2的trunk有完全的读权限,但是对其中的/trunk/admin目录没有任何权限。

对应的组及组的用户:
p1_group_a:p1_a1
p1_group_d:p1_d1
p1_group_t:p1_t1
p2_group_a:p2_a1
p2_group_d:p2_d1
p2_group_t:p2_t1。请期待下节SVN权限配置方法介绍。

【编辑推荐】

  1. Apache+SVN权限管理实例剖析
  2. 多项目中SVN权限管理精辟解析
  3. 学习笔记 Windows下客户端如何修改SVN密码
  4. 深入剖析 如何远程修改SVN密码
  5. 术语汇编 SVN代码库简介
责任编辑:佚名 来源: http://blog.csdn.net/Augusdi/archive/2010/03/21/5.
相关推荐

2010-05-31 16:42:42

SVN权限配置

2010-05-28 19:35:33

Myeclipse下S

2010-05-24 19:42:54

SVN权限配置

2010-05-25 19:57:32

2010-05-27 09:41:05

SVN冲突

2010-05-27 18:09:08

Apache SVN配

2010-05-31 13:00:49

MyEclipse配置

2010-06-01 12:49:04

SVN分支模式

2010-05-27 14:18:00

SVN使用说明

2010-05-27 10:32:19

SVN配置文档

2010-05-19 15:45:23

Apache+SVN权

2010-05-20 09:41:07

MyEclipse下配

2010-05-19 18:46:59

SVN服务器配置

2010-05-19 14:37:00

Subversion用

2010-06-01 12:36:04

SVN分支与合并

2010-05-31 17:07:25

SVN权限配置手册

2010-05-28 11:33:44

SVN代码库

2010-05-31 16:54:29

SVN权限配置文件

2010-05-19 14:28:18

Subversion权

2010-05-28 09:15:47

SVN项目
点赞
收藏

51CTO技术栈公众号