SVN权限详解

SVN权限详解
SVN权限详解

【转贴】Subversion权限详解

1背景假设

厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM芯片的方案设计、销售,并在北京、上海各设立了一个办事处。对于工作日志,原先采用邮件方式发给经理,但是这种方式有个缺点,那就是不具备连续性,要看以前的日志必须一封邮件去查看,很麻烦。于是就想到利用Subversion,让员工在自己电脑上编辑日志,然后利用svn传送回来,既方便员工自己编写日志,又方便对日志的归档处理,而且提交日志的时候只需要执行一下svnupdate即可,比发送邮件还要简单的多。

svn服务器相关信息

o服务器地址:

192.168.

0.1

o服务器OS:

MS Windows 2000 Server Edition中文版

o代码库本地目录:

D:

\svn\arm

arm部门文档的目录结构如下:

arm部门名称

├─diary 工作日志目录

│ ├─headquarters 总部工作日志目录

│ ├─beijing 北京办日志目录

│ └─shanghai 上海办日志目录

├─ref 公司公共文件参考目录

└─temp 临时文件目录

人员情况

omorson,公司总经理,其实他不必亲自看任何东西,就连部门经理们的每周总结都不一定看。但是为了表示对他的尊敬,以及满足一下他的权力欲,还是给他开放了“阅读所有文档”的权限

omichael,arm事业部的部门经理,没事的时候喜欢弄点儿新技术,用svn 来管理日志,就是他相处来的主意

oscofield,北京办人员,老员工,为人油滑难管

olincon,上海办人员,老员工,大老实人一个

olinda,总部协调员、秘书,文笔不错,长得也不错

ory,单片机技术员,技术支持

访问权限需求分析

o允许总经理读取所有文件

o除部门经理外,所有其他人员,均只能看到本办事处人员工作日志o不允许匿名访问

oref目录只允许经理和秘书写,对其他人只读

otemp目录人人都可以写

2建立代码库

在服务器D:

\svn目录下,建立arm代码库,命令如下:

D:

\svn>svnadmin create arm

在客户机F:

\temp目录下,建立好上述目录结构

用命令F:

\temp>svn import svn:

//

192.168.

0.1/arm导入结构

【注意点:

关于导入时候的细微差别】

3编辑代码库基础配置文件

编辑代码库arm\conf\svnserve.conf文件,如下: [general]

password-db = passwd.conf

anon-access = none

auth-access = write

authz-db = authz.conf

4管理用户帐号

新建代码库arm\conf\passwd.conf文件,如下: [users]

morson = ShowMeTheMoney

michael = mysecretpassword

scofield = hellolittilekiller

lincon = asyouknows111

rory =

linda = IlikeWorldCup2006

5建立目录访问权限控制文件

新建代码库arm\conf\authz.conf文件,内容如下: [groups]

g_vip = morson

g_manager = michael

g_beijing = scofield

g_shanghai = lincon

g_headquarters = rory, linda

g_docs = linda

[arm:

/]

@g_manager = rw

* = r

[arm:

/diary/headquarters]

@g_manager = rw

@g_headquarters = rw @g_vip = r

* =

[arm:

/diary/beijing]

@g_manager = rw

@g_beijing = rw

@g_vip = r

* =

[arm:

/diary/shanghai]

@g_manager = rw

@g_shanghai = rw

@g_vip = r

* =

[arm:

/ref]

@g_manager = rw

@g_docs = rw

* = r

[arm:

/temp]

* = rw

6测试

在服务器上,打开一个DOS Prompt窗口,输入如下指令:

svn co svn:

//

127.0.

0.1/arm --no-auth-cache --username rory --password

我们应该得到如下目录结构:

arm

├─diary

│ └─headquarters

├─ref

└─temp

然后修改ref目录下任意文件并提交,服务器将会报错“Access deni”深入本章将详细介绍前一章所涉及的两个配置文件,svnserve.conf和

authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义。

这里首先要注意一点,任何配置文件的有效配置行,都不允许存在前置空格,否则程序会无法识别。也就是说,如果你直接从本文的纯文本格式中拷贝了相关的配置行过去,需要手动将前置的4个空格全部删除。当然了,如果你

觉得一下子要删除好多行的同样数目的前置空格是一件苦差使,那么也许UltraEdit的“Column Mode”编辑模式,可以给你很大帮助呢。

1 svnserve.conf

arm\conf\svnserve.conf文件,是svnserve.exe这个服务器进程的配置文件,我们逐行解释如下。

首先,我们告诉svnserve.exe,用户名与密码放在passwd.conf文件下。当然,你可以改成任意的有效文件名,比如默认的就是passwd:

password-db = passwd.conf

接下来这两行的意思,是说只允许经过验证的用户,方可访问代码库。那么哪些是“经过验证的”用户呢?噢,当然,就是前面说那些在passwd.conf文件里面持有用户名密码的家伙。这两行的等号后面,目前只允许readwritenone三种值,你如果想实现一些特殊的值,比如说“read-once”之类的,建议你自己动手改源代码,反正它也是自由软件:

anon-access = none

auth-access = write

接下来就是最关键的一句呢,它告诉svnserve.exe,项目目录访问权限的相关配置是放在authz.conf文件里:

authz-db = authz.conf

当然,svn

1.3.2引入本功能的时候,系统默认使用authz而不是authz.conf作为配置文件。不过由于鄙人是处女座的,有着强烈的完美主义情结,看着svnserve.conf有后缀而passwd和authz没有就是不爽,硬是要改了。

2 authz.conf之用户分组

arm\conf\authz.conf文件的配置段,可以分为两类,``[group]``是一类,里面放置着所有用户分组信息。其余以[arm:

/]开头的是另外一类,每一段就是对应着项目的一个目录,其目录相关权限,就在此段内设置。

首先,我们将人员分组管理,以便以后由于人员变动而需要重新设置权限时候,尽量少改动东西。我们一共设置了5个用户分组,分组名称统一采用g_前缀,以方便识别。当然了,分组成员之间采用逗号隔开:

[groups]

#任何想要查看所有文档的xx部门人士

g_vip = morson

#经理

g_manager = michael

#xx办人员

g_beijing = scofield

#xx办人员

g_shanghai = lincon

#总部一般员工

