svnserve是SVN自带的一个轻型服务器,客户端通过使用以svn://或svn+ssh://为前缀的URL来访问svnserve服务器,实现远程访问SVN版本库。
svnserve可以通过配置文件来设置用户和口令,以及按路径控制版本库访问权限。本文详细分析了svnserve配置文件格式,并说明如何使用配置文件控制版本库访问权限。
本文介绍SVN的版本为1.4.4。
1) svnserve配置文件概述
svnserve配置文件通常由以下3个文本文件组成:
svn服务配置文件,该文件版本库目录的conf目录下,文件名为svnserve.conf。
用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的passwd。
权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的authz。
2) svn服务配置文件
svn服务配置文件为版本库目录中的文件conf/svnserve.conf。该文件仅由一个[general]配置段组成。
[general]配置段中配置行格式如下:
<配置项> = <值>
配置项分为以下5项:
anon-access 控制非鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。
即"write"为可读可写,"read"为只读,"none"表示无访问权限。
缺省值:read
auth-access 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。
即"write"为可读可写,"read"为只读,"none"表示无访问权限。
缺省值:write
password-db 指定用户名口令文件名。除非指定绝对路径,否则文件位置为相对conf
目录的相对路径。
缺省值:passwd
authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
除非指定绝对路径,否则文件位置为相对conf目录的相对路径。
缺省值:authz
realm 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的
认证域相同,建议使用相同的用户名口令数据文件。
缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。
【说明】版本库认证域
在使用svn客户端访问svnserve服务器时,若需要用户登录,则提示信息如下:
[root@test root]# svn list svn://192.168.3.45/test
Authentication realm: <svn://192.168.3.45:3690> 0d545a49-4038-0410-99b4-c66dc73f754e
Password for 'root':
在上述第2行"Authentication realm: <svn://192.168.3.45:3690>"之后显示的字符串为认证域名称。如果在配置文件中为设定认证域,就会提示一个UUID,如上述所示。
如果在配置文件中指定了如下配置项:
realm = test
将在svn客户端提示如下:
[root@test root]# svn list svn://192.168.3.45/test
Authentication realm: <svn://192.168.3.45:3690> test
Password for 'root':
例1:svn服务配置文件conf/svnserve.conf的内容如下:
[general]
anon-access = none
auth-access = write
password-db = http://www.cnblogs.com/conf/passwd
authz-db = http://www.cnblogs.com/conf/authz
realm = test
上述配置文件设定非鉴权用户无权限访问该版本库;鉴权用户可对版本库进行读写;用户名口令文件为相对版本库conf目录的文件"http://www.cnblogs.com/conf/passwd";权限配置文件为相对版本库conf目录的文件"http://www.cnblogs.com/conf/authz";版本库的认证域为"test"。
3) 用户名口令文件
用户名口令文件由svnserve.conf的配置项password-db指定,缺省为conf目录中的passwd。该文件仅由一个[users]配置段组成。
[users]配置段的配置行格式如下:
<用户名> = <口令>
注意:配置行中的口令为未经过任何处理的明文。
例2:用户名口令文件conf/passwd的内容如下:
[users]
admin = admin
thinker = 123456
该文件中配置了两个用户,用户名分别为"admin"和"thinker"。其中"admin"用户的口令为"admin";"thinker"用户的口令为"123456"。
4) 权限配置文件
权限配置文件由svnserve.conf的配置项authz-db指定,缺省为conf目录中的authz。该配置文件由一个[groups]配置段和若干个版本库路径权限段组成。
[groups]配置段中配置行格式如下:
<用户组> = <用户列表>
用户列表由若干个用户组或用户名构成,用户组或用户名之间用逗号","分隔,引用用户组时要使用前缀"@"(如:引用用户组"all"要使用字符串"@all")。
版本库路径权限段的段名格式如下:
[<版本库名>:<路径>]
如版本库abc路径/tmp的版本库路径权限段的段名为"[abc:/tmp]"。
可省略段名中的版本库名。若省略版本库名,则该版本库路径权限段对所有版本库中相同路径的访问控制都有效。如:段名为"[/tmp]"的版本库路径权限段设置了所有引用该权限配置文件的版本库中目录"/tmp"的访问权限。
版本库路径权限段中配置行格式有如下三种:
<用户名> = <权限>
<用户组> = <权限>
* = <权限>
其中,"*"表示任何用户;权限的取值范围为''、'r'和'rw',''表示对该版本库路径无任何权限,'r'表示具有只读权限,'rw'表示有读写权限。
注意:每行配置只能配置单个用户或用户组。
例3:权限配置文件conf/authz的内容如下:
[groups]
g_admin = admin,thinker
[admintools:/]
@g_admin = rw
* =
[test:/home/thinker]
thinker = rw
* = r
在上述配置文件中,定义了一个用户组"g_admin",该用户组包含用户"admin"和"thinker"。然后定义了2个版本库路径权限段。其中,版本库"admintools"只有用户组"g_admin"可读写,其他用户无任何权限;版本库"test"中路径"/home/thinker"只有用户"thinker"有读写权限,其他用户只有可读权限。
5) 总结
在本文中,详细介绍了svnserve程序的3个配置文件。SVN管理员可以通过这3个配置文件设置svnserve服务的用户名口令,以及对版本库路径的访问权限。这些配置文件保存后就立即生效,不需要重启svnserve服务。
需要强调的是本文介绍的配置文件只对svnserve服务有效,即客户端通过前缀为svn://或svn+ssh://的URL访问版本库有效,而对通过前缀http://、https://或file:///的URL无效。
- 浏览: 341495 次
- 性别:
- 来自: 北京
最新评论
-
zqb666kkk:
有示例代码吗
WebService CXF学习(高级篇3):WS-Security -
zhujiangtaobl0505:
楼主有源码没?发下,我邮箱465971531@qq.com,我 ...
WebService CXF学习(高级篇2):CXF+Spring+Hibernate -
ssy341:
http://localhost:8080/jforum/in ...
JForum安装详解 -
songzht:
看了上面的代码,这两个类型是怎么定义的?private Bas ...
JfreeChar结合struts2展示柱状图和饼状图(已解决乱码问题) -
Getwaysun:
持久化类中使用boolean定义某个字段后,报Null val ...
null不能赋值给int类型,Integer可以。
相关推荐
### Apache + SVNServer 配置详解 #### 一、配置前准备 在开始Apache与Subversion(SVN)服务器的配置之前,确保已正确安装Apache Web服务器和Subversion。本指南将详细介绍如何在Windows环境下配置Apache与...
安装 VisualSVN-Server-3.6.0-x64.msi 文件将提供一个易于使用的界面来配置和管理 SVN 服务器。通过这个版本,管理员可以方便地创建、删除和管理多个代码仓库,设置用户权限,以及进行备份和恢复操作。确保及时更新 ...
《VisualSVN Server 4.2.2在Windows 64位系统上的安装与使用详解》 VisualSVN Server是一款高效、易用的Subversion(SVN)服务器管理软件,专为Windows平台设计。该软件的最新版本为4.2.2,提供了64位版本以充分...
【Windows下SVN服务器配置详解】 Subversion (简称SVN) 是一款强大的版本控制系统,它在Windows环境下同样可以被高效地配置和使用。本指南将详细介绍如何在Windows上搭建SVN服务器,包括Apache HTTP Server的安装、...
- 编辑Apache的配置文件(如httpd.conf),设置SVN仓库的路径、访问控制和认证方式。你可以使用基本认证或更安全的SSL/TLS认证。 4. **启动Apache服务**: - 重启Apache服务器,使配置生效。 在客户端配置方面,...
### Windows 下 SVNServer 安装与配置详解 #### 一、引言 随着软件项目的规模不断扩大,版本控制成为团队协作开发中不可或缺的一部分。Subversion(简称 SVN)作为一款广泛应用的集中式版本控制系统,在项目管理和...
SVNManager 配置详细说明文档 SVNManager 是一个基于 Web 的 SVN 管理软件,旨在提供一个统一的平台 для管理 SVN 仓库和控制访问权限。该软件基于 SVN 核心,结合 Apache 和 PHP,提供了一个完整的 SVN 管理解决...
《Visual SVN Server详解及其在开发工具中的应用》 Visual SVN Server是一款专为Windows平台设计的Subversion(SVN)服务器管理工具,它提供了一种直观、易用的界面,使得团队能够高效地管理和协作代码库。...
《Windows系统下SVNServer服务端和客户端安装配置详解》 在Windows环境下,配置SVNServer服务端和客户端是开发团队协同工作的基础步骤。Subversion(简称SVN)是一款广泛使用的版本控制系统,它能帮助用户管理和...
使用Windows的sc create命令可以创建一个Windows服务,例如sc create SVNServer binPath= "C:\Program Files (x86)\Subversion\bin\svnserve --service -r e:/svndata"。 5. 创建工厂(Repository):使用svnadmin ...
编辑SVN服务的配置文件`/home/svnrepo/conf/svnserve.conf`,确保以下设置正确无误: - 将`[general]`部分前的注释去掉。 - 设置匿名访问权限为`none`:`anon-access = none` - 设置认证用户访问权限为`write`:`...
svn目录权限设置详解 随着软件开发的日益复杂,版本控制系统的重要性变得更加明显。Subversion(SVN)是一种流行的版本控制系统,能够帮助开发者 efektively 管理项目的版本变更。但是,SVN的权限设置一直是开发者...
《Windows系统下SVNServer服务端和客户端安装配置详解》 在软件开发中,版本控制系统是必不可少的工具,其中Subversion(简称SVN)是一种广泛使用的集中式版本控制系统。本篇将详细介绍如何在Windows系统下安装配置...
### SVN在Windows系统下的配置详解 #### 软件简介 - **VisualSVN Server**:一款用于搭建Subversion(SVN)服务器的工具,它提供了简单易用的图形化界面来帮助用户快速配置SVN服务器环境。VisualSVN Server分为...
2. **Apache配置修改**:在Apache的配置文件`httpd.conf`中,取消对`mod_dav_fs_module`和`mod_dav_module`的注释,并添加`mod_dav_svn_module`的加载指令。 以上步骤涵盖了从环境准备到SSL加密配置,再到SVN服务器...
【VisualSVN Server详解】 VisualSVN Server是一款高效、易用且免费的Subversion(简称SVN)服务器软件,专为Windows操作系统设计。它提供了一种简单的方式来在本地或网络环境中部署和管理SVN版本控制系统。这个...
"SVN-Server-4.1.3-x64.rar" 是一个针对64位操作系统的SVN服务端程序的压缩包,包含版本号4.1.3的服务器安装文件。 **SVN服务端详解:** SVN服务端是SVN系统的核心部分,它负责存储和管理所有版本化的项目文件。这...