svn 权限文件authz配置

合集下载

svn 正则匹配路径分配权限

svn 正则匹配路径分配权限

svn 正则匹配路径分配权限版本控制系统(Version Control System,简称 VCS)是软件开发过程中必不可少的一部分,其中,Subversion(svn)是一个常用的版本控制系统。

在使用svn 进行代码管理时,我们经常需要对不同路径的文件或目录设置不同的权限。

我们可以通过正则表达式来匹配路径,并将相应的权限分配给这些路径。

首先,我们需要在svn 的配置文件中设置路径匹配规则。

通过编辑svnserve.conf(对于svnserve 服务器)或者authz 文件(对于Apache HTTP Server)来实现。

下面是一些示例路径匹配规则的正则表达式:1. 路径匹配所有 .txt 文件,在根目录及其子目录下```[/](.*\/)*[^\/]*\.txt$```2. 路径匹配所有以 .doc 结尾的文件,在 trunk 目录及其子目录下```[^\/]+\/trunk\/(.*\/)*[^\/]*\.doc$```3. 路径匹配所有以 .css 结尾的文件,在 branches 目录及其子目录下```[^\/]+\/branches\/(.*\/)*[^\/]*\.css$```4. 路径匹配所有以/images 开头并以 .png 结尾的文件,在根目录及其子目录下```[/](.*\/)*images\/[^\/]*\.png$```以上是一些常见的路径匹配规则示例,你可以根据实际需求自定义正则表达式。

接下来,我们需要定义不同路径匹配规则对应的权限。

在authz 文件中,可以使用以下语法来为路径分配权限:```[路径规则]权限 = 用户名```例如,为路径 /trunk/test.txt 分配读写权限:```[/trunk/test.txt]rw = alice```这将让用户 alice 具有对 /trunk/test.txt 文件的读写权限。

使用正则表达式进行路径分配权限可以帮助我们更方便地管理代码库,确保不同用户或团队对应的路径有相应的权限。

Linux下SVN部署安全及权限配置_实现web同步更新

Linux下SVN部署安全及权限配置_实现web同步更新

Linux下SVN部署/安全及权限配置,实现web同步更新本文包含以下内容:SVN服务器安装SVN权限管理SVN使用SASL加密SVN上传时同步其它目录需求在WEB线上版本管理的基础上,能够在代码上传之后,立刻通过WEB访问,查看修改效果;同时,保证数据的安全性;SVN安装SVN服务器有2种运行方式:独立服务器和借助apache运行。

svnserve和apache相比是轻量级的,也比较简单,svnserve包含在subversion里面,所以只要安装了subversion就相当于安装了一个小型的svn服务器。

它使用自己的一套协议通信。

例如访问apache时使用http:// 前缀,而svnserve使用svn:// 前缀.这里介绍的是通过独立服务器方式运行,优点是简单小巧。

如果是支持较大规模的开发,还是推荐使用apache服务器方式;这里使用svnserver安装;1.首先为SVN单独创建一个用户,这样可以使用操作系统的安全特性;2.将svnadmin这个用户加入到sudu组;3.安装:sudo apt-get install subversion4.创建测试目录:mkdir /home/svnadmin/test5.创建版本库:svnadmin create /home/svnadmin/test4. 导入项目例如现在有个工程,名称为examPro,位置/alidata/www/examPro , 将这个工程导入到本地仓库中。

svn import /alidata/www/examPro file:///home/svnadmin/examPro -m "import examPro"在上一个例子里,将会拷贝目录examPro到版本库中;这样这个工程就在纳入服务器的本地仓库管理。

为了使用SVN的同步更新机制,我们需要在svn服务器环境上签出一份最新工程拷贝(为表述方便,这里称为A目录)。

SVN权限设置

SVN权限设置

Subversion之路实现精细的目录访问权限控制作者: 郑新星联系: zhengxinxing gmail com状态:草稿,编写中版本:0.4修订:The.Road.to.Subversion_authz.txt 148 2006-07-07 10:47:18Z michael版权:作者保留对本文的一切修改、发布等权力。

任何人想要转载本文部分或全部内容时,必须保留包括作者、联系、状态、版本、修订、版权,共六项信息,并给出出处。

对本文的参考引用,则不受限制。

关键词:Subversion 目录访问权限献辞仅以本文,献给中国广大的自由软件爱好者们摘要本文从一个实际的例子入手,介绍了如何利用Subversion 自带的目录管理功能,来实现对项目目录的精细访问权限的控制。

同时描述了在配置的过程中,需要注意的一些地方,如对中文的处理等。

