SVN搭建与权限配置文库.docx
- 文档编号:4061683
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:17
- 大小:19.94KB
SVN搭建与权限配置文库.docx
《SVN搭建与权限配置文库.docx》由会员分享,可在线阅读,更多相关《SVN搭建与权限配置文库.docx(17页珍藏版)》请在冰点文库上搜索。
SVN搭建与权限配置文库
SVN搭建与权限配置文库.txt﹃根网线''尽赚了多少人的青春い有时候感动的就是身边微不足道的小事。
﹎破碎不是最残酷的最残酷的是踩着这些碎片却假装不疼痛固执的寻找﹎将来就算我遇见再怎么完美的人,都有一个缺点,他不是你,_____下辈子要做男生,娶一个像我这样的女生。
SVN版本管理工具笔记:
一.配置笔记:
①:
安装文件:
服务器软件:
VisualSVN-Server-2.1.1.msi
客户端软件:
TortoiseSVN-1.6.7.18415-win32-svn-1.6.9.msi
二.工具随笔:
①:
Subversion是一个梦幻般的锤子,但要小心不要把任何问题当作钉子。
②:
Subversion有一个基本原则就是一个“推”动作不会导致“拉”,反之亦然,因为你准备好了提交你的修改并不意味着你已经准备好了从其他人那里接受修改。
如果你的新的修改还在进行,svnupdate将会优雅的合并版本库的修改到你的工作副本,而不会强迫将修改发布。
这个规则的主要副作用就是,工作副本需要
记录额外的信息来追踪混合修订版本,并且也需要能容忍这种混合,当目录本身也是版本化的时候情况更加复杂。
③:
三.本地目录笔记:
①:
D:
\SVN_SERVER_FODLER\SVN本地服务目录
②:
四.创建版本库命令行记录:
①:
svnadmincreateD:
\SVN_SERVER_FODLER创建档案库
②:
D:
\SVN_SERVER_FODLER\conf目录下设置权限
D:
\SVN_SERVER_FODLER\conf\svnserve.conf设置存取权限
D:
\SVN_SERVER_FODLER\conf\passwd设置用户及密码
D:
\SVN_SERVER_FODLER\conf\authz设置用户组及用户对应的目录权限
③:
启动SVNService
svnserve-d-rD:
\SVN_SERVER_FODLER
在windows下注册SubVersion为系统服务(windowsservice):
sccreateSubversionbinPath="C:
\ProgramFiles\Subversion\bin\svnserve.exe--service-rD:
\SVN_SERVER_FODLER"DisplayName="SubversionRichardY"start=autodepend=TCPIP
group权限设定:
我们会在目录结构中找到一个叫做conf的文件夹,打开这个文件夹,你会看到三个文件,分别叫做authz,passwd,svnserve.conf。
下面我们就来介绍一下这三个文件的作用格式什么。
首先,我们介绍passwd这个文件。
用你习惯的文本编辑器打开这个文件,你会看到一些使用“#”注释掉的说明,其中关键的就是在[users]下面,有
#harry=harryssecret
#sally=sallyssecret
样的样板代码,意思就是有两个用户,其中一个的用户名叫“harry”,密码为“harryssecret”,而另一个用户名为“sally”,密码为“sallyssecret”。
我们接下来为我们的测试下面添加一些用户,这样方便我们下面的说明。
比如,我要添加三个用户,一个叫做“nicholas”,密码为“nicholas”,第二个用户名为“friend”,密码为“friend”,第三个为“stranger”,密码为“strangers”。
代码如下:
nicholas=nicholas
friend=friend
stranger=stranger
这样,我们就添加好了三个认证用户。
###Thisfileisanexamplepasswordfileforsvnserve.
###Itsformatissimilartothatofsvnserve.conf.Asshowninthe
###examplebelowitcontainsonesectionlabelled[users].
###Thenameandpasswordforeachuserfollow,oneaccountperline.
[users]
#harry=harryssecret
#sally=sallyssecret
nicholas=nicholas
friend=friend
stranger=stranger
下面,我们来介绍authz这个文件,这个文件是控制权限的关键。
同样打开这个文件,你会看到一些注释掉的语句,
#[groups]
#[/foo/bar]
#[repository:
/baz/fuz]
下面,我们介绍一下用户组的概念。
所谓用户组,顾名思义,就是一个成员组,一般情况下,在同一个成员组的人员享有同样的权力,比如读,写权。
Subversion为我们提供了一个很好的用户组应用。
在之前,我们一共建立三个用户,nicholas,friend和stranger,我们现在设想一下我们的组情况,假设我们希望nicholas和friend在开发组中,这两个用户具有读和写的权力,而用户stranger在测试组中,只具备读的权力。
那么我们该如何来控制这个权限呢?
看看下面的代码:
我们先在[groups]标记下面,输入组的名称:
dev_group=nicholas,friend
test_group=stranger
到目前为止,我们已经为三个用户分好了用户组,其中nicholas和friend在dev_group中,而stranger则在test_group中。
下面,我们为两个组来分配权限。
首先我们要为这两个组所能访问的工程做一个规定,正如在之前的文章《Eclipse中使用Subversion进行版本控制》中,曾经向版本参考提交了一个名为“TestSVNProj”的项目,下面我就假设刚刚建立的两个用户组都需要最这个工程进行操作。
我们在authz文件中,写下[TestSVNProj],这个是指定我们下面将对TestSVNProj项目进行定义。
我们使用如下代码:
@dev_group=rw
@test_group=r
这就定义了,对TestSVNProj项目,dev_group用户组可以进行读,写操作,而test_group用户组则只具备读的权限。
为了阻止其他用户组对这个文件有读的权力,我们可以再添加一句:
*=
这个语句就是指定其他的用户组的权力为空,也就是没有权力。
###Thisfileisanexampleauthorizationfileforsvnserve.
###Itsformatisidenticaltothatofmod_authz_svnauthorization
###files.
###Asshownbeloweachsectiondefinesauthorizationsforthepathand
###(optional)repositoryspecifiedbythesectionname.
###Theauthorizationsfollow.Anauthorizationlinecanrefertoa
###singleuser,toagroupofusersdefinedinaspecial[groups]
###section,ortoanyoneusingthe'*'wildcard.Eachdefinitioncan
###grantread('r')access,read-write('rw')access,ornoaccess
###('').
[groups]
#harry_and_sally=harry,sally
dev_group=nicholas,friend
test_group=stranger
#[/foo/bar]
#harry=rw
#*=
#[repository:
/baz/fuz]
#@harry_and_sally=rw
#*=r
[/TestSVNProj]
@dev_group=rw
@test_group=r
*=
最后,我们在来说说这个svnserve.conf文件,打开这个文件,我们就可以看出这个是Subversion权限配置的主文件,类似于读取相关信息的枢纽。
为了让我们刚刚配置的两个文件(passwd和authz)起作用,我们需要去掉password-db=passwd和authz-db=authz前面的注释符“#”,让Subversion知道要从上面两个文件中读取相关信息。
当然,你也可以指定其他的认证文件,写法如下:
password-db=..\..\passwd
authz-db=..\..\authz
以此类推。
在实战过程中,处于安全的考虑,我们往往要限制对匿名用户的访问权限,所以我们可以将anon-access=read前面的“#”去掉,并将read参数修改为none,表明禁止匿名用户对版本控制库的访问。
###Thisfilecontrolstheconfigurationofthesvnservedaemon,ifyou
###useittoallowaccesstothisrepository.(Ifyouonlyallow
###accessthroughhttp:
and/orfile:
URLs,thenthisfileis
###irrelevant.)
###Visithttp:
//subversion.tigris.org/formoreinformation.
[general]
###Theseoptionscontrolaccesstotherepositoryforunauthenticated
###andauthenticatedusers.Validvaluesare"write","read",
###and"none".Thesamplesettingsbelowarethedefaults.
anon-access=none
#auth-access=write
###Thepassword-dboptioncontrolsthelocationofthepassword
###databasefile.Unlessyouspecifyapathstartingwitha/,
###thefile'slocationisrelativetotheconfdirectory.
###Uncommentthelinebelowtousethedefaultpasswordfile.
password-db=passwd
###Theauthz-dboptioncontrolsthelocationoftheauthorization
###rulesforpath-basedaccesscontrol.Unlessyouspecifyapath
###startingwitha/,thefile'slocationisrelativetotheconf
###directory.Ifyoudon'tspecifyanauthz-db,nopath-basedaccess
###controlisdone.
###Uncommentthelinebelowtousethedefaultauthorizationfile.
authz-db=authz
###Thisoptionspecifiestheauthenticationrealmoftherepository.
###Iftworepositorieshavethesameauthenticationrealm,theyshould
###havethesamepassworddatabase,andviceversa.Thedefaultrealm
###isrepository'suuid.
#realm=MyFirstRepository
至此,你可以控制你的项目,对其进行访问权限的控制了。
下面是我写的所有关于Subversion的文章,希望对大家有用,文章是按照内容的先后难度顺序排列,方便大家参考。
Subversion记忆手册
http:
//shjy-
Subversion详细说明
http:
//shjy-
Subclipse使用手册
http:
//shjy-
Eclipse中使用Subversion进行版本控制
http:
//shjy-
我们会在目录结构中找到一个叫做conf的文件夹,打开这个文件夹,你会看到三个文件,分别叫做authz,passwd,svnserve.conf。
下面我们就来介绍一下这三个文件的作用格式什么。
首先,我们介绍passwd这个文件。
用你习惯的文本编辑器打开这个文件,你会看到一些使用“#”注释掉的说明,其中关键的就是在[users]下面,有
#harry=harryssecret
#sally=sallyssecret
样的样板代码,意思就是有两个用户,其中一个的用户名叫“harry”,密码为“harryssecret”,而另一个用户名为“sally”,密码为“sallyssecret”。
我们接下来为我们的测试下面添加一些用户,这样方便我们下面的说明。
比如,我要添加三个用户,一个叫做“nicholas”,密码为“nicholas”,第二个用户名为“friend”,密码为“friend”,第三个为“stranger”,密码为“strangers”。
代码如下:
nicholas=nicholas
friend=friend
stranger=stranger
这样,我们就添加好了三个认证用户。
###Thisfileisanexamplepasswordfileforsvnserve.
###Itsformatissimilartothatofsvnserve.conf.Asshowninthe
###examplebelowitcontainsonesectionlabelled[users].
###Thenameandpasswordforeachuserfollow,oneaccountperline.
[users]
#harry=harryssecret
#sally=sallyssecret
nicholas=nicholas
friend=friend
stranger=stranger
下面,我们来介绍authz这个文件,这个文件是控制权限的关键。
同样打开这个文件,你会看到一些注释掉的语句,
#[groups]
#[/foo/bar]
#[repository:
/baz/fuz]
下面,我们介绍一下用户组的概念。
所谓用户组,顾名思义,就是一个成员组,一般情况下,在同一个成员组的人员享有同样的权力,比如读,写权。
Subversion为我们提供了一个很好的用户组应用。
在之前,我们一共建立三个用户,nicholas,friend和stranger,我们现在设想一下我们的组情况,假设我们希望nicholas和friend在开发组中,这两个用户具有读和写的权力,而用户stranger在测试组中,只具备读的权力。
那么我们该如何来控制这个权限呢?
看看下面的代码:
我们先在[groups]标记下面,输入组的名称:
dev_group=nicholas,friend
test_group=stranger
到目前为止,我们已经为三个用户分好了用户组,其中nicholas和friend在dev_group中,而stranger则在test_group中。
下面,我们为两个组来分配权限。
首先我们要为这两个组所能访问的工程做一个规定,正如在之前的文章《Eclipse中使用Subversion进行版本控制》中,曾经向版本参考提交了一个名为“TestSVNProj”的项目,下面我就假设刚刚建立的两个用户组都需要最这个工程进行操作。
我们在authz文件中,写下[TestSVNProj],这个是指定我们下面将对TestSVNProj项目进行定义。
我们使用如下代码:
@dev_group=rw
@test_group=r
这就定义了,对TestSVNProj项目,dev_group用户组可以进行读,写操作,而test_group用户组则只具备读的权限。
为了阻止其他用户组对这个文件有读的权力,我们可以再添加一句:
*=
这个语句就是指定其他的用户组的权力为空,也就是没有权力。
###Thisfileisanexampleauthorizationfileforsvnserve.
###Itsformatisidenticaltothatofmod_authz_svnauthorization
###files.
###Asshownbeloweachsectiondefinesauthorizationsforthepathand
###(optional)repositoryspecifiedbythesectionname.
###Theauthorizationsfollow.Anauthorizationlinecanrefertoa
###singleuser,toagroupofusersdefinedinaspecial[groups]
###section,ortoanyoneusingthe'*'wildcard.Eachdefinitioncan
###grantread('r')access,read-write('rw')access,ornoaccess
###('').
[groups]
#harry_and_sally=harry,sally
dev_group=nicholas,friend
test_group=stranger
#[/foo/bar]
#harry=rw
#*=
#[repository:
/baz/fuz]
#@harry_and_sally=rw
#*=r
[/TestSVNProj]
@dev_group=rw
@test_group=r
*=
最后,我们在来说说这个svnserve.conf文件,打开这个文件,我们就可以看出这个是Subversion权限配置的主文件,类似于读取相关信息的枢纽。
为了让我们刚刚配置的两个文件(passwd和authz)起作用,我们需要去掉password-db=passwd和authz-db=authz前面的注释符“#”,让Subversion知道要从上面两个文件中读取相关信息。
当然,你也可以指定其他的认证文件,写法如下:
password-db=..\..\passwd
authz-db=..\..\authz
以此类推。
在实战过程中,处于安全的考虑,我们往往要限制对匿名用户的访问权限,所以我们可以将anon-access=read前面的“#”去掉,并将read参数修改为none,表明禁止匿名用户对版本控制库的访问。
###Thisfilecontrolstheconfigurationofthesvnservedaemon,ifyou
###useittoallowaccesstothisrepository.(Ifyouonlyallow
###accessthroughhttp:
and/orfile:
URLs,thenthisfileis
###irrelevant.)
###Visithttp:
//subversion.tigris.org/formoreinformation.
[general]
###Theseoptionscontrolaccesstotherepositoryforunauthenticated
###andauthenticatedusers.Validvaluesare"write","read",
###and"none".Thesamplesettingsbelowarethedefaults.
anon-access=none
#auth-access=write
###Thepassword-dboptioncontrolsthelocationofthepassword
###databasefile.Unlessyouspecifyapathstartingwitha/,
###thefile'slocationisrelativetotheconfdirectory.
###Uncommentthelinebelowtousethedefaultpasswordfile.
password-db=passwd
###Theauthz-dboptioncontrolsthelocationoftheauthorization
###rulesforpath-basedaccesscontrol.Unlessyouspecifyapath
###startin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SVN 搭建 权限 配置 文库
![提示](https://static.bingdoc.com/images/bang_tan.gif)