g_headquarters = rory, linda

#小秘,撰写文档

g_docs = linda

注意到没有,linda这个帐号同时存在“总部”和“文档员”两个分组里面,这可不是我老眼昏花写错了,是因为svnserve.exe允许我这样设置。它意味着,这个家伙所拥有的权限,将会比他的同事rory要多一些,这样的确很方便。具体多了哪些呢?请往下看!

3 authz.conf之项目根目录

接着,我们对项目根目录做了限制,该目录只允许arm事业部的经理才能修改,其他人都只能眼巴巴的看着:

[arm:

/]

@g_manager = rw

* = r[arm:

/]表示这个目录结构的相对根节点,或者说是arm项目的根目录

这里的@表示接下来的是一个组名,不是用户名。你当然也可以将

@g_manager=rw这一行替换成michael=rw,而表达的意义完全一样。

*表示“除了上面提到的那些人之外的其余所有人”,也就是“除了部门经理外的其他所有人”,当然也包括总经理那个怪老头

*=r则表示“那些人只能读,不能写”

4 authz.conf之项目子目录

然后,我们要给总部人员开放日志目录的读写权限:

[arm:

/diary/headquarters]

@g_manager = rw

@g_headquarters = rw

@g_vip = r

* =

我敢打赌,设计svn的家伙们,大部分都是在unix/linux平台下工作,所以他们总喜欢使用/来标识子目录,而完全忽视在MS Windows下是用\来做同样的事情。

所以这儿,为了表示arm\diary\headquarters这个目录,我们必须使用

[arm:

/diary/headquarters]这样的格式。

这里最后一行的*=表示,除了经理、总部人员、特别人士之外,任何人都被禁止访问本目录。这一行是否可以省略呢?

之所以这儿需要将@g_vip=r一句加上,就是因为存在上述这个解释。如果说你没有明确地给总经理授予读的权力,则他会和其他人一样,被*给排除在外。

如果众位看官中间,有谁玩过防火墙配置的话,可能会感觉上述的配置很熟悉。不过这里有一点与防火墙配置不一样,那就是各个配置行之间,没有先后顺序一说。

也就是说,如果我将本段配置的*=这一行挪到最前面,完全不影响整个配置的最终效果。

请注意这儿,我们并没有给arm\diary目录设置权限,就直接跳到其子目录下进行设置了。我当然是故意这样的,因为我想在这儿引入“继承”的概念。

权限具备继承性任何子目录,均可继承其父目录的所有权限,除非它自己被明确设置了其他的权限。也就是说,在arm目录设置权限后,arm\diary目录没有进行设置,就意味着它的权限与arm目录一样,都是只有经理才有权读写,其他人只能干瞪眼。

【* =是否可以省略】【用例子引入覆盖】【单用户权限的继承问题】【父目录权限集成与全面覆盖问题】

现在来看看

好了,我们现在掌握了“继承”的威力,它让我们节省了不少敲键盘的时间。可是现在又有一个问题了,

属性具备覆盖性质子目录若设置了属性,则完全覆盖父目录。

5 authz.conf的其他注意点

1.父目录的r权限,对子目录w权限的影响

把这个问题专门提出来,是因为在

1.3.1及其以前的版本里面,有个bug,即为了子目录的写权限,项目首目录必须具备读权限。因此现在使用了

1.3.2版本,就方便了那些想在一个代码库存放多个相互独立的项目的管理员,来分配权限了。比如说央舜公司建立一个大的代码库用于存放所有员工日志,叫做diary,而arm事业部只是其中一个部门,则可以这样做:

[diary:

/]

@g_chief_manager = rw

[diary:

/arm]

@g_arm_manager = rw

@g_arm = r

这样,对于所有arm事业部的人员来说,就可以将

svn:

//

0.1/diary/arm这个URL当作根目录来进行日常操作,而完全不管它其实只是一个子目录,并且当有少数好奇心比较强的人想试着checkout一下svn:

//

192.168.

0.1/diary的时候,马上就会得到一个警告“Accessdeni”,哇,太酷了。

2.默认权限

如果说我对某个目录不设置任何权限,会怎样?马上动手做个试验,将:

[diary:

/]

@g_chief_manager = rw

改成:

[diary:

/]

# @g_chief_manager = rw

这样就相当于什么都没有设置。在我的svn

1.3.2版本上,此时是禁止任何访问。也就是说,如果你想要让某人访问某目录,你一定要显式指明这一点。这个策略,看起来与防火墙的策略是一致的。

3.只读权限带来的一个小副作用

若设置了:

