如要转载,请注明出处!

两个问题:

  • 如何维护多个目录或者仓库
  • 目录权限如何设置

=====================================================================

1、维护多个目录或仓库

  • 方案一:分别创建两个仓库,配置两套设置
  • 方案二:在同个目录下创建两个仓库,将passwd、authz提到根目录下,两个仓库的全局配置公用一套配置
  • 方案三:只要一个仓库,但是在仓库下设置多个子目录

方案一不合适、方案二可取、方案三可取。

但是当多个项目都比较大时推荐方案二,因为方案三所有项目都在一个仓库,如果需要仓库迁移,将比较麻烦。

2、创建多个仓库的权限配置

[project1:/]
zhangsan = rw
lisi = r
* = [project1:/tag]
wangwu = r [project2:/]
lisi = rw
zhangsan = r
* =

3、创建一个仓库的权限配置

[/project1]
zhangsan = rw
lisi = r
* =
[/project1/tag]
wangwu = r
[/project2]
lisi = rw
zhangsan = r
* =

4、权限详解:继承和覆盖

权限的设置方式:

  • 精准设置    指明A在目录B有什么权限(rw)
  • 继承           如果目录没有设置权限,则继承最近的父目录的权限
  • 覆盖           当前目录优先选择本目录设置的用户的权限,然后才考虑继承的权限
  • 其他           * 表示除了指明的用户之外的所有人,无视父目录权限

案例:

目录结构:

|

|----doc

|

|-----pic

|-----bill

|----tag

|----trunk

|

|----moduleA

|----moduleB

|----test

角色设置:

boos:老板,查看所有,但是不会去动手写

manager:项目经理,只查看和编写doc文档、其他目录只看不写(令:pic目录也不能修改,不然美工的菇凉要发飙)

art:美工,只操作pic目录,其他目录没有任何权限

programmerA:程序员A,对moduleA、tag读写,pic只读,其他权限没有

programmerB:程序员B,对moduleB、tag读写,pic只读,其他权限没有

test:测试人员,test目录可以读写,tag只读,其他没有

权限配置:

#经理和老板可以读任何地方, 没有写的地方表示继承该权限
[/]
boss = r
manager = r

#经理读写
[/doc]
manager = rw #boss可读,因为继承[/]的权限

#美工读写,程序员可读,老板可读,经理只读,其他人没权限
[/doc/pic]
art = rw
programmerA = r
programmerB = r
boss = r
manager = r #这里用了覆盖,那么即使经理对doc可以rw,但是当前目录也只能r不能w
* = #用了*,表示除了写的其他人都没有权限,所以如果不把boss = r 加上,那么boss不可读 [/tag]
programmerA = rw
programmerB = rw
test = r [/test]
test = rw [/trunk/moduleA]
programmerA = rw [/trunk/moduleB]
programmerB = rw

SVN的搭建(权限配置篇)的更多相关文章

  1. linux系统Centos环境下搭建SVN服务器及权限配置

    linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍   至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个 ...

  2. windows下搭建svn服务器及权限配置

    服务器端VISUALSVN SERVER 3.3.1 下载地址 https://www.visualsvn.com/server/download/ 客户端TortoiseSVN 1.8.13下载地址 ...

  3. SVN服务器搭建和配置使用详解

    SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...

  4. Centos6.5 SVN服务器 搭建及配置

    现有的项目开发中,版本控制机必不可少.合理的使用版本控制可以提高开发效果,在保证项目是最新的同时,也提高了源代码的安全性. 工具/原料 接入Internet的一台Centos6.5Linux计算机 安 ...

  5. Linux中基于apache httpd的svn服务器搭建与配置

    mod_dav_svn是apache连接svn的模块 yum install subversion mod_dav_svn httpd 配置文件简单说明, SVNParentPath 说明可以在指定的 ...

  6. SVN的搭建(入门篇)

    如果转载,请注明出处,谢谢 1.安装SVN # yum install subversion 2.创建一个仓库 创建一个仓库svnrepos # svnadmin create /usr/svnrep ...

  7. svn服务器搭建与配置

    http://www.cnblogs.com/armyfai/p/3985660.html

  8. 版本控制-svn服务器搭建和常用命令(centos 6.3)

    Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...

  9. 版本控制-https svn服务器搭建和常用命令(centos 6.3)

    Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...

随机推荐

  1. 【转】Pro Android学习笔记(十四):用户界面和控制(2):Text类控制

    目录(?)[-] TextView 例子1在XML中设置autoLink属性 例子2在代码中设置autoLink属性 EditText AutoCompleteTextView MultiAutoCo ...

  2. 问题:C#调webservice超时;结果:C#调用webservice服务超时

    C#调用WebService服务时,报错,The operation has timed out,意思是“操作超时”. 方法/步骤 首先修改服务端配置 WebService服务所在站点为服务端,它提供 ...

  3. C语言学习笔记--enum和sizeof关键字

    1.enum关键字 C语言中enum关键字用来定义枚举类型 (1)enum 是 C 语言中的一种自定义类型(2)enum 值是可以根据需要自定义的的整型值(3)第一个定义的 enum 值默认为 0 ( ...

  4. fdisk查看硬盘分区表

    fdisk [选项] <磁盘>    更改分区表 fdisk [选项] -l <磁盘> 列出分区表 fdisk -s <分区>        给出分区大小(块数) ...

  5. jprofiler9.1.1 安装与配置

    一.安装部分 安装包: 1.jprofiler_linux_9_1_1.rpm 2.jprofiler_windows-x64_9_1_1.exe 需要注意的是,Linux 和 Windows 安装的 ...

  6. 应用程序无法正常启动提示错误0xc000007b 问题的原因和解决方法

    应用程序无法正常启动提示错误0xc000007b 问题的原因和解决方法 前提条件: 你使用的是VS201x软件编写程序,你使用的电脑是X64位的,并且你在使用OpenCV库.你编写的程序可以正常编译, ...

  7. iOS开发,使用CocoaSSDP查找设备时按关键字过滤Device

    关于CocoaSSDP的资料有很多,这里就不介绍了. 希望寻找的目标设备,在header中设置了自定义的keyword,虽然通过外围代码也能达到相同目的,但是直接修改CocoaSSDP源码更简便. 导 ...

  8. windows 下隐藏 system 函数弹窗

    概述 下面的程序是解决windows 下面调用 system() 函数的时候,会有窗口弹出的问题 头文件 #include <windows.h> 源码 /** * @brief 普通字符 ...

  9. Struts2学习第七课 通配符映射

    一个WEB应用可能有长百上千个action声明,可以利用struts提供的通配符映射机制吧多个彼此相识的映射关系简化为一个映射关系. 通配符映射规则: --若找到多个匹配,没有通配符的那个将胜出(精确 ...

  10. js中的cookie的设置获取和检查

    设置cookiefunction setCookie(cname,cvalue,exdays) { var d = new Date(); d.setTime(d.getTime()+(exdays* ...