svnserve权限设置
- 格式:doc
- 大小:204.00 KB
- 文档页数:17
Win7 系统搭建SVN 服务端和客户端图文使用方法1、安装好VisualSVN Server后,运行VisualSVN Server Manger,打开服务器的 VisualSVN 界面:2、创建仓库(repository)第一种方式:按照上图,创建新的代码库,在下图所示的文本框中输入代码名称:上图中选择“empty repostory”,则在代码库只创建空的代码库StartKit,选下面的“single-project”则在代码库StartKit下面会创建trunk、branches、tags三个子目录;3种仓库默认推荐权限设置(Nobody…不允许任何人访问All Subversion users…所有svn用户都可以Customize permissions自定义权限允许,这里下面有个按钮,我们可以过会继续设置,当然你也可以在这里设置,然后点create创建)这里有个Repository URL这个地址就是客户端获取服务器代码的地址,你可以先记下来,也可以通过右击仓库名可以获得。
前面的WIN-TV..什么的是你计算机的名字,客户端都是服务器的ip地址就行了这就是标准的branches,tags,trunk服务器版本我们现在右击整个仓库,就是MyBlog项目,我们现在来创建一个admin管理员,用户名admin,密码admin,你可以在Users查找到他,可直接修改密码点击“OK”创建完代码库后,没有任何内容在里面。
我会在这个教程的第二部分说明如何迁入源代码。
下面,我们开始安全性设置,在左侧的Users上点击右键:输入上面的信息,点击OK,我们就创建一个用户了。
按照上面的过程,分别添加用户Developer1、tester1、manager1,好了,我们开始添加这些用户到我们刚才创建的项目里:点击上图中的"Add..."按钮,在下图中选择我们刚才添加的用户,点击OK按钮:说明:大家可能注意到了下图中的Groups,是的,你也可以先创建组,把用户添加到各个组中,然后对组进行授权,操作比较简单,在此略过。
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目录)。
VisualSVNServer的配置和使用方法VisualSVN Server是一款Windows平台下的免费的开源软件,用于在Windows操作系统上搭建和管理Subversion(SVN)代码仓库。
它提供了易用的用户界面和丰富的功能,使得创建和维护SVN仓库变得非常容易。
下面将介绍VisualSVN Server的配置和使用方法。
2.创建代码仓库安装完成后,打开VisualSVN Server管理界面,点击“Create New Repository”按钮来创建一个新的代码仓库。
在弹出的对话框中,可以设置仓库的名称和路径。
3.配置访问权限4.配置身份验证5.配置加密6.配置邮件通知7.访问仓库在代码仓库创建和配置完成后,可以使用任意支持SVN协议的客户端软件访问仓库。
例如,可以使用TortoiseSVN、SmartSVN等客户端软件。
8.设置用户访问权限在客户端软件中,可以通过设置用户的用户名和密码来访问仓库。
访问权限由服务器上的访问控制配置决定,用户只能访问具有相应访问权限的仓库。
9.提交和更新代码在客户端软件中,可以使用SVN命令来提交和更新代码。
提交代码时,可以选择提交到哪个仓库和哪个分支。
更新代码时,可以选择从哪个仓库和哪个分支更新。
10.查看日志和历史在客户端软件中,可以查看仓库中的日志和历史记录。
日志记录了每次提交的相关信息,包括提交者、提交时间、提交说明等。
历史记录显示了每个文件的修改历史和版本号。
总结:VisualSVN Server是一款简单易用的SVN服务器软件,通过上述配置和使用方法,可以轻松搭建和管理SVN仓库,并设置相应的访问权限、身份验证、加密和邮件通知功能。
通过SVN客户端软件,可以方便地提交和更新代码,并查看仓库的日志和历史记录。
VisualSVN Server对于团队协作和版本控制非常有用,是开发人员必备的工具之一。
数据仓库下的配置文件:=============================================================== ======svn serve.conf访问权限、权限配置文件设置authz用户组、用户、访问权限设置pass wd 用户、密码设置=============================================================== ======S VN 用户名密码的保存位置<BR><BR>C:\Do cumen ts an d Set tings\Admi nistr ator\Appli catio n Dat a\Sub versi on\au th<br>C:\DO CUME~1\ADM INI~1\Appl ic~1\Subve rsion\auth=============================================================== ======【参数设置】创建数据仓库:D:\s vn_re posit ory---------ser ver上的数据仓库(1) 选择D:\s vn_re posit ory(2) 右键,To...SVN\ cre ate r eposi toryhere\...FS FS(3) 修改配置:D:\svn home\conf\svnse rve.c onfanon-acces s = r eadauth-acces s = w ritepass word-db =passw d注释去掉p asswd文件中加用户配置好后重启,再chec kout试试! 详见:配置文件:s vnser ve.co nf----------------------------------------------------------### This file cont rolsthe c onfig urati on of thesvnse rve d aemon, ifyou### us e itto al low a ccess to t his r eposi tory. (If youonlyallow###acces s thr oughhttp: and/or fi le: U RLs,thenthisfileis### irr eleva nt.)###Visit http://su bvers ion.t igri/ formoreinfor matio n.[gener al]### Th ese o ption s con trolacces s tothe r eposi toryfor u nauth entic ated### a nd au thent icate d use rs. Valid valu es ar e "wr ite", "rea d",### an d "no ne". Thesampl e set tings belo w are thedefau lts.anon-acces s = n onea uth-a ccess = wr ite### Th e pas sword-db o ption cont rolsthe l ocati on of thepassw ord### da tabas e fil e. U nless youspeci fy apathstart ing w ith a /,### th e fil e's l ocati on is rela tiveto th e con f dir ector y.### Unc ommen t the line belo w touse t he de fault pass wordfile.pass word-db =passw d### Theauthz-db o ption cont rolsthe l ocati on of theautho rizat ion### ru les f or pa th-ba sed a ccess cont rol. Unle ss yo u spe cifya pat h### star tingwitha /,the f ile's loca tionis re lativ e tothe c onf### di recto ry. If yo u don't sp ecify an a uthz-db, n o pat h-bas ed ac cess### c ontro l isdone.###Uncom mentthe l ine b elowto us e the defa ult a uthor izati on fi le.#auth z-db= aut hz### Thi s opt ion s pecif ies t he au thent icati on re alm o f the repo sitor y.### Iftwo r eposi torie s hav e the same auth entic ation real m, th ey sh ould### h ave t he sa me pa sswor d dat abase, and vice vers a. T he de fault real m### is r eposi tory's uui d.#realm = My Firs t Rep osito ryauth z----------------------------------------------------------###Thisfileis an exam ple a uthor izati on fi le fo r svn serve.### Itsforma t isident icalto th at of mod_authz_svnautho rizat ion### fi les.### A s sho wn be low e ach s ectio n def inesautho rizat ionsfor t he pa th an d### (opt ional) rep osito ry sp ecifi ed by thesecti on na me.### Th e aut horiz ation s fol low.An au thori zatio n lin e can refe r toa### sing le us er, t o a g roupof us ers d efine d ina spe cial[grou ps]### se ction, orto an yoneusing the'*' w ildca rd. Eachdefin ition can### g rantread('r') acce ss, r ead-w rite('rw') acc ess,or no acce ss ('').#=======================分组配置开始=======================[grou ps]# harr y_and_sall y = h arry,sallyciqc id=lz a,lxqciqc id_ci qcidP latfo rm=lz a,lxq,lml,dw,fx m,sq,xwwc iqcid_sysP latfo rm=lz a,lxq,lml,dw,fx m,sq,xwwc iqcid_en=w fciq cid_d esign=cyc iqcid_img=lq#设置对根(即SVN)目录下,所有版本库的访问权限#* =表示其他的没有任何权限[/]@ci qcid= rw#lza= rw* = [/c iqcid Platf orm]@ciq cid_c iqcid Platf orm = rw* =[/sy sPlat form]#未授权用户没有任何权限@ci qcid_sysPl atfor m = r w* =[/sysP latfo rm/We bRoot/WEB-INF/p ub] #@ciq cid_c iqcid Platf orm = rw#lza = rw#* = [/c iqcid.en]#未授权用户没有任何权限@ciq cid_e n = r w@ci qcid= rw* =#=======================分组配置结束======================= pas swd----------------------------------------------------------### Thi s fil e isan ex ample pass wordfilefor s vnser ve.### It s for mat i s sim ilarto th at of svns erve.conf. As s hownin th e### exam ple b elowit co ntain s one sect ion l abell ed [u sers].### Thenameand p asswo rd fo r eac h use r fol low,one a ccoun t per line. [u sers]# ha rry = harr yssec ret# sall y = s allys secre tlza=lzasq=sqtdw=tdwl ml=lm l0000=0000lzy=lzywd=wdtlw=tlwl jf=lj fflx=flxzjy=z jyjh=jhs j=sjwqc=w qclt=lth jd=hj dpln=plnzhl=z hlzt=ztl l=lldl=dljnz=jnzz dd=zd dhx=hxwy=wyx ww=xw wfxm=fxmzgh=z ghsk=skl cl=lc lyl=ylsh ejun=sheju nlxy=lxydw=dwlml=lmlz zd=zz dfhj=fhjxf=xfzy=z ylq=lqym y=ymy zzd=zzd h ch=hc h njf=njfjlz=j lzcy=cy#shejilq=l qwj=wj。
VisualSVN Server的配置和使用方法VisualSVN Server是一种用于管理和配置Subversion(SVN)版本控制系统的工具,使团队成员能够协同开发和管理项目。
一、安装VisualSVN Server1. 下载VisualSVN Server安装程序,并运行安装程序。
2. 按照提示完成安装过程。
3. 在安装过程中选择安装路径和版本库存放路径。
二、配置VisualSVN Server1. 打开VisualSVN Server管理控制台。
2. 在控制台中选择“创建存储库”以创建一个新的版本库。
3. 输入版本库的名称和存储路径。
4. 按照提示完成创建版本库的过程。
三、管理用户和权限1. 在VisualSVN Server管理控制台中选择“添加用户”以创建新的用户。
2. 输入用户名和密码,并选择是否启用用户帐户。
3. 在控制台中选择“创建组”以创建新的用户组。
4. 将用户添加到相应的用户组中。
5. 在控制台中选择“设置权限”以配置用户和组的权限。
6. 为用户和组设置适当的读写权限。
四、使用VisualSVN Server1. 使用SVN客户端(如TortoiseSVN)连接到VisualSVN Server。
2. 输入服务器的URL和用户凭据。
3. 在SVN客户端中选择“检出”或“更新”以获取最新的代码。
4. 使用SVN客户端的其他功能,如提交更改、创建分支或合并代码。
5. 使用VisualSVN Server管理控制台监控版本库的使用情况。
五、常见问题解决方法1. 如果无法连接到VisualSVN Server,请检查防火墙设置和网络连接。
2. 如果无法创建版本库,请确保有足够的权限和磁盘空间。
3. 如果权限设置错误,请使用VisualSVN Server管理控制台重新配置权限。
4. 如果版本库损坏或出现冲突,请使用SVN客户端的相应功能解决问题。
结论:通过本文介绍,我们了解了VisualSVN Server的配置和使用方法。
Win7 系统搭建SVN 服务端和客户端图文使用方法1、安装好VisualSV N Server后,运行VisualSVN Server Manger,打开服务器的Visual SVN 界面:2、创建仓库(reposi tory)第一种方式:按照上图,创建新的代码库,在下图所示的文本框中输入代码名称:上图中选择“e mptyrepost ory”,则在代码库只创建空的代码库Sta rtKit,选下面的“singl e-projec t”则在代码库S t artK it下面会创建tru nk、branch es、tags三个子目录;3种仓库默认推荐权限设置(Nobody…不允许任何人访问All Subver sionusers…所有svn用户都可以Custom ize permis sions自定义权限允许,这里下面有个按钮,我们可以过会继续设置,当然你也可以在这里设置,然后点cre ate创建)这里有个Re posit ory URL这个地址就是客户端获取服务器代码的地址,你可以先记下来,也可以通过右击仓库名可以获得。
前面的WIN-TV..什么的是你计算机的名字,客户端都是服务器的ip地址就行了这就是标准的b ranc hes,tags,trunk服务器版本我们现在右击整个仓库,就是MyBl og项目,我们现在来创建一个ad min管理员,用户名adm in,密码admi n,你可以在Us ers查找到他,可直接修改密码点击“OK”创建完代码库后,没有任何内容在里面。
我会在这个教程的第二部分说明如何迁入源代码。
下面,我们开始安全性设置,在左侧的Us ers上点击右键:输入上面的信息,点击OK,我们就创建一个用户了。
SVN在Windows下的权限分配修订记录日期修订版本修改章节修改描述作者2008-10-20 1.0 匿名权限分配睢攸岚2008-11-9 2.0 用户权限分配郝阔君、乔良一、 使用说明本文档的目的是指导SVN(Subversion)初学者,可以通过使用SVN来进行版本控制和人员权限分配。
阅读完本文档你将有如下收获:¾熟悉SVN服务器端的权限分配;¾熟悉SVN客户端的版本回溯;二、 阅读前的准备本示例使用的SVN服务器版本号为[Subversion-1.4.5],使用的的客户端版本号为[TortoiseSVN 1.4.7],本示例不指导服务器端和客户端的安装,如果您想了解权限分配部分请确保您至少安装了SVN服务器端,如果您想了解版本回溯部分请确保您至少安装了SVN客户端。
下面开始正式介绍。
三、 创建SVN仓库创建一个空文件夹,取名svnroot(仓库名,自己任意取),右键文件夹选择[Create repository here…],如下图所示:单击确定后会出现如下图选择创建数据库类型对话框,选择默认的[FSFS]本地文件系统即可,单击确定提示您创建成功:下面创建一个启动服务的批处理文件,文件内容如下图所示,双击运行该批处理文件后,相应的仓库即启动服务:至此,您已经成功创建了本地SVN仓库,只要启动服务,别人就可以通过您的仓库进行相关操作。
四、 SVN的版本回溯功能首先你需要在客户端创建一个连接仓库的本地文件夹,利用Checkout下载服务器上你有权限操作的内容,然后如下图所示操作:在下图所示地方填入您要回滚得版本号,单击OK即可:五、 匿名用户权限分配首先进入你的仓库目录下面的[../conf]文件夹下面,你会看到如图所示三个文件,其中的[svnserve.conf]存储普通的配置信息,[passwd]存储所有的授权用户的用户名和密码信息,[author]存储用户权限信息。
svn安装及权限配置SVN安装及权限配置安装(svn://…访问方式的安装部署)1.安装svn-1.4.5-setup.exe2.将SVNService.exe拷贝到\Subversion\bin下,双击安装。
启动服务。
部署1.创建SVN仓库现在svn的目的位置上,创建相应文件夹,例如:E:/svnroot,然后开始→运行→cmd→输入命令:svnservice -install -d -r E:/svnroot2.启动svnservice服务3.创建项目仓库在svn仓库下创建项目的相应文件夹,例如:E:/svnroot/project1,然后开始→运行→cmd→输入命令:svnadmin create E:/svnroot/project1。
这时,在E:/svnroot/project1会出现conf、dav 等文件夹和文件。
4.有多个项目时,重复步骤3。
权限配置1.修改每个项目中的conf文件夹下的svnserve.conf文件:anon-access = noneauth-access = writepassword-db = ../../passwdauthz-db = ../../authz添加以上项目。
其中,../../passwd表示,向上两级文件夹下的passwd文件。
这样做的目的是,将所有项目的权限放在一个文件中控制。
2.设置加密和权限文件位置将其中一个文件夹下的passwd文件和authz文件拷贝到svnroot下,与每个项目的文件夹平行。
3.设置svn密码,修改passwd文件在【users】下添加用户名及密码,格式如下:用户名= 密码,例如:harry = harrysecret每个用户单独占一行,密码后不用添加任何分隔符号。
4.设置svn权限,修改authz文件:设置【groups】:按照一种规则,将所有人员分组,例如可以按照对每个项目、每个项目的不同权限进行分组,人员之间用逗号分隔,每个组单独占一行,结尾不需要任何分隔符号。
svn权限设置大多数情况下在设置SVN时会设置一个群,并社区权限从svn根目录起开始有读写的权限。
但在设置多群的情况下需要注意一下权限的问题例如:一个svn库根目录下有两个文件夹FolderA和FolderB。
设置两个群GroupA和GroupB,GroupA从根目录起有读写的权限(对FolderA 和FolderB有读写权限),GroupB只对FolderB有只读权限。
设置如下1.创建指定用户在passwd文件中创建指定用户Properties代码1.[users]er1=user1er2=user2er3=user3er4=user4[users]user1=user1user2=user2user3=user3user4=user42.创建群在authz文件中创建群找到[groups]标签在下放创建GroupA和GroupB两个群,并将用户添加到群中Properties代码1.[groups]2.GroupA=user1,user23.GroupB=user3,user4[groups]GroupA=user1,user2GroupB=user3,user43.设置群的权限在authz文件中设置权限语法格式:Properties代码1.[<目录>]2.@<群名称>=<权限字母>[<目录>]@<群名称>=<权限字母>设置GroupA权限Properties代码1.[/]2.@GroupA=rw[/]@GroupA=rw“[/]”的意思是可看到的范围,从svn库的根目录下任何文件夹以及其内的文件都可以访问“@GroupA=rw”的意思是GroupA群对根目录下全部文件夹和文件拥有读写的全,“r”代表读,“w”代表写设置GroupB权限Properties代码1.[/FolderB]2.@GroupB=r[/FolderB]@GroupB=r此处就不多解释了4.其他设置此时还不能算真正结束设置,在用svn客户端访问某个文件的历史记录时会出现以下信息:svn:Item is not readable这会导致无法查看文件的历史记录,此时需要去svnserve.conf文件中修改一下。
SVNSERVE 连接设置
1.建立仓库
1、在本地新建用于测试的空目录MySVNTest
2、建立欲生成仓库的空文件夹MySVNRepository
3、空白处右键,选择如图命令菜单
选择默认的仓库文件格式,确定
提示仓库建立成功
返回资源管理器中,发现新建仓库后系统自动生成一系列文件,其中conf文件夹是用来存放服务端访问权限配置文件的目录。
2.进行权限设置
进入conf目录中,该目录中有3个配置文件,分别是svnserve.conf、authz和passwd
2.1.修改svnserve.conf
如图,去掉红色区域前面的注释符号#,代表启用相关的文件
2.2.修改passwd文件
增加访问该仓库的用户和设置其密码
2.3.修改authz文件
设置用户组和组访问权限
3.启动服务
用图中的命令启动SVNSERVE服务
4.创建项目结构
创建空的目录结构作为以后SVN中仓库中项目的目录结构
将该目录结构导入到仓库中
选择仓库所在URL
SVN:// +地址+仓库名称
输入上面设置的用户名和密码
操作成功
在仓库中查看项目导入情况
显示当前仓库中项目存储结构
5.创建本地工作拷贝
建立本地工作目录,将仓库中的项目导出到本地工作目录
同样选择仓库的URL
操作成功
仓库中的项目结构被完整的导出到本地工作目录中了
6.增加文件
在本地工作目录中为主干文件夹中添加文件
提交添加的文件
显示可提交文件列表
确定后要求输入有访问权限的用户名和密码
操作成功
文件版本自动发生变化。
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等优质合作伙伴资料库的目录结构如下:ref 项目名称├─department 存放每个部门资料│ ├─hardware 硬件资料目录│ ├─embedded 嵌入式资料目录│ └─PC PC软件资料目录├─com 研发部均可读的公共资料└─temp 临时文件人员情况与权限需求分析:Stonelu,公司副总,研发中心最大的“官”,毫无疑问当然需要访问所有的目录了,虽然可能他不太有时间查看那些个资料,但是权限还是得给人家设在那的嘛,谁叫人家是老大呢。
VisualSVN server使用配置说明一、VisualSVN server的配置简介VisualSVN Server适用于你的团队在Windows平台上使用,可以用来安装、配置和管理Subversion Server,其中包括了Subversion和一个管理控制台。
你可以使用Subversion client 连接到VisualSVN Server ,也可以用浏览器来快速浏览内容. 而且它可以帮助你将Subversion整合进Visual Studio.其官网下载地址:/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来创建,当创建一个新的版本库时,VisualSVN Server可以自动地创建默认的版本库结构(如:trunk、branches、tags文件夹)在创建之后,你需要设置版本库的访问权限,使版本库可以通过web浏览器(网址在下图右上部的灰色工具栏获取)或者各种Subversion客户端访问(访问方式参考各客户端的使用方法)。
3.3 创建用户选中Users,选择Create User右键菜单命令。
svnserve参数SVN(Subversion)是一个开源的版本控制系统,用于管理和追踪文件和目录的变化。
svnserve是SVN的服务端程序,它允许用户通过网络访问和操作版本库。
svnserve提供了一系列的参数,用于配置和控制其行为。
本文将详细介绍svnserve的参数及其用法。
1. svnserve的启动和基本用法svnserve是svn的一个独立的服务端程序,可以通过命令行启动。
以下是svnserve的基本用法:svnserve [选项] [版本库根目录]其中,选项包括:•-d:以守护进程方式运行svnserve,即后台运行。
•-i:以独立模式运行svnserve,即不依赖inetd或xinetd。
•-r:指定版本库根目录。
例如,要以守护进程方式运行svnserve,并指定版本库根目录为/var/svn/repos,可以使用以下命令:svnserve -d -r /var/svn/repos2. svnserve的配置文件svnserve的配置文件是一个纯文本文件,用于配置svnserve的行为。
默认情况下,配置文件位于版本库根目录下的conf目录中,文件名为svnserve.conf。
可以通过编辑该文件来修改svnserve的参数。
以下是一个典型的svnserve配置文件的示例:[general]anon-access = readauth-access = writepassword-db = passwdrealm = My First Repository配置文件的内容包含了一个general节和一些参数。
其中,anon-access参数指定了匿名用户的访问权限,可选值为none(禁止匿名访问)、read(只读访问)和write(读写访问)。
auth-access参数指定了认证用户的访问权限,可选值同样为none、read和write。
password-db参数指定了用户认证信息的存储位置,这里指定了一个名为passwd的文件。
SVN权限配置详解SVN权限详细配置本章将详细介绍SVN权限配置涉及的两个配置⽂件, svnserve.conf 和 authz.conf,通过对配置逐⾏的描述,来阐明其中的⼀些细节含义。
除此之外的其他配置、安装等内容,不是本⽂重点,读者若有什么疑问,请参考后⾯“参考⽂献”中列出的⼀些⽂档。
这⾥⾸先要注意⼀点,任何配置⽂件的有效配置⾏,都 **不允许存在前置空格** ,否则程序可能会出错,给你⼀个 ``Option expected``的提⽰。
也就是说,如果你直接从本⽂的纯⽂本格式中拷贝了相关的配置⾏过去,需要⼿动将前置的4个空格全部删除。
当然了,如果你觉得⼀下⼦要删除好多⾏的同样数⽬的前置空格是⼀件苦差使,那么也许 UltraEdit 的“Column Mode”编辑模式,可以给你很⼤帮助。
1、svnserve.conf``SVN\conf\svnserve.conf`` ⽂件,是 svnserve.exe 这个服务器进程的配置⽂件,我们逐⾏解释如下。
⾸先,我们告诉 svnserve.exe,⽤户名与密码放在passwd.conf ⽂件下。
当然,你可以改成任意的有效⽂件名,⽐如默认的就是 passwd::password-db = passwd.conf接下来这两⾏的意思,是说只允许经过验证的⽤户,⽅可访问代码库。
那么哪些是“经过验证的”⽤户呢?噢,当然,就是前⾯说那些在passwd.conf ⽂件⾥⾯持有⽤户名密码的家伙。
这两⾏的等号后⾯,⽬前只允许read write none 三种值,你如果想实现⼀些特殊的值,⽐如说“read-once”之类的,建议你⾃⼰动⼿改源代码,反正它也是⾃由软件::anon-access = noneauth-access = write接下来就是最关键的⼀句呢,它告诉 svnserve.exe,项⽬⽬录访问权限的相关配置是放在 authz.conf ⽂件⾥::authz-db = authz.conf当然,svn 1.3.2 引⼊本功能的时候,系统默认使⽤ authz ⽽不是 authz.conf 作为配置⽂件。
centOs6.5 SVN服务器搭建搭建后根据权限需求不同可以设定不同目录的访问权限。
第一步,安装SVN1.yum install subversion第二步,创建SVN版本库的目录1.mkdir -p /var/svn/svntest第三步,创建版本库1.svnadmin create /var/svn/svntest执行完上面命令后会生成如下文件,说明版本库创建成功:第四步,进入conf目录配置该版本库的文件:authz文件是权限控制文件passwd是帐号密码文件svnserve.conf SVN服务配置文件第五步,配置passwd,语法:用户名= 密码,我的配置如下:1.[users]2.czj = mmt.20153.xhb = xu85686827第六步,配置authz用户权限文件,rw是有读写权限,w只有读权限:1.[groups]2.admin_group = czjer_group = xhb4.5.[/userfile]6.@user_group = rw7.@admin|_group = rw8.[/adminfile]9.@admin_group = rw第七步,配置svnserve.conf文件,基本上一进去就看到都是被注释掉的,所以要打开下面几个注释:anon-access = read #匿名用户可读auth-access = write #授权用户可写password-db = passwd #使用哪个文件作为账号文件authz-db = authz #使用哪个文件作为权限文件realm = /var/svn/svntest # 认证空间名,版本库所在目录第八步,启动SVN版本库,大功告成:1.启动SVN svnserve -d -r /var/svn/svntest2.关闭SVN ps aux | grep -i svnkill 2603最后你可以在电脑上做测试了,建立一个对应的adminfile文件夹,Checkout一下你配置的版本库,输入你刚刚配置的admin_group对应的文件路径:这样用admin_group组对应的用户登陆就可以访问adminfile目录建立一个对应的userfile文件夹,Checkout一下你配置的版本库,输入你刚刚配置的user_group对应的文件路径:这样用user_group组对应的用户登陆就可以访问userfile目录,同时authz文件设置了admin_group组对userfile目录也有访问权限,所以admin_group对应的组员亦可访问此目录。
权限文件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格式。
VisualSVN server使用配置说明一、VisualSVN server的配置简介VisualSVN Server适用于你的团队在Windows平台上使用,可以用来安装、配置和管理Subversion Server,其中包括了Subversion和一个管理控制台。
你可以使用Subversion client 连接到VisualSVN Server ,也可以用浏览器来快速浏览内容. 而且它可以帮助你将Subversion整合进Visual Studio.其官网下载地址:/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来创建,当创建一个新的版本库时,VisualSVN Server可以自动地创建默认的版本库结构(如:trunk、branches、tags文件夹)在创建之后,你需要设置版本库的访问权限,使版本库可以通过web浏览器(网址在下图右上部的灰色工具栏获取)或者各种Subversion客户端访问(访问方式参考各客户端的使用方法)。
3.3 创建用户选中Users,选择Create User右键菜单命令。
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等优质合作伙伴资料库的目录结构如下:ref 项目名称├─department 存放每个部门资料│ ├─hardware 硬件资料目录│ ├─embedded 嵌入式资料目录│ └─PC PC软件资料目录├─com 研发部均可读的公共资料└─temp 临时文件人员情况与权限需求分析:Stonelu,公司副总,研发中心最大的“官”,毫无疑问当然需要访问所有的目录了,虽然可能他不太有时间查看那些个资料,但是权限还是得给人家设在那的嘛,谁叫人家是老大呢。
Nancy,项目经理,研发中心的第二把交椅,访问所有目录,查看项目进度也是理所当然的,对整个资料库具有读写权限。
wxz,硬件部经理,需要对硬件部目录有读写权限。
Ly,硬件部职员,对硬件部资料可读写。
wwt,嵌入式经理,对嵌入式可读写。
tjy,嵌入式员工,对嵌入式资料可读写。
azm,PC部经理,对PC资料库可读写。
ljp,PC部员工,对PC部可读写。
Com文件夹下的文件,nancy可读写,其余员工可读。
Temp文件夹下的文件,全体员工可读写。
二建立版本库在服务器D盘目录下(也可在本机,并且盘符可自由选择),新建svn文件夹,再在svn下新建ref文件夹。
(文件夹名称可自行设定)然后,创建版本库:第一种方式:在DOS命令行中运行svnadmin create D:\svn\ref第二种方式:鼠标右键单击ref,选择[TotoiseSVN]->[在此创建版本库...]进行创建,默认“本地文件系统(FSFS)”,点击确定,完成创建。
三配置权限编辑版本库D:\svn\ref\conf\svnserve.conf文件,如下:[general]anon-access = none #保证只有认证用户可以访问,即关闭匿名访问auth-access = write #通过认证的使用权限password-db = passwd #指定了用户密码文件authz-db = authz #指定了授权文件realm = ref #客户端凭证缓存编辑版本库D:\svn\ref\conf\passwd文件,如下:[users]stonelu = stonelu # ”=”前为帐号,后为密码nancy = nancywxz = wxzly = lywwt = wwttjy = tjyazm = azmljp = ljp编辑版本库D:\svn\ref\conf\authz文件,授权如下:[groups]g_vip = stonelug_manager = nancyg_hardware = wxz,lyg_embedded = wwt, tjyg_pc = azm,ljpg_common = stonelu,wxz,ly,wwt,tjy,azm,ljp[/] #根目录的权限* = #全体员工对根目录无权限@g_manager = rw #项目经理对根目录具有读写权限@g_vip = r[/ref/]@g_manager = rw@g_vip =r* =[/ref/department/hardware]@g_manager = rw@g_hardware = rw@g_vip = r* =#可加可不加,因为不显示设定权限,即表示没权限[/ref/department/embedded]@g_manager = rw@g_embedded = rw@g_vip = r[/ref/department/pc]@g_manager = rw@g_pc = rw@g_vip = r[/ref/com]@g_manager = rw@g_common = r[/ref/temp]@g_manager = rw@g_common = rw附:1. #号表示注释。
以上每个文件夹权限设置中对每个组与用户的权限设置顺序可调换,如:根目录的设置也可以写成:[/]@g_manager = rw@g_vip = r* =2.文件夹权限具有向后继承,但不具有向前效应。
简言之就是权限具备继承性,任何子目录,均可继承其父目录的所有权限,除非它自己已被明确设置了其他的权限。
如本例:为g_manager设置了根目录“[/]”的读写权限,则根目录下的文件g_manager均具有读写权限。
但是在该目录的下一级目录,如:“[/ref/]”为其他用户设置了权限,把默认访问权限设为了可读,(在根目录,默认是不可访问)必须也加上g_manager = rw,否则g_manager在“[/ref/]”中跟其他用户一样也是可读权限。
3. 我们发现wwt这个帐号同时存在“g_embedded”和“g_common”两个分组里面,这是因为 svnserve.exe 允许我们这样设置。
4. [/ref/] 表示这个目录结构的相对根节点,或者说是ref资料库的根目录。
设置权限时“@”表示组名,设置的是整个组的权限,如果该组只有一个用户,则可将“@组名”替换为“用户名”如:你可以将“@g_manager = rw”替换为“nancy = rw”。
5. 如果设置了可读写权限,则在稍后的操作中,我们可以从版本库更新我们的工作拷贝,也可以提交修改;如果设置了可读权限,则只有更新工作拷贝,不能提交修改,如果您提交了,将会得到“Access deny”警告,也就是禁止提交修改。
6. 如果一个目录下有多库,则文件夹目录写法有点不一样。
如本例中的[/ref/],应该改写为[ref:/]。
但是要是您也是像本例这样只想创建单库单项目的话,则按上面的操作即可。
7.如果像本例这样的单库单项目也照网络上大多数的文章那样,把目录写成[ref:/],则会造成严重的权限问题。
主要的问题有:1. 如果根目录没设可读权限,则对所有文件都没可读权限.2. 而如果对根目录设置了可读权限,则对根目录下的所有文件都具有了可读权限。
这样就造成了普通员工的权限只有两种可能:要不对所有文件都没有权限;(这肯定不是我们要的)要不就对整个项目库具有可读权限。
(造成严重的安全漏洞,毕竟某些关键内容,我们并不希望太多人看到)本人在设置权限时就因这个问题而浪费了很多时间,伤透了脑筋。
四导入项目版本库在本机D:\temp目录下,建立好上述资料库的目录结构,鼠标右键单击temp,选择[TotoiseSVN]->导入,如下图所示:弹出对话框:1. 版本库在本机上安装,并且假设你电脑的IP地址为:192.168.0.125(当然这个是我在公司的IP地址),则在“版本库URL:”中输入“svn://localhost/ref”或“svn://192.168.0.125/ref”等效。
2. 版本库在服务器上安装:假设服务器的IP地址为:192.168.1.2,则在地址栏中输入:svn://192.168.1.2/ref 。
在“最新信息”里,可依您的兴趣填写,你可写您喜欢的女孩的名字,如果刚好是您心情郁闷时,也可写”F”开头的英文词。
当然如果是直接拿来版本控制,则最好填写”import”之类比较切合实际的词组或语句。
如下图:此时你可以打开IE或文件夹,在地址栏中输入下面的任意一个:①svn://192.168.0.125/ref②svn://127.0.0.1/ref ③svn://localhost/ref 此时你可以打开IE或资源管理器的地址栏,甚至运行中输入上述三种方式之一,即可打开如下对话框:输入用户名和密码,可勾上“保存认证”,免去每次输密码的麻烦,得到如下对话框:上图是对ref目录有权限的用户显示出来的结果,如果您对ref目录没有可读权限,则结果不一样。
如:您输入的用户是ljp,则显示如下:说明ljp对ref没有可读权限。
当然了,ljp用户对ref/department/pc下的文件是有权限的,我们可在上图的URL中的ref后面加上/department/pc,或者关闭上图,在地址栏中输入:svn://127.0.0.1/ref/department/pc再输入密码,显示如下:我们可在“pc”点右键,选择“创建文件夹”,输入文件名“test”,可以看到test文件夹已添加到pc下面。
刚好也验证了我们设置的权限是正确的。
Ljp能对pc下的文件进行读写操作。
五启动svnserve打开“开始->运行”输入“cmd”,打开命令行窗口,输入:svnserve –d –r D:\svn\ref,即可启动svnserve。
注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。
这样每次开机都得手动启动服务。
“那有没有更好的办法呢?”(好白痴的问题)。
如果想省去每次开机都得自己手动启动svnserve的麻烦,我们可以把它设为系统服务。
六将svnserve设置为系统服务1,安装svnservice在Windows NT中(包括Windows XP, Windows 2000, Windows 2003 Server)本身包含了一个安装服务的工具,叫做"Service Control",也就是sc.exe。