[arm:

* = r

则svnserve认为,任何人,都不允许改动diary目录,包括删除和改名,和新增。也就是说,如果你在项目初期创建目录时候,一不小心写错目录名称,比如因拼写错误写成dairy,以后除非你改动authz.conf里面的这行设置,否则无法利用svn mv命令将错误的目录更正。

改进

1对中文目录的支持

上午上班的时候,Morson来到Michael的桌子前面,说道:

“你是否可以将我们的北京办、上海办目录,改成用中文的,看着那些拼音我觉得很难受?”Michael心想,还好这两天刚了解了一些与unicode编码相关的知识,于是微笑地回答:

“当然可以,你明天下午就可以看到中文目录名称了。”

2.arm

3.├─工作xx

4.│ ├─总部人员

5.│ ├─xx办

6.│ └─xx办

7.├─公司公共文件参考目录

8.└─临时文件存放处

9.修改代码库的authz.conf文件,将相应目录逐一改名

10.使用UltraEdit将authz.conf文件转换成不带BOM的UTF-8格式将配置文件转换成UTF-8格式之后,Subversion就能够正确识别中文字符了。但是这里需要注意一点,即必须保证UTF-8文件不包含BOM。BOM是ByteOrderMark的缩写,指UNICODE文件头部用于指明高低字节排列顺序的几个字符,通常是FFFE,而将之用UTF-8编码之后,就是EFBBBF。由于UTF-8文件本身不存在字节序问题,所以对UTF-16等编码方式有重大意义的BOM,对于UTF-8来说,只有一个作用——表明这个文件是UTF-8格式。由于BOM会给文本处理带来很多难题,所以现在很多软件都要求使用不带BOM的UTF-8文件,特别是一些处理文本的软件,如PHP、UNIX脚本文件等,svn也是如此。

目前常用的一些文本编辑工具中,MS Windows自带的“记事本”里面,“另存为”菜单保存出来的UTF-8格式文件,会自动带上BOM。新版本UltraEdit提供了选项,允许用户选择是否需要BOM,而老版本的不会添加BOM。请各位查看一下自己常用的编辑器的说明文件,看看它是否支持这个功能。利用UltraEdit,我们可以将BOM去掉。方法是,首先利用“UTF-8TOASCII”菜单将文件转换成本地编码,通常是GB2312码,然后再使用“ASCII TOUTF-

8(UNICODEEditing)”来转换到UTF-8即可。

一个SVN管理多个资料库时的用户权限配置

作为一个配置管理员,需要管理用户的权限,本文主要介绍了使用Subversion的授权文件“authz-db”,同时为了叙述的清晰,我首先澄清一些概念。 认证(Authentication)和授权(Authorization) 这两个术语经常一起出现。其中认证的意思就是鉴别用户的身份,最常见的方式就是使用用户名和密码,授权就是判断用户是否具备某种操作的权限,在Subversion里提供了“authz-db”文件,实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限。svnserve下的配置文件 因为本文是以svnserve为例的,所以先介绍一下版本库目录的结构: D:\SVNROOT\PROJECT1 ├─conf ├─dav ├─db │ ├─revprops │ ├─revs │ └─transactions ├─hooks └─locks 其中conf下面有三个文件: authz passwd svnserve.conf 其中的“svnserve.conf”是这个版本库的配置文件,当使用svnserve时,这个配置文件决定了使用什么认证和授权文件: password-db = passwd authz-db = authz 上面的配置说明使用“svnserve.conf”同目录的passwd和authz,其中的password-db指定了用户密码文件,authz-db是我们的授权文件,也就是我们本文主要介绍的文件。 基于svnserve的版本库文件布局 使用svnserve时,为了管理的方便,应该使用相同的认证和授权文件,所以应该让所有版本库的配置文件svnserve.conf指向同一个password-db和authz-db文件。下面是一个多版本库的目录: D:\SVNROOT ├─project1 │ ├─conf │ ├─dav │ ├─db

SVN管理员使用指南

SVN 管理员使用指南

目录 1Subversion简介 (1) 1.1Subversion简介 (1) 1.2Subversion架构 (2) 1.3Subversion组件 (3) 1.4Subversion基本流程 (3) 2安装SVN 服务 (4) 2.1安装SVN和TortoiseSVN (4) 2.2创建SVN资源库 (4) 2.3创建SVNserver服务 (5) 2.4运行SVNserver服务 (6) 3用户及权限管理 (6) 3.1用户管理 (7) 3.2权限管理 (7) 4SVN基本使用 (9) 4.1导入/导出(import/export) (9) 4.2初始化检出(checkout) (10) 4.3更新修改(update) (10) 4.4查看日志信息(show log) (10) 4.5取消修改(revert) (10) 4.6提交修改(commit) (10) 4.7合并信息(merge) (10) 4.8创建/删除/重命名 (10) 4.9加锁/释放锁(get/release lock) (10) 4.10添加、删除、重命名(add、delete、rename) (10) 4.11拷贝(copy) (13) 4.12查看修改信息(check for modifications) (13) 4.13分支/标记(branch/tag) (13)

4.14创建并应用补丁(create/apply patch) (15) 4.15备份/恢复资源库 (17) 4.16删除资源库 (19) 4.17版本(revision)关键字 (19) 4.18统计信息(statistics) (20) 4.19禁用密码缓存 (21) 5TortoiseSVN设置 (21) 5.1常规设置(General) (23) 5.2图标叠加(Icon overlays) (27) 5.3网络设置(network) (29) 5.4日志缓存设置(log caching) (30) 5.5钩子脚本设置(Hook Scripts) (32) 5.6外部程序设置(external programs) (32) 6TortoiseSVN基本命令 (37) 6.1Svn子命令 (37) 6.2Svnadmin (38) 6.2.1Svnadmin Switches (39) 6.2.2Svnadmin Subcommands (39) 6.3Svnlook (40) 6.3.1Svnlook选项 (40) 6.3.2Svnlook (41) 6.4Svnserve (41) 6.4.1Svnserve选项 (41) 6.5Svnversion (42) 6.5.1Svnversion选项 (42)

SVN权限控制解析

SVN权限控制解析 作为一个配置管理员,需要管理用户的权限,本文主要介绍了如何使用Subversion的授权文件“authz-db”,同时为了叙述的清晰,我首先澄清一些概念。 1、认证(Authentication)和授权(Authorization) 这两个术语经常一起出现。其中认证的意思就是鉴别用户的身份,最常见的方式就是使用用户名和密码,授权就是判断用户是否具备某种操作的权限,在Subversion里提供了“authz-db”文件,实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限,在Subversion 1.3之后,svnserve和Apache一样都可以使用“authz-db”文件。 2、svnserve下的配置文件 因为本文是以svnserve为例的,所以先介绍一下版本库目录的结构: 其中conf下面有三个文件: 其中的“svnserve.conf”是这个版本库的配置文件,当使用svnserve时,

上面的配置说明: 1、匿名用户的权限为none(可以为none、read、write) 2、认证用户的权限为write(可以为none、read、write。SVN的权限 认证方式是基于此处的设置和anthz授权文件中的设置,两者都满足 (&方式)才成立,即 read&read=read,read&write=read,write&write=write,所以 此处应把认证用户的权限设置为write,否则authz文件中关于写权 限的设置都会无效的 3、使用了“svnserve.conf”同目录的passwd和authz,其中的 password-db指定了用户密码文件,authz-db是我们的授权文件, 也就是我们本文主要介绍的文件。 4、realm为“My First Repository”,这个值作为客户端保存服务器端 信息(如用户和密码)的唯一识别符 注意:使用Apache作为服务器时,根本就不会参考“svnserve.conf”文件的内容,而是会参考Apache的配置。 3、基于svnserve的版本库文件布局 使用svnserve时,为了管理的方便,应该使用相同的认证和授权文件,所以应该让所有版本库的配置文件svnserve.conf指向同一个password-db和authz-db文件。下面是一个多版本库的目录:

实现精细的目录访问权限控制 svn

================ Subversion之路 ================ ---------------------------- 实现精细的目录访问权限控制 ---------------------------- :作者: 郑新星 :联系: zhengxinxing gmail com :状态: 正稿 :版本: 1.0 :修订: $Id: The.Road.to.Subversion_authz.rst 1749 2006-12-05 08:05:59Z zhengxinxing $ :版权: 作者保留对本文的一切修改、发布等权力。任何人想要转载本文部分或全部内容时,必须保留包括作者、联系、状态、版本、修订、版权,共六项信息,并给出出处。对本文的参考引用,则不受限制。 :关键词: Subversion 目录访问权限 :献辞: 仅以本文,献给中国广大的自由软件爱好者们 :摘要: 本文从一个实际的例子入手,介绍了如何利用Subversion 自带的目录管理功能,来实现对项目目录的精细访问权限的控制。同时描述了在配置的过程中,需要注意的一些地方,如对中文的处理等。 .. section-numbering:: .. contents:: 目录 :backlinks: top 前言 ==== Subversion 权限简介 ------------------- 在Subversion 的使用当中,存在“认证”、“授权”两个概念。认证,即authentication,是指用户名与密码的认证。授权,即authorization ,是指某用户对某个目录是否具备读、写权限的一种审核。这两者配合作用,就组成了Subversion 的整个帐户管理体系。 在实际的工作当中,我们有时候会遇见需要控制项目目录的访问权限的情况,比如说对项目的一些关键模块进行限制,仅允许少数授权人士才可以修改等。由于项目的目录本身就是作为版本库的一个部分被Subversion 所收管,所以我们无法利用操作系统的帐户权限体系,来实现授权控制。因此,这个问题就只有让svn自己来解决了。

svn用户权限管理

SVN用户权限管理讲解 /***********************************************************/ //SVNSubversion 用户权限管理//资料来源:网络、总结//2010年7月20日 /***********************************************************/ 基本的操作:以我创建的Svn工程为例子来讲解SVN权 /***********************************************************/ //SVNSubversion 用户权限管理 //资料来源:网络、总结 //2010年7月20日 /***********************************************************/ 基本的操作: 以我创建的Svn工程为例子来讲解SVN权限管理的配置 仓库创建路径:D:\SVNLibrary >>>取消匿名登陆: 打开文件D:\SVNLibrary\conf\svnserve.conf 找到:###anon-access = read 将前面的注释去掉,并将read 改为:none 即使:anoe-access=none 表示匿名登陆下的用户权限为空。即:系统不支持匿名登陆 说明: auth-access = write #通过验证的用户可以读和写 auno-access = read #匿名登陆下可以只读文件,即:文件修改后无法提交到服务器 password-db =password #用户保存文件的名称 authz-db =authz #权限管理文件这个是非常重要的,如果我们要对整个工程的文件进行权限分配的时候,就必须将这个行文件前面注释掉,否咋即使我们在权限配置文件里面进行再多的配置都是无效的。这点我已经犯错了。 然后我们在authz 文件下面进行权限的分配 在权限分配的时候要注意的问题: >>>权限分配时,应遵守从根目录到子目录、从设置最广泛权限到最精细权限、从只读权限到读写权限设置原则,即从根目录开始设置最广泛的访问权限,然后逐步设置下属子目录的访问权限。提示:目录的访问权限既可以分配给组,也可以分配指定用户。 >>>对某个用户,如果只赋给他某个目录的权限,但对上级目录没有赋给,则他不能有上级目录的任何权限 例如某个用户有:/repository/project1的r权,而没有/repository的r权 >>>对于所有的目录,都优先处理设置在这个目录上的权限设置。 例如sai用户: [/repository] sai = rw 对于repository目录,他有rw的权限。 [/repository/project1] sai = r 对于repository下的project1目录,他只有r权限。

svnserve权限设置

Svnserve单项目权限设置 目录 Svnserve单项目权限设置 (1) 目录 (1) 前言 (1) 一项目结构 (2) 二建立版本库 (4) 三配置权限 (4) 四导入项目版本库 (9) 五启动svnserve (13) 六将svnserve设置为系统服务 (14) 1,安装svnservice (14) 2,删除服务 (15) 3,配置服务是自动启动 (15) 致谢 (16) 前言 目前网络上有很多的关于svn安装与权限设置的文章(基于SVN

自带的svnserve),但是如果您像我一样按照那些文章来进行我们的subversion的安装和设置会发现有很多问题,可以说每篇文章都有这样或那样的错误。或者断章取义,或者根本就没亲自验证就写出来,贴到网络上,然后又有很多人直接转帖到自己的博客,空间中。这就造成了网络上大量的权限设置文章根本是无法正确设置权限的。在学习那些“权限设置精细”文章的过程中,给我们的身心都造成了严重的伤害。至少给我幼小的心灵造成了创伤。每次上网搜到一篇文章都觉得这次总该可以了吧,结果全盘照抄了,还是不行。累的我真的想放弃了。还好后来有一篇文章给了我启发,那是我找过的唯一一篇有我需要的细节的文章。 这篇文章是专门写给像我一样的菜鸟,而又因为这样或那样的原因需要了解svnserve权限设置的人,也就是“侏儒”。如果您对windows 比较了解,也就是身高在1.5米以上的,偏矮的人,正常人,比较高的人,非常高的人,或者像姚明一样的巨人的话,那你会发现此篇文章极尽啰嗦,繁琐。对此我深表歉意! 一项目结构 亿联网络技术有限公司是一家专注于网络通讯产品的研发及销售的高科技企业。目前,公司主要致力于V oIP网关、V oIP终端、WIFI 和IP-PBX等网络通讯产品的开发、生产和销售。产品以出口为导向,95%产品远销英国、德国、美国、韩国等50多个国家与地区,拥有一批诸如Nortel、FranceTelecom, Skype等优质合作伙伴

SVN权限控制

权限配置 作为一个配置管理员,需要管理用户的权限,本文主要介绍了使用Subversion的授权文件“authz-db”,同时为了叙述的清晰,我首先澄清一些概念。 1. 认证(Authentication)和授权(Authorization) 这两个术语经常一起出现。其中认证的意思就是鉴别用户的身份,最常见的方式就是使用用户名和密码,授权就是判断用户是否具备某种操作的权限,在Subversion里提供了“authz-db”文件,实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限。 2. svnserve下的配置文件 因为本文是以svnserve为例的,所以先介绍一下版本库目录的结构: D:\SVNROOT\PROJECT1 ├─conf ├─dav ├─db │ ├─revprops │ ├─revs │ └─transactions ├─hooks └─locks 其中conf下面有三个文件: authz passwd svnserve.conf

其中的“svnserve.conf”是这个版本库的配置文件,当使用svnserve时,这个配置文件决定了使用什么认证和授权文件: password-db = passwd authz-db = authz 上面的配置说明使用“svnserve.conf”同目录的passwd和authz,其中的password-db指定了用户密码文件,authz-db是我们的授权文件,也就是我们本文主要介绍的文件。 3. 基于svnserve的版本库文件布局 使用svnserve时,为了管理的方便,应该使用相同的认证和授权文件,所以应该让所有版本库的配置文件svnserve.conf指向同一个password-db和authz-db文件。下面是一个多版本库的目录: D:\SVNROOT ├─project1 │ ├─conf │ ├─dav │ ├─db │ │ ├─revprops │ │ ├─revs │ │ └─transactions │ ├─hooks │ └─locks └─project2 ├─conf ├─dav

SVN权限详解

【转贴】Subversion权限详解 1 背景假设 厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM 芯片的方案设计、销售,并在北京、上海各设立了一个办事处。对于工作日志,原先采用邮件方式发给经理,但是这种方式有个缺点,那就是不具备连续性,要看以前的日志必须一封一封邮件去查看,很麻烦。于是就想到利用 Subversion,让员工在自己电脑上编辑日志,然后利用svn传送回来,既方便员工自己编写日志,又方便对日志的归档处理,而且提交日志的时候只需要执行一下 svn update 即可,比发送邮件还要简单的多。 ?svn服务器相关信息 o服务器地址:192.168.0.1 o服务器OS:MS Windows 2000 Server Edition 中文版 o代码库本地目录:D:\svn\arm ?arm部门文档的目录结构如下: ?arm 部门名称 ?├─diary 工作日志目录 ?│ ├─headquarters 总部工作日志目录 ?│ ├─beijing 北京办日志目录 ?│ └─shanghai 上海办日志目录 ?├─ref 公司公共文件参考目录 ?└─temp 临时文件目录 ?人员情况 o morson,公司总经理,其实他不必亲自看任何东西,就连部门经理们的每周总结都不一定看。但是为了表示对他的尊敬,以及满足一下他的权力欲,还 是给他开放了“阅读所有文档”的权限 o michael,arm事业部的部门经理,没事的时候喜欢弄点儿新技术,用svn来管理日志,就是他相处来的主意 o scofield,北京办人员,老员工,为人油滑难管 o lincon,上海办人员,老员工,大老实人一个 o linda,总部协调员、秘书,文笔不错,长得也不错 o rory,单片机技术员,技术支持 ?访问权限需求分析 o允许总经理读取所有文件 o除部门经理外,所有其他人员,均只能看到本办事处人员工作日志 o不允许匿名访问 o ref目录只允许经理和秘书写,对其他人只读 o temp目录人人都可以写

SVN权限详解

【转贴】Subversion权限详解 1背景假设 厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM芯片的方案设计、销售,并在北京、上海各设立了一个办事处。对于工作日志,原先采用邮件方式发给经理,但是这种方式有个缺点,那就是不具备连续性,要看以前的日志必须一封邮件去查看,很麻烦。于是就想到利用Subversion,让员工在自己电脑上编辑日志,然后利用svn传送回来,既方便员工自己编写日志,又方便对日志的归档处理,而且提交日志的时候只需要执行一下svnupdate即可,比发送邮件还要简单的多。 svn服务器相关信息 o服务器地址: 192.168. 0.1 o服务器OS: MS Windows 2000 Server Edition中文版 o代码库本地目录: D: \svn\arm arm部门文档的目录结构如下: arm部门名称 ├─diary 工作日志目录 │ ├─headquarters 总部工作日志目录 │ ├─beijing 北京办日志目录

│ └─shanghai 上海办日志目录 ├─ref 公司公共文件参考目录 └─temp 临时文件目录 人员情况 omorson,公司总经理,其实他不必亲自看任何东西,就连部门经理们的每周总结都不一定看。但是为了表示对他的尊敬,以及满足一下他的权力欲,还是给他开放了“阅读所有文档”的权限 omichael,arm事业部的部门经理,没事的时候喜欢弄点儿新技术,用svn 来管理日志,就是他相处来的主意 oscofield,北京办人员,老员工,为人油滑难管 olincon,上海办人员,老员工,大老实人一个 olinda,总部协调员、秘书,文笔不错,长得也不错 ory,单片机技术员,技术支持 访问权限需求分析 o允许总经理读取所有文件 o除部门经理外,所有其他人员,均只能看到本办事处人员工作日志o不允许匿名访问 oref目录只允许经理和秘书写,对其他人只读 otemp目录人人都可以写 2建立代码库 在服务器D: \svn目录下,建立arm代码库,命令如下:

SVN超级管理员使用指南

SVN超级管理员使用指南 目录 1登陆SVN后台管理 (2) 2首页菜单介绍 (2) 3超级管理员主要管理功能 (3) 4操作详细介绍 (3) 4.1用户管理 (3) 4.1.1邀请用户 (3) 4.1.2手动添加用户 (4) 4.1.3编辑用户 (5) 4.1.4删除用户 (6) 4.2用户组管理 (8) 4.2.1创建用户组 (8) 4.2.2删除用户组 (9) 4.2.3编辑用户组 (10) 4.3一级目录管理 (12) 4.3.1创建一级目录 (12) 4.3.2删除一级目录 (13) 4.3.3编辑一级目录 (14) 5场景示例1: (16)

1登陆SVN后台管理 1、输入:http://xy.svn/svnman/出现SVN后台管理登陆界面: 2、选择login,并输入用户名和密码,点击login按钮 3、登陆成功 2首页菜单介绍 左图为超级管理员登入时的菜单显示 “User Admin”:用户管理; “Group Admin”:用户组管理; “Repository Admin”:一级目录管理; “Logout”:登出;

3超级管理员主要管理功能 用户管理:邀请、增加、编辑、删除用户账号 用户组管理:新建、删除用户组、编辑用户组成员,用户组是为了权限设置方便,将多个具有相同或相似权限的用户设为一个用户组。 一级目录管理:建立一级目录,并设置该目录的管理员。 4操作详细介绍 4.1用户管理 点击首页菜单的“User Admin”进入用户管理界面,如下图 4.1.1邀请用户 建议使用邀请用户功能添加新用户,新用户可以通过邀请邮件中的链接地址进入系统自己注册帐号和密码。节约管理时间并保证了帐号安全。 点击第一个“Invite”按钮进入邀请用户界面,如下图

visualSVN_server权限配置使用说明

VisualSVNserver使用配置说明 一、VisualSVN server的配置简介 VisualSVN Server适用于你的团队在Windows平台上使用,可以用来安装、配置和管理Subversion Server,其中包括了Subversion和一个管理控制台。你可以使用Subversion client 连接到VisualSVN Server ,也可以用浏览器来快速浏览内容. 而且它可以帮助你将Subversion整合进Visual Studio. 其官网下载地址:https://www.360docs.net/doc/7914971317.html,/server 二、VisualSVN server的安装 1、双击下载好的安装软件,出现下图 点击上图Next,进入下图所示: 点击复选框,点击Next,进入下图:

设置如上图所示,进入下图: 这里要求你填入VisualSVN Server的安装位置,以及选择服务器端口和连接协议,,在大多数情况下可以使用默认值。点击Next完成VisualSVN server的安装。

三、V isualSVN server的使用 3.1 管理控制台 VisualSVN Server 提供了一个简单和直观的标准MMC snap-in管理控制台。 你可以通过“开始菜单→所有程序”或者通过标准MMC来访问它。 通过管理控制台,你可以很方便地创建新版本库或浏览已经存在的库。同样,你可以管理对版本库的访问权限。 3.2 创建版本库 可通过右键Repositories→Create New Repositories来创建,当创建一个新的版本库时,

基于web平台的SVN权限管理方法及其设备的制作技术

图片简介: 本技术提供一种基于web平台的SVN权限管理方法及其装置,所述方法包括:利用web平台建立SVN权限管理界面,所述权限管理界面中包括组别、人员和文件目录;在所述权限管理界面中设置文件目录下的访问权限;在所述权限管理界面中根据所述访问权限对所述人员划分组别;根据所述访问权限和所述分组生成独立于SVN的外部权限配置文件;将所述外部权限配置文件推送至SVN服务器。本技术无需在SVN内部的配置文件中直接修改文本,防止由于编辑错误导致权限管理混乱并且难以查找原因的缺陷。本技术通过外部界面化的设置使得权限管理操作更加灵活便利,从而大大提高SVN版本管理的工作效率。 技术要求 1.一种基于web平台的SVN权限管理方法,其特征在于,包括: 利用web平台建立SVN权限管理界面,所述权限管理界面中包括组别、人员和文件目录;在所述权限管理界面中设置文件目录下的访问权限; 在所述权限管理界面中根据所述访问权限对所述人员划分组别; 根据所述访问权限和所述组别生成独立于SVN的外部权限配置文件;

将所述外部权限配置文件推送至SVN服务器。 2.根据权利要求1所述的SVN权限管理方法,其特征在于,所述访问权限的设置规则为:根据不同职责确定所述人员对文件目录下的文件项的执行权力;所述访问权限包括:对文件目录下的文件项具有只读权限,对文件目录下的文件项具有修改权限和对文件目录下的文件项具有删除权限。 3.根据权利要求2所述的SVN权限管理方法,其特征在于,所述根据所述访问权限对所述人员划分组别包括:将具有只读权限的人员划分为第一组别,将具有修改权限的人员划分为第二组别,以及将具有删除权限的人员划分为第三组别。 4.根据权利要求2所述的SVN权限管理方法,其特征在于,具有多个权限的人员同时被划分到多个组别。 5.一种基于web平台的SVN权限管理装置,其特征在于,包括: 界面建立模块,适用于利用web平台建立SVN权限管理界面,所述权限管理界面中包括组别、人员和文件目录; 权限设置模块,适用于在所述权限管理界面中设置文件目录下的访问权限; 分组模块,适用于在所述权限管理界面中根据所述访问权限对所述人员划分组别; 配置文件模块,适用于根据所述访问权限和所述分组生成独立于SVN的外部权限配置文件; 推送模块,适用于将所述外部权限配置文件推送至SVN服务器。 6.根据权利要求5所述的SVN权限管理装置,其特征在于,所述访问权限的设置规则为:根据不同职责确定所述人员对文件目录下的文件项的执行权力;所述访问权限包括:对文件目录下的文件项具有只读权限,对文件目录下的文件项具有修改权限和对文件目录下的文件项具有删除权限。 7.根据权利要求6所述的SVN权限管理装置,其特征在于,所述分组模块包括: 第一分组模块,适用于将具有只读权限的人员划分为第一组别;

SVN分级授权工具部署手册--Windows用户认证--Visual SVN 权限

技术文档莫模板 技术支持文档系列 SVN分级授权部署手册 --Windows用户认证 (文档编号:MCTD-P2*******-I20140001-V0101) 此工具及文档为闲暇之作,疏漏之处请理解。 艾维工作室 IIVII STUDIO 二〇一四年十月﹒成都

文档说明 修订记录

目录 第一章概述 (4) 第二章安装部署 (5) 2.1Windows操作系统 (5) 2.2SVN服务软件安装 (5) 2.3SVN分级授权工具安装 (11) 2.3.1 安装C++运行库 (11) 2.3.2 部署数据库、COM+和WebSerivce (12) 2.3.3 安装同步服务 (21) 2.3.4 更改登录认证方式 (23) 2.3.5 SVN分级授权参数配置 (25) 2.4发布分级授权工具 (25) 第三章基本操作 (28) 3.1用户批量导入 (28) 3.2超级管理员SVNADMIN (29) 3.3SVN工具权限管理 (29) 3.4管理SVN用户 (30) 3.5管理员重置用户的SVN密码 (34) 3.6用户修改自己的SVN密码 (34) 3.7创建SVN仓库 (35) 3.8SVN仓库权限管理 (38) 3.9获取SVN存取的URL地址 (41) 第四章进一步阅读 (42)

第一章概述 当VisualSVN 2.7采用Windows用户认证或Windows域认证时,可以使用SVN分级授权工具对VisualSVN的授权功能进行扩展,实现SVN库的创建、分库的分级授权、SVN用户密码修改等。本手册主要描述Windows用户认证的配置方法,关于采用Windows域认证的配置方法请参考《SVN分级授权工具部署手册--Windows域认证》。

svn服务器端配置库创建及配置方法

SVN服务器端配置库创建(Express版) 1创建SVN配置库目录 在某一路径下,点击鼠标右键-新建-文件夹,创建一个文件夹,并修改目录名(如MySVN, 在本文档中称之为SVN配置库)。右键点击该目录,选择TortoiseSVN-Create repository here。 (备注:"repository ”是英文"储藏室”的意思) 匚回 知记JT3FCD) QQMusic QQMusic轿啟肌列叱 v便用撅廉毫扫摘 共孚和虽全何”. ^]SVN CbKhwtH? ^TortciseSVN ?Repo-browser 番淆姐旺臧件回“ 1-1Create repository 创建 SVN 配置库 2对SVN配置文件进行配置 SVN配置库目录建立后,需要对配置文件进行配置。进入配置库目录下的conf目录, 其中有authz、passwd、svnserve三个文件,anthz配置用户权限、passwd配置用户名与密码、svnserve 即为配置文件的配置文件。在这三种文件中“ #”为注释行起始符号。另外需要注 意的是,配置语句的每一行不能有多余的空格。 2.1 svnserve文件的配置 将整个文件中的内容替换为以下内容即可。 [ge neral] anon-access = read auth-access = write

