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无效。
另注authz配置详解:
1,配置authz时,没有注意svnserve启动参数-r所指定的目录。
这里有两种情况:
A:-r直接指定到版本库(称之为单库svnserve方式)
比如,有一个库project1,位于D:\svn\project1
使用以下命令启动svnserve
svnserve -d -r D:\svn\project1
在这种情况下,一个svnserve只能为一个版本库工作
authz文件如果配置成下面这样就是错的,
[Copy to clipboard] [ - ]
CODE:
[groups]
admin=user1
dev=user2
[project1:/]
@admin=rw
@doc=r
应该配置成
[Copy to clipboard] [ - ]
CODE:
[groups]
admin=user1
dev=user2
[/]
@admin=rw
@doc=r
因为[project1:/]表示库project1的根目录,而按上面的启动参数,是没有库的概念的。
使用类似这样的URL:svn://192.168.0.1/ 即可访问project1
B:-r指定到版本库的上级目录(称之为多库svnserve方式)
同样,有一个库project1,位于D:\svn\project1
如果使用以下命令启动svnserve
[Copy to clipboard] [ - ]
CODE:
svnserve -d -r D:\svn
这种情况,一个svnserve可以为多个版本库工作,
这时如果想限制指定库的指定目录,就应该指定具体的库,像这样
[Copy to clipboard] [ - ]
CODE:
[groups]
admin=user1
dev=user2
[project1:/]
@admin=rw
@doc=r
如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录
使用类似这样的URL:svn://192.168.0.1/project1 即可访问project1
这样的URL:svn://192.168.0.1/project2 即可访问project2
2,对中文目录进行权限控制时,没有将权限文件authz改为utf-8格式。
svn对于非英文文件名和目录名使用utf-8格式编码处理,要对中文目录进行正确控制,
应该使用无BOM的utf-8格式,如何将默认的文件转为utf-8,
我使用的是UltraEdit的菜单"ASCII to UTF-8 (Unicode Editing)"。在UltraEdit的配置中,可以设置有无BOM
4.运行SVN服务器
运行SVN服务
在命令行执行
svnserve --daemon --root F:\lava\svn
服务启动,--daemon可简写为-d,--root可简写为-r,可以建立一个批处理文件并放在windows启动组中便于开机就运行SVN服务,或者在这个地址http://clanlib.org/~mbn/svnservice/下载那个svnservice.exe文件,拷贝到E:\svn\bin目录下,再从命令行下执行:
svnservice -install --daemon --root "E:\svn\Repository"
sc config svnservice start= auto
net start svnservice
SVNService -install <svnserve parameters> to install the service
SVNService -setup <svnserve parameters>to change command line parameters or svnserve
SVNService -remove to remove the service
SVNService -debug to run as a console app for debugging
分享到:
相关推荐
在Linux系统中架设Apache SVN服务器是一个涉及到多个步骤的过程,主要涵盖了Apache HTTP Server与Subversion(SVN)的安装和配置。以下是对整个过程的详细解释: 1. 首先,我们需要安装基础的依赖库,包括APR...
在Linux系统中架设配置SVN(Subversion)服务器,主要涉及到Apache服务器和Subversion的集成。Apache HTTP Server是常用的Web服务器,而Subversion则是一个版本控制系统,常用于协同开发和代码管理。以下是一个详细...
2. **CollabNet Subversion Server-1.6.6-4.win32**:这是SVN服务器的核心组件,版本号为1.6.6,提供了完整的版本控制服务。 3. **TortoiseSVN-1.6.6.17493-win32-svn-1.6.6**:这是一个非常流行的Windows平台下的...
### Windows环境下搭建SVN服务器详解 #### 一、概述 版本控制系统在软件开发过程中扮演着极其重要的角色。Subversion(SVN)作为一款开源的版本控制系统,在团队协作中被广泛采用。本文档将详细介绍如何在Windows...
在这样的设备上架设SVN服务器,可以帮助远程或本地的开发者同步代码、管理项目版本。 Subversion的主要功能包括: 1. 版本追踪:每次修改都会被记录下来,可以随时回滚到任意历史版本。 2. 并行开发:多人协作时,...
### Windows环境下搭建SVN服务器详解 #### 一、概述 本文档主要介绍如何在Windows环境中部署SVN(Subversion)版本控制系统服务器。SVN是一种广泛使用的集中式版本控制系统,适用于团队开发项目,能够帮助团队成员...
1. **SVN服务器软件**:`Setup-Subversion-1.6.13.msi`,版本1.6.13; 2. **SVN客户端软件**:`TortoiseSVN-1.6.12.20536-win32-svn-1.6.15.msi`,版本1.6.12; 3. **操作系统**:Microsoft Windows XP Professional...
傻瓜式的SVN服务器配置说明,图文并茂,有助于初学者学会SVN的服务器架设,每个步骤都有截图说明。。。。
一组文件存放在中心版本库,这个版本库很像一个普通的文件服务器,只是它可以记录每一次文件和目录的修改,这便使你可以取得数据以前的版本,从而可以检查所作的更改。从这个方面看,许多人把版本控制系统当作一种...
"SVN架设 提交版本的同时更新网站的方法"这个主题聚焦于如何配置SVN服务器,使得每次提交代码到仓库时,能够自动将更新同步到Web服务器的发布目录。这一功能对于实时部署和持续集成流程至关重要,尤其是对于那些需要...
通常,SVN服务器的安装涉及下载安装包、配置仓库、设置用户和权限等步骤,而客户端则一般只需安装后通过向导连接到服务器即可开始使用。 总的来说,SVN是软件开发团队进行高效协作的得力助手。无论是小型项目还是...
- `VisualSVN-Server-2.1.9.msi` 是 VisualSVN Server 的安装包,它集成了 Apache 服务器,方便搭建 SVN 服务器。 - `TortoiseSVN-1.6.16.21511-win32-svn-1.6.17.msi` 是 TortoiseSVN 的安装程序,它是 Windows ...
### Windows环境下搭建SVN服务器及使用AnkhSVN插件进行代码管理 #### Subversion (SVN) 简介 Subversion(简称SVN)是一个开源版本控制系统,用于跟踪和管理文件及其历史版本。SVN的核心优势在于能够提供一个集中式...
1. 服务器端:通常使用CollabNet的SVN服务器端安装包,内含Apache2.2,用于托管版本库。 2. 客户端:推荐使用TortoiseSVN进行日常操作,它支持读写操作,并且可以通过IE浏览器进行只读访问。 3. 集成:TSVN可以与...
本文将详细介绍如何在 Windows 系统下搭建 SVN 服务器,并进行基本的操作。 #### 二、安装与配置 SVN 服务端 1. **下载 Subversion:** - 访问 Subversion 的官方网站 [http://subversion.tigris.org/]...
- **服务器端配置**:`SVN-WINDOWS服务器架设和管理 - OpenStudio Weblog - BlogJava.mht` 这个文件可能是一个关于如何在Windows上设置SVN服务器的教程。通常,Windows环境下可以使用VisualSVN Server或其他开源的...
4. **架设SVN服务器**:这部分内容可能涵盖了如何在服务器端安装和配置svn,包括创建svn仓库、设置权限和用户管理等。 5. **服务器端建立用户,组,资源**:在多用户环境中,需要为每个开发者分配相应的权限。笔记...