创建版本库后,在svn版本库目录下的conf文件夹会生成3个配置文件:
svnserve.conf: svn服务配置文件下。
passwd: 用户名口令文件。
authz: 权限配置文件。
svnserve.conf 该文件配置项分为以下5项:
anon-access: 控制非鉴权用户访问版本库的权限。
auth-access: 控制鉴权用户访问版本库的权限。
password-db: 指定用户名口令文件名。
authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件。
Passwd 文件
我们在svnserve.conf文件里启用这个文件。然后配置如下:
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
dave = davepwd
tianlesoftware = tianlesoftwarepwd
authz 文件
[groups]
admin = john, kate
devteam1 = john, rachel, sally
devteam2 = kate, peter, mark
docs = bob, jane, mike
training = zak
# 为所有库指定默认访问规则
# 所有人可以读,管理员可以写,危险分子没有任何权限
[/]
* = r
@admin = rw
dangerman = rw
# 允许开发人员可以完全访问他们的项目版本库
[proj1:/]
@devteam1 = rw
[proj2:/]
@devteam2 = rw
[bigproj:/]
@devteam1 = rw
@devteam2 = rw
trevor = rw
下面我们来配置我们的authz文件:
# vi authz
[groups]
admin = dave
dev=tianlesoftware
[davesvn:/]
@admin = rw
@dev = rw
[/]
* = r
[page:/]
* = r
zhengbin = rw
#创建svn仓库
mkdir /svn
svnadmin create /svn/test
htpasswd -c /svn/test/conf/passwd user1
检测到循环重定向问题:/etc/httpd/conf/httpd.conf 文件的 <Directory "/svndata"> 和 Alias /svndata /svndata 不能与 /etc/httpd/conf.d/subversion.conf 文件的 <Location /svndata> 权限设置相同。