password-db = passwd II定义passwd文件为用户名-密码数据库 authz-db = authz II定义authz文件为权限管理数据库 2.2 passwd文件配置 passwd文件主要用于设置用户名与密码,其语法格式为“用户名=密码”。如添加用 户名为user,密码为pwd的用户,则可以使用如下方法实现: [users] user = pwd II定义用户 user,其密码为 pwd 2.3 authz文件配置 authz文件主要用于设置用户所属群组,配置用户权限及群组权限。群组信息在[groups] 标签下配置;某个目录的读写权限则在[某路径]标签下配置,r表示可读权限,w表示可写 权限,rw表示可读可写权限。假设passwd文件中定义了 A、B C、D四个用户,下面将进 行一些配置并对这些配置的含义进行说明。 [groups] groupA = A,B II定义群组groupA,它具有两个用户 A、B groupB = C,D II定义群组groupB,它具有两个用户 C、D [I] * = r II在根目录所有用户有只读权限 A = rw II在根目录用户 A具有读写权限 @groupB = rw II在根目录群组 groupB具有读写权限 [I目录A] @ groupA = rw II在目录 A群组groupA具有读写权限 C = w II在目录A用户C具有写权限 3开启SVN服务程序 一个SVN配置库的配置过程至此就结束了,下面需要开启一个SVN服务,并以刚建立 的SVN配置库MySVN作为配置库,才能使用。下面使用彭斌开发的 myswapper配置工具进行配置,该工具可以简化配置时所输入的命令行,而使用图形界面进行配置。配置前将myswapper工具复制到某一

