标题:
SVN权限配置
[打印本页]
作者:
look_w
时间:
2017-11-18 14:11
标题:
SVN权限配置
作为一个配置管理员,需要管理用户的权限,本文主要介绍了使用
Subversion
的授权文件
“authz-db”
,同时为了叙述的清晰,我首先澄清一些概念。
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
上面的配置说明使用
“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.
测试用户和组说明
版本库禁止任何匿名用户的访问,只对认证用户有效。
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
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0