目录1 to-do list2 前言3 实战3.1 背景假设3.2 建立代码库3.3 编辑代码库基础配置文件3.4 管理用户帐号3.5 建立目录访问权限控制文件3.6 测试4 深入4.1 svnserve.conf4.2 authz.conf 之用户分组4.3 authz.conf 之项目根目录4.4 authz.conf 之项目子目录4.5 authz.conf 的其他注意点5 改进5.1 对中文目录的支持6 参考文献1 to-do list描述初始建立代码库时候,导入的细节区别关于passwd.conf 文件明文密码的问题,及其处理办法有关使用apache代替svnserve.exe做服务器,从而实现非明文密码,以及实现SSL的问题有关使用apache之后,部门经理想要通过web查看日志的问题2 前言在实际的使用中,由于项目的目录本身就是作为版本库的一个部分被svn所收管,所以我们无法利用服务器操作系统的访问权限,来实现项目目录的访问控制。

因此,这个问题就只有让svn自己来解决了。

SVN安装配置, 权限, 目录访问

SVN安装配置, 权限, 目录访问

关键词:s version, 安装配置, 权限, 目录访问1 前言2 基本概念2.1 什么是版本控制2.2 什么是 S version2.3 版本库(repository)3 安装配置3.1 安装独立服务器 SVNServer3.2 安装 ApacheSVN 服务器4 FAQ5 参考资料1、前言花了72小时,终于把 S version 初步掌握了。

从一个连―什么是版本控制‖都不知道的门外汉,到配置出精确至每目录访问的入门者,中间还卡了一天时间。

其中费了许多气力,摸索实验了多次,还差点放弃了,但是收获是巨大的。

现把我的配置和学习过程写下来,供大家参考,也让初学者少走弯路。

以下仅以 Windows 平台为例讲解,Unix/Linux 平台请参考相关资料。

如其中有谬误的地方,包括错别字,请联系我修订。

技术在分享中进步!2、基本概念2.1、什么是版本控制简单点来说,版本控制就是数据仓库,它可以记录你对文件的每次更改。

这样,就算你在昏天黑地的改了几个月后老板说不要了,还是按照过去那样,你也不会抓狂,简单的恢复版本操作就搞定一切。

2.2、什么是 S versionS version是一个自由/开源版本控制系统,它管理文件和目录可以超越时间。

一组文件存放在中心版本库,这个版本库很像一个普通的文件服务器,只是它可以记录每一次文件和目录的修改,这便使你可以取得数据以前的版本,从而可以检查所作的更改。

从这个方面看,许多人把版本控制系统当作一种―时间机器‖。

S version可以通过网络访问它的版本库,从而使用户可以在不同的电脑上使用。

一定程度上可以说,允许用户在各自的地方修改同一份数据是促进协作。

进展可能非常的迅速,并没有一个所有的改变都会取得效果的通道,由于所有的工作都有历史版本,你不必担心由于失去某个通道而影响质量,如果存在不正确的改变,只要取消改变。

一些版本控制系统也是软件配置管理(SCM)系统,这种系统经过特定的精巧设计来管理源代码,有许多关于软件开发的特性—本身理解编程语言、或者提供构建程序的工具。

Visual SVN权限配置

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权限详解

SVN权限详解
2.默认权限
如果说我对某个目录不设置任何权限,会怎样?马上动手做个试验,将:
[diary:
/]
@g_chief_manager = rw
改成:
[diary:
/]
# @g_chief_manager = rw
这样就相当于什么都没有设置。在我的svn
1.3.2版本上,此时是禁止任何访问。也就是说,如果你想要让某人访问某目录,你一定要显式指明这一点。这个策略,看起来与防火墙的策略是一致的。
1.3.2版本,就方便了那些想在一个代码库存放多个相互独立的项目的管理员,来分配权限了。比如说央舜公司建立一个大的代码库用于存放所有员工日志,叫做diary,而arm事业部只是其中一个部门,则可以这样做:
[diary:
/]
@g_chief_manager = rw
[diary:
/arm]
@g_arm_manager = 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窗口,输入如下指令:
g_docs = linda
注意到没有,linda这个帐号同时存在“总部”和“文档员”两个分组里面,这可不是我老眼昏花写错了,是因为svnserve.exe允许我这样设置。它意味着,这个家伙所拥有的权限,将会比他的同事rory要多一些,这样的确很方便。具体多了哪些呢?请往下看!

SVN配置

SVN配置

一. 安装服务器(Windows)1.解压假设解压到F:\svn解压后文件列表如下:2.设置环境变量添加SVN_HOM=F:\svn设置PATH=%SVN_HOME%\bin添加SVN_EDITOR=notepad.exe3.创建仓库使用svnadmin create 仓库绝对路径命令svnadmin create F:\svn\svn_repository该命令会在F:\svn\svn_repository生成一些目录和配置文件4.修改配置文件到F:\svn\svn_repository目录下passwd文件–/conf目录下用于存放本svn库的用户名和密码,用= 分割,如:用户名= 密码;左边是用户名,右边是密码(明文)。

authz –/conf目录下用于存放本svn库的访问授权信息。