Visual SVN权限配置

Visual SVN的权限配置是在SVN_ROOT根目录下面的三个文件内 1)authz:Visual SVN账户权限配置; 2)authz-windows:如果使用Windows域账户,权限配置在此文件配置; 3)htpasswd:账户名及密码; 注:SVN正常是在每个版本库内都有单独的权限配置文件,如project、office、public等目录内都会有单独的权限配置文件,而VisualSVN将所有版本库的权限配置集中到了根目录下面。相对配置更加简单。 我们目前使用以下两种方式进行权限的设置: 1、Visual SVN图形化控制界面 在该界面可以实现如下功能: 1)新建用户user; 2)新建组Group并添加用户user; 3)配置用户user或组group对产品库如Project、Office、Public的访问权限; 2、手动修改authz文件进行权限配置,但是需要注意以下几点: 1)authz文件为“UTF-8 无BOM”格式,在使用记事本打开修改保存之后需要注意避免修改格式。建议使用UltraEdit进行修改并且保存为“UTF-8 无BOM”格式。 2)authz文件目前测试发现将其中Windows2008中Copy到XP系统内本身就会发生变化,如38k大小的文件会变成48k,在将xp内的authz不做任何修改copy会SVN_ROOT 中时,VisualSVN打开时依然会提示“……\authz:1: Section header expected”错误。 由此可见在Copy到XP时文件已经发生了修改。具体原因不详,目前直接在windows2008 server当中进行修订并保存为“UTF-8无BOM”格式,验证OK。验证Copy到windows7 64bits中没有文件大小无变化。 王新2014年5月4日

