SVN的搭建(权限配置篇)

如要转载,请注明出处!

 

两个问题:

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

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

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

 

 

 

posted @ 2018-04-07 17:31  染红の街道  阅读(240)  评论(0编辑  收藏  举报