http://blog.csdn.net/thinkerABC/archive/2007/10/18/1831025.aspx
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配置文件在此打包上传一下,做个记录.
如果用户不能远程修改自已的密码,非常的不方便也不符合安全性要求。该程序是为能远程修改基于svnserve配置的subversion服务器密码。里面含有详细的操作部署流程。
svnserve.conf
Windows下svnserve安装及配置,保证安装成功!
1.建立仓库 2.权限设置 3启动服务 4.创建项目目录 5.本地副本 6.增加文件
4.4.1 版本库配置文件布局 11 4.4.2 配置文件说明 12 4.4.3 修改配置文件 14 4.5 运行独立服务器 16 4.5.1 守护模式 16 4.5.2 将svnserve安装为系统服务 16 5 Apache服务器安装配置 17 5.1 安装文件下载 17 5.2 ...
编辑代码库基础配置文件(此文件一般不用修改) 编辑代码库 svn\conf\svnserve.conf 文件,如下: [general] password-db = passwd.conf anon-access = none auth-access = write authz-db = authz.conf 管理用户...
步骤1:下载svn 1.yum -y install subversion //通过yum的方式下载svn 步骤2:创建文件 1.mkdir /var/mysvn 2.svnadmin create /var/svn 3.ls /var/svn 显示: ...3.vim svnserve.conf //修改配置文件
tortoiseSVN权限文件的配置 SVNRepository文件夹下conf文件夹,会有三个文件:authz,passwd,svnserve.conf,关于这三项的配置在此。
在redhat上安装了svn服务器,特将所需要的资源上传,以后也用的上;
火龙果软件工程技术中心 我们首先要考虑的问题是一下的下载初步软件首先当然是下载必要的软件把,我下载的文件如图: 中,我用到的只有:svn-win32-1.4.3.zip(解压版的svn),TortoiseSVN-1.4.3.8645-win32-svn-...
本文件用于清理项目的.svn文件,很实用,对于大型项目使用svn进行开发有很大的裨益,希望这个文件对你有用。
这些参数的含义文件里都有详细说明,其中,anon-access和auth-access分别是对匿名用户以及认证用户的访问控制,password- db指明用户密码文件路径,authz-db指明权限配置文件路径。另外还有一个参数realm用于指明...
Svn的配置信息都在仓库目录的conf下的authz,passwd,svnserve.conf三个文件中,配置用户和权限都是通过修改passwd和authz,立刻就生效。Svn Admin的本质是对这3个文件进行管理,所有成员、权限的数据都保存在数据库中...
本文为大家分享了CentOS...4. 配置svn服务综合配置文件svnserve.conf 第四步: 启用svn,连接svn以及关闭svn 1. 启用svn svnserve -d -r /home/svn/project/ 2. 连接svn (1) 出现错误,认证失败 (2) 修改/root/.su
Svnserve单项目权限设置 1 目录 1 前言 1 一 项目结构 2 二 建立版本库 2 三 配置权限 3 四 导入项目版本库 5 五 启动svnserve 9 六 将svnserve设置为系统服务 9 1,安装svnservice 9 2,删除服务 9 3,配置服务是...
format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。 5. 配置版本库 打开/conf/ svnserve.conf # [general] # password-db = passwd //指定身份验证文件 # authz-db = authz //指定权限...
windows下配置svnserve,客户端可以通过至少两种方式访问版本库
Windows下Subversion配置管理员指南 以前的svnserve要想成为windows服务,必须依赖于svnservice或其他工具。从Subversion1.4开始,Subversion本身就集成Windows服务的工具。 1,安装svnservice 在Windows NT...
2、配置SVN服务同时支持Apache的http和svnserve独立服务器两种模式访问; 3、Apache的http和svnserve独立服务器两种模式使用相同的访问权限账号。 具体操作: 一、关闭SELINUX vi /etc/selinux/config #SELINUX=...