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 = ../../conf/passwd
authz-db = ../../conf/authz
realm = test
上述配置文件设定非鉴权用户无权限访问该版本库;鉴权用户可对版本库进行读写;用户名口令文件为相对版本库conf目录的文件"../../conf/passwd";权限配置文件为相对版本库conf目录的文件"../../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无效。
分享到:
相关推荐
svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端...
- SVNServer通常使用`conf/svnserve.conf`文件进行配置,可以通过编辑该文件来实现更复杂的配置需求,如用户认证、访问控制等。 3. **日志记录**: - SVNServer支持日志记录功能,通过配置文件中的`log-file`参数...
【SVN服务端配置手册】 SVN(Subversion)是一种版本控制系统,用于管理代码和其他文件的变更历史。在本文中,我们将重点介绍如何配置SVN服务端,包括VisualSVN Server的安装、客户端TortoiseSVN的安装,以及权限...
svn服务端客户端安装包
SVN 服务端和客户端加客户端破解文件 win7和xp都可以使用。
在这个主题中,我们将详细讨论如何配置SVN服务端以及客户端,尤其针对新手进行逐步指导。 首先,让我们了解一下SVN服务端的配置。SVN服务端通常使用Apache的Subversion模块(mod_dav_svn)或VisualSVN Server。这里...
SVN服务端是整个版本控制系统的核心,它存储所有项目文件的版本历史。常见的 SVN 服务端软件有: 1. **VisualSVN Server**: 提供了一个易于安装和管理的 SVN 服务器解决方案,特别适合 Windows 环境。`VisualSVN-...
SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。它允许团队成员协同工作,记录每次更改,以便于回滚错误,查看历史版本,并管理多个开发分支。下面将详细介绍SVN服务端、客户端...
本指南将详细介绍如何安装和配置SVN服务端,以及如何利用其特性进行项目管理。 首先,让我们了解一下SVN的基本概念。Subversion的核心功能是跟踪文件和目录的变更历史,允许多个用户协同编辑同一份代码库,同时避免...
在本篇中,我们将详细讨论如何安装和配置SVN服务端。 1. **SVN服务端选择** SVN服务端有两种常见的实现:Apache HTTP Server(通常与mod_dav_svn模块一起使用)和VisualSVN Server。Apache适合大型项目,因为它...
### SVN服务端配置详解 Subversion (简称SVN) 是一款开源版本控制系统,广泛应用于软件开发项目中,用于代码管理、版本控制及协同工作。本文将深入解析SVN服务端的配置过程,涵盖安装、服务启动及关键的权限配置。 ...
svn服务端可视化管理工具-VisualSVN-Server-2.1,能够管理本地svn资源文件。图形化 版本管理工具
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同...
2. **配置文件**:在SVN服务端,主要的配置文件是`svnserve.conf`(对于svnserve守护进程)和`httpd.conf`(对于基于Apache的服务)。`svnserve.conf`包含了如仓库路径、匿名访问权限、用户认证方式等设置。`httpd....
SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。它允许团队协作,记录每一次修改,便于回滚到任何历史版本,并且提供了多种协作方式。本教程将详细讲解如何安装最新的SVN服务端,...
在本压缩包中,包含了SVN的服务端和客户端安装包,使得用户可以方便地搭建和使用SVN系统。 1. SVN服务端安装: SVN服务端是团队共享代码库的核心,通常使用Apache Subversion服务器(也称作`svnserve`)或基于...
5. **测试文件**:可能包括一些测试文件,用户可以使用它们来验证SVN服务端和客户端的正确安装和配置。例如,"2008"可能是一个测试目录或文件,用于模拟团队协作的情景,确保所有功能都能正常工作。 6. **安全性和...
svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 ...
SVN 服务端 32位 VisualSVN
svn服务端 svn服务端 svn服务端 svn服务端 svn服务端 svn服务端 svn服务端 VisualSVN-1.5.1.msi