SVN配置权限

Subversion精细化权限配置 版本历史 版本/状态作者变更理由/内容生效日期备注 1.1 孙炬2010-4-22 引言 目录 1. 准备工作 (1) 1.1. 新建代码库 (1) 1.2. 配置代码库 (1) 2. 配置详解 (3) 2.1. Passwd.conf (3) 2.2. authz.conf (4) 3. 补充重要说明 (6) 3.1. 对中文目录的支持 (6) 1.准备工作 1.1. 新建代码库 svnadmin create F:\server\svn\root 1.2. 配置代码库 进入conf目录

删除掉authz和passwd这两个文件(是默认的配置,没什么用) 打开svnserve.conf找到[general],把[general]到# realm = My First Repository这一行之前的内容全部删除掉,在这两行之间加入 password-db = ../../passwd.conf anon-access = none auth-access = write authz-db = ../../authz.conf 整个文件的配置如下: ### This file controls the configuration of the svnserve daemon, if you ### use it to allow access to this repository. (If you only allow ### access through http: and/or file: URLs, then this file is ### irrelevant.) ### Visit https://www.360docs.net/doc/7914971317.html,/ for more information. [general] password-db = ../../passwd.conf anon-access = none auth-access = write authz-db = ../../authz.conf # realm = My First Repository