svnserve.conf — /conf目录下用于存放本svn库的全局访问控制信息用文本编辑器打开svnserve.conf加上两句[general]password-db = passwd打开同目录下同目录的passwd文件(设置用户密码)加上svnadmin = adminuser = user打开同目录的authz文件,它定义了两部分的内容:1,对组成员的定义,2,对目录的授权定义,可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权,授权的选项有:只读访问(‘r’),读写访问(‘rw’),或者无权防问(”).加[/]svnadmin,user = rw二.启动svnserve -d -r 项目主目录绝对路径svnserve -d -r F:\svn\svn_repository服务器已启动三.安装SVN客户端1.安装2.连接SVN服务器安装完毕后任意位置右键弹出菜单,如下图选择将列出选择URL填svn://127.0.0.1点击OK按钮这就是我建立的资源仓库文件树3.上传文件至资源库选中要上传的内容的父文件夹右键该文件夹选择选择点击OK要求输入用户名密码将刚才在passwd文件定义的用户名密码填入点击OK参考第2步的描述即可查看上传到资源库的文件三.从服务器检出文件到本地任意位置新建文件夹,假设在桌面建立project文件夹右键该文件夹选择点击OK文件已检出到project打开project文件夹四.备份运行命令:svnadmin dump 要备份资源库绝对路径>备份目的地文件绝对路径五.恢复创建恢复目的资源库:svnadmin create 资源库绝对路径恢复到资源科:svnadmin load 目标资源库绝对路径<备份文件。

svn_authz配置文件总结

svn_authz配置文件总结

svn_authz配置⽂件总结svn中authz配置⽂件总结2016-02-25 17:49:16标签:原创作品,允许转载,转载时请务必以超链接形式标明⽂章、作者信息和本声明。

否则将追究法律责任。

svn+apache的配置⽂件⽆⾮就是subversion.conf有关apache的给svn的模块配置) authz(⽤户⾓⾊权限配置) passwd(⽤户密码)passwd⽆⾮就是新建⽤户或者修改密码⽤。

authz相对较为复杂,下⾯举个例⼦12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21[group]admin = aaa,bbb,cccvip = a1man= b1custom = c1 //这⾥先设定有这么多个⾓⾊和⽤户//假设库的名字叫cp//下⾯在cp下建⽴2个平⾏的⽬录vip和main[/]@admin=rw //表⽰根⽬录下只有admin才有读写权限[cp:/]*=r //在cp库下,除了admin下,所有⼈都有读的权限@admin=rw //在cp库下,admin具有读写的权限[cp:/vip]*= //除了vip和admin之外,所有⼈没有任何权限@vip=rw //@admin=rw //[cp:/main]*= //除了以下⾓⾊外,其他⼈没有任何权限@admin=rw //@vip=rw //@man=r //如果出现有的⽬录下有⼦⽬录的话,那么在⽬录中有权限的⾓⾊在⼦⽬录中也应该有相应⾓⾊权限。

也就是说,⼦⽬录可以继承母⽬录的⾓⾊权限。

⽐如 vip这个⽬录下⾯有vip1这个⽬录,那么vip和admin依然有对vip1进⾏rw的权限。

3.15补充12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17[/]@admin=rw //表⽰根⽬录下只有admin才有读写权限[cp:/]*=r //在cp库下,除了admin下,所有⼈都有读的权限@admin=rw //在cp库下,admin具有读写的权限[cp:/vip]*= //除了vip和admin之外,所有⼈没有任何权限@vip=rw //@admin=rw //[cp:/main]*= //除了以下⾓⾊外,其他⼈没有任何权限@admin=rw //@vip=rw //@man=r //[cp:/main/01-aaa] //admin和test能访问,admin能看到,vip⽤户是看不到有这个⽬录的@test=rw@admin=rw这⾥补充⼀下,⽬录中还有⽬录特别设置权限的话,如果上⼀级⽤户拥有权限但是没有拥有特定的这个权限的话,是看不到的该⽂件夹的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

权限文件authz配置
权限文件authz在apche与svnserve服务器上的配置不同,单版本库和多版本库上的配置也有不同。

1.配置authz时,如果svnserve的启动参数-r 所指定的目录为直接指定到版本库(称之为单库svnserve方式)
例如:svnserve -d -r d:\svn\project1
在这种情况下,一个svnserve只能为一个版本库工作。

authz如果配置成下面这样就是错的:
应该配置成
因为[project1:/]表示project1的根目录,而按上面的启动参数,是没有库的概念的。

使用类似这样的URL:svn://192.168.0.1/ 即可访问project1
2.-r指定到版本库的上级目录(称之为多库svnserve方式)
如果使用以下命令启动svnserve:
这种情况,一个svnserve可以为多个版本库工作,这是如果想限制指定库的指定目录,就应该指定具体的库,想像这样:
如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录使用类似这样的URL:svn://192.168.0.1/project1 即可访问project1
这样的URL:svn://192.168.0.1/project2 即可访问project2
3.对中文目录进行权限控制时,应该将权限文件authz改为utf-8格式。

相关文档
最新文档