`
jaychang
  • 浏览: 738616 次
  • 性别: Icon_minigender_1
  • 来自: 嘉兴
社区版块
存档分类
最新评论

Subversion配置多个库

 
阅读更多

在阅读本文之前,请确定你已经知道了Subversion基本的服务器管理,知道了svnserve或Apache的配置,清楚如何设置用户和密码。关于svnservee的配置可以看我们的《Subversion快速入门教程》和《用Apache和Subversion搭建安全的版本控制环境》,对于一些细节情参考《使用Subversion进行版本控制》。
    作为一个配置管理员,需要管理用户的权限,本文主要介绍了使用Subversion的授权文件“authz-db”,同时为了叙述的清晰,我首先澄清一些概念。

    很多情况下,往往一个库是不够的,我们会按项目,或按前编程语言类别,亦或是分工来建立多个库,而我们又想使用同一套认证,授权方案。那么本文就是基于这样的情形做介绍。

1. 认证(Authentication)和授权(Authorization)
    这两个术语经常一起出现。其中认证的意思就是鉴别用户的身份,最常见的方式就是使用用户名和密码,授权就是判断用户是否具备某种操作的权限。在Subversion里提供了“authz-db”文件,实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限。在Subversion 1.3之后,svnserve和Apache一样都可以使用“authz-db”文件。

2. SVN Serve下的配置文件

    本文使用Subversion 1.7.9 http://sourceforge.net/projects/win32svn/files/1.7.9/apache22/
    因为本文是以svnserve为例的,所以先介绍一下多版本库目录的结构:

 

─Repo
 ├─JavaRepo
 │  ├─conf
 │  ├─db
 │  │  ├─revprops
 │  │  │  └─0
 │  │  ├─revs
 │  │  │  └─0
 │  │  ├─transactions
 │  │  └─txn-protorevs
 │  ├─hooks
 │  └─locks
 └─PHPRepo
     ├─conf
     ├─db
     │  ├─revprops
     │  │  └─0
     │  ├─revs
     │  │  └─0
     │  ├─transactions
     │  └─txn-protorevs
     ├─hooks
     └─locks

 

JavaRepo/conf下的authz与passwd与PHPRepo/conf下的authz与passwd 拷贝另一目录下的一套(authz,passwd)到Repo目录下,其余的删掉即可。

 

分别修改配置文件conf/svnserve.conf

### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
password-db = ../../passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.  Unless you specify a path
### starting with a /, the file's location is relative to the the
### directory containing this file.  If you don't specify an
### authz-db, no path-based access control is done.
### Uncomment the line below to use the default authorization file.
authz-db = ../../authz

 

将配置文件指向上上层目录

 

 

确保admin可以读写任何库;java开发人员只能读写JavaRepo;php开发人员只能读写PHPRepo,测试人员两个库都仅有可读权限;匿名用户不可访问任何库

 

修改passwd

[users]
#php开发
ch = ch0126
qh = qh0126
#java开发
hb = hb0126
qs = qs0126
#测试
ry = ry0126

 

  修改authz

[groups]
admin_group = chaohai
java_group = haibao,qiushui
php_group = qinghai
test_group = ruoye

# 指定所有的版本库默认只读,admin_group组可读写
[/]
* = none
@admin_group = rw


# 指定对版本库JavaRepo根目录的权限
[JavaRepo:/]
# 未授权用户没有任何权限
* = none
@admin_group = rw
@java_group = rw
@test_group = r


# 指定对版本库PHPRepo根目录的权限
[PHPRepo:/]
# 未授权用户没有任何权限
* = none
@admin_group = rw
@php_group = rw
@test_group = r

 

 创建windows服务

sc create SVNService binpath= "D:\SoftwareDevelopment\Subversion\svn-win32-1.7.9\bin\svnserve.exe --service -r D:\Repositories\SVN\Repo" displayname= "SVNService" depend= Tcpip start= auto

 

SC SVNService start

 

分享到:
评论

相关推荐

    subversion配置手册

    根据提供的文档内容,本文将详细解析Subversion在Windows环境下的配置流程及关键步骤,包括安装、设置、用户管理以及客户端的使用等。 ### 一、Subversion简介 Subversion(简称SVN)是一种集中式的版本控制系统,...

    Centos下Subversion 服务器安装配置

    这个配置只是一个基础设置,实际生产环境中可能需要更复杂的权限控制、SSL加密等高级配置。Subversion提供了丰富的选项来满足各种需求,例如,可以使用`svnserve`作为独立的服务器进程,或者通过防火墙规则限制访问...

    subversion edge 安装配置使用手册

    用于管理和配置Subversion版本控制系统,集成了CollabNet Subversion和Apache HTTP Server,提供了一个用户友好的Web界面,使得在Windows和Linux(CentOS)平台上安装、配置和管理Subversion仓库变得更为简便。...

    subversion

    10. 文件锁定:Subversion支持文件锁定机制,防止多个用户同时编辑同一文件,以避免数据冲突。 11. 服务器配置:Subversion服务器可以通过Apache HTTP Server或Subversion自带的svnserve服务运行。配置包括设置访问...

    SubVersion版本控制服务器端的目录级或库级别的访问权限配置

    本篇文章将深入探讨如何在服务器端配置SubVersion,特别是目录级或库级别的访问权限。 首先,我们需要进行的是服务器端的安装。这通常涉及下载并安装Subversion服务器软件,如Apache HTTP Server与mod_dav_svn模块...

    Subversion

    Subversion的核心概念之一是“档案库”(Repository),它是一个中心化的存储库,用于存放所有文件的版本历史。每个档案库都有唯一的URL,用户通过这个URL与档案库进行交互。 ##### 2.2 版本控制模型 - **锁定-...

    SubVersion的应用详解

    SubVersion(简称SVN)是一种广泛使用的版本控制系统,它能够跟踪文件和目录的变更,使多个用户协同工作在同一个项目上成为可能。本讲解将深入探讨SubVersion的基础概念、安装配置、基本操作以及在实际项目中的应用...

    subversion-1.8.17.tar.gz

    4. 文件锁定:防止多个用户同时编辑同一文件,确保数据一致性。 5. 完善的权限控制:通过Apache HTTP Server或其他Web服务器进行细粒度的访问控制。 6. 版本化的属性:除了文件内容,Subversion还可以跟踪文件和目录...

    使用Subversion进行版本控制(针对 Subversion 1.4)

    Subversion版本库URL 工作拷贝 修订版本 工作拷贝怎样跟踪版本库 混合修订版本的工作拷贝 更新和提交是分开的 混合修订版本很常见 混合版本很有用 混合版本有限制 总结 2. 基本使用 求助! 导入数据到你的版本库 svn...

    Subversion和TortoiseSVN的安装与配置

    TortoiseSVN则是Subversion的一个图形化客户端,它为Windows用户提供了友好的界面,使得版本控制操作更加直观易用。下面我们将详细介绍Subversion和TortoiseSVN的安装与配置过程。 一、Subversion的安装 1. 获取...

    subversion-1.7.9.zip

    - **配置服务器**:设置版本库的位置,配置访问控制和权限。 - **客户端操作**:使用`svn co`检出工作副本,`svn ci`提交更改,`svn merge`进行合并,`svn switch`切换分支,`svn log`查看日志等命令。 - **Web...

    subversion服务器-1.8.10

    4. 更好的锁机制:增强了文件锁定功能,防止多个用户同时编辑同一文件。 5. 客户端-服务器协议升级:1.8.x引入了新的协议版本,提高了数据传输效率。 三、Subversion服务器配置 1. 安装:下载并安装Subversion...

    采用Subversion 进行版本控制

    - **版本管理**:Subversion提供了一种有效的方式来管理多个版本的文件。用户可以轻松地恢复到任何特定的时间点的版本,这对于修复错误或者探索早期设计决策非常有用。 - **协作开发**:通过Subversion,多个开发者...

    subversion 安装包与安装手册

    Subversion 是一个开源的版本控制系统,它用于管理文件和目录的变更历史,使得多人协作开发成为可能。在本文中,我们将深入探讨Subversion的安装过程,特别是在RHEL 6x和7x系统上的操作。 首先,理解Subversion的...

    svn subversion-1.7.2

    - 版本控制系统:记录文件和目录随时间变化的系统,允许用户回滚到以前的版本,查看历史更改,并管理多个开发者之间的协同工作。 - 工作副本:从版本库中检出的本地副本,用户在此进行日常编辑和提交操作。 - ...

    Linux 上安装 Subversion

    以上操作基于多个在线资源,包括技术论坛的文章和技术文档,如中国Unix网的教程、SunFreeware网站的Subversion页面等,这些资源提供了详细的安装指南和实践技巧。 通过以上步骤,你可以在Linux环境下成功安装并配置...

    subversion培训资料

    Subversion(简称SVN)是一种广泛使用的开源版本控制系统,它允许开发者管理代码库,跟踪文件和目录的变化,并协同多人在同一个项目上工作。Subversion在IT行业中被许多企业和开源项目视为首选的版本控制工具,其...

Global site tag (gtag.js) - Google Analytics