visualSVN_server权限配置使用说明

VisualSVN server使用配置说明 一、VisualSVN server的配置简介 VisualSVN Server适用于你的团队在Windows平台上使用,可以用来安装、配置和管理Subversion Server,其中包括了Subversion和一个管理控制台。你可以使用Subversion client 连接到VisualSVN Server ,也可以用浏览器来快速浏览内容. 而且它可以帮助你将Subversion整合进Visual Studio. 其官网下载地址:https://www.360docs.net/doc/7914971317.html,/server 二、VisualSVN server的安装 1、双击下载好的安装软件,出现下图 点击上图Next,进入下图所示: 点击复选框,点击Next,进入下图:

设置如上图所示,进入下图: 这里要求你填入VisualSVN Server的安装位置,以及选择服务器端口和连接协议,,在大多数情况下可以使用默认值。点击Next完成VisualSVN server的安装。

三、V isualSVN server的使用 3.1 管理控制台 VisualSVN Server 提供了一个简单和直观的标准MMC snap-in管理控制台。 你可以通过“开始菜单→所有程序”或者通过标准MMC来访问它。 通过管理控制台,你可以很方便地创建新版本库或浏览已经存在的库。同样,你可以管理对版本库的访问权限。 3.2 创建版本库 可通过右键Repositories→Create New Repositories来创建,当创建一个新的版本库时,

SVN+Apache服务器端配置及权限设置教程

SVN+Apache服务器端配置及权限设置教程

一、软件版本信息 Httpd-2.2.17-win32-x86-openssl-0.9.8o.msi Setup-Subversion-1.6.16.msi 二、软件配置信息 1.安装apache服务器和SVN服务器。 2.复制SVN服务器Subversion\bin 目录下的mod_dav_svn.so ,mod_authz_svn.so 及所 有dll 文件至apache 服务器Apache Software Foundation\Apache2.2\modules目录下3.打开apache服务器安装目录下的 \Apache Software Foundation\Apache2.2\conf\httpd.conf 文件.修改 #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so 为 LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so 注: LoadModule前面不能有空格 在配置文件最末尾添加: Dav svn SVNParentPath "G:/svn/Repository" AuthType Basic #SSLRequireSSL AuthName "SVN Repository" SVNListParentPath on AuthUserFile "D:/Apache Software Foundation/Apache2.2/conf/conf-svn/passwd" AuthzSVNAccessFile "D:/Apache Software Foundation/Apache2.2/conf/conf-svn/authz" Require valid-user

svn用户权限管理

SVN服务器的的IP地址为:10.1.67.100 SVN服务器使用相关说明 远程登录此台机器: 密码:qdpt1234

1. repositories下的工程主要负责3个:Group 、NewBankAgent、NewBANK 2. Users是所有用户的相关信息 3. Groups是将所有用户进行的分组 4. 再分配权限的时候,只需要将组加入进去即可。 新建用户: 右击“Users”选择“create user......”,如下图所示:

弹出上框,输入新建用户的用户名和密码,点击ok就行。 新建组名称: 点击“Groups”右边显示的则全是所有组的名称。 如果需要新建组,则右击“Groups”选择“create group.......”,写好组名点击ok既可。 将用户进行分组: 以组“g_group”为例子进行说明。 右击“g_group”选择“Edit”就能看到该组下目前所有的成员。 如下图所示: 添加新成员,则选择“Add”,选择新成员,点击ok即可。 如需删除某成员,则选中该成员后点击“Remove”即可。

工程分配权限: 以工程“Group”为例子进行说明。 右击“Group”,选择“Properties”即可看到该工程对哪些组或用户是有权限的,如下图。 给组,某人进行分配权限: 在下图中选择“Add”,再根据弹出的框,选择用户或者是个人进行添加,添加进来后,再选择“Permissions”下的权限,分配读写权限。 Inherlit from parent(read/write) 继承上级所拥有的权限 No access 没有任何权限 Read only 只有读取的权限 Read/write 有读和写的权限 选好后,确定即可。

SVN配置管理应用

配置管理 保存所有更改的记录,防止改动丢失 能够快速回复到特定版本的状态 能够获取其他成员的更改 采用:Copy-Modify-Merge方式:可以多人同时修改一个文件,会有冲突的情况,更强调开发人员的交流,对于合作开发比较合适 版本地址URL明确—————— 主要操作: 把本地文件添加到文件仓库中-----初始文件导入 从SVN文件库中取出代码-----检出 更新本地文件 文件/目录改名 把文件和目录添加到文件仓库中 从SVN中删除文件 提交修改后的文件-----检入 复本内容的更新使用 导出功能:使用此功能获取一个没有SVN控制信息的工作复本; 清理:当Subversion操作中断时,会有一些残留的操作信息保留在工作复本中,这时需要进

行清理才能够重新进行工作; 生成补丁文件:可以将自己所作的修改以补丁文件的方式交给他人,对于只有匿名访问的代码可以以这种方式提交修改; 在资源管理器中显示文件的SVN信息:通过定制资源管理器的显示字段控制 经常更新:由于文件可能有多个人修改,应该经常更新你的工作拷贝中的文件,这样能降低发生冲突的可能性; 提交前先在本地进行测试:不允许将有错误的文件提交到服务器上; 提交时一定要写备注:备注有助于其他人(包括三个月后的你自己)理解你对文件所做的修改; 提交文件时注意要提交一项改动所对应的所有文件修改 使用标签和分支,账号权限的分配管理 #定义储存库下指定目录的访问权限 @admin=rw #admin组有读写权限 tests=r #test用户只有读权限 # anon-access = read # auth-access = write # password-db = passwd # realm = My First Repository 在Cmd命令行下进入到SubVersion目录下的bin目录下,输入如下命令: svnserve -d -r d:\svn_projects SVN更新然后修改文件类别、插件的安装 操作实例 安装和配置步骤: 1.安装apr-1.3.8.tar.gz tar –zvxf apr-1.3.8.tar.gz (解压) cd apr-1.3.8 (进入apr…所在的目录) ./configure /* (安装不指定路径时默认安装到/usr/local/apr) make ; make install (安装) 2. 安装apr-util-1. 3.9.tar.gz

相关文档
最新文档