一、安装svn 

yum -y install subversion

2.安装完成后创建仓库

  svnadmin create  /xx科技

 cd  /xx科技   ,到仓库目可以看到下面的配置文件

 

 cd /conf 目录

编辑svnserve.conf主配置文件,对以下几项修改如下

[general]

anon-access = none    #取消匿名访问

auth-access = write    #授权用户有可写权限

password-db = passwd    #指定用户配置文件,后面会用到

authz-db = authz    #指定权限配置文件,后面会用到

编辑passwd文件,建立svn客户端用户以及密码:
[users] yangfen = 951340 yangzi = 567452 caoweitao = 273621 chenfei = 169673
编辑authz,配置用户组和权限:

组:
[groups] 总经办 = yangzi 市场运营部 = yangfen IT开发部 = caoweitao,chenfei
权限:
[xx科技:/] @总经办 = rw [xx科技:/总经办] @总经办 = rw * = [xx科技:/市场运营部] @总经办 = rw @市场运营部 =
rw * = [xx科技:/IT中心] @总经办 = rw @IT开发部 = rw @IT产品部 = rw @IT数据部 = rw * =
[xx科技:/IT中心/IT开发部] @总经办 = rw @IT开发部 = rw * =
  对于多级目录的分析:
[xx科技:/IT中心/IT开发部] @总经办 = rw @IT开发部 = rw * =
    这里最后一行的 ``* =`` 表示,除了指定组总经办、IT开发部的人员之外,任何人都被禁止访问本目录。这一行是否可以省略呢?不行,因为
**权限具备继承性** ,子目录会自动拥有父目录的权限。若没有这一行,则拥有"IT中心"目录读取权限的人都可以读取 "/IT中心/IT开发部"
目录下的文件。假如我们并没有设置这个目录的父目录权限,可是默认的规则使得 "IT中心" 目录的权限与根目录完全一样。所以简单来说, ``* =``
这一句的目的,就是割断权限继承性,使得管理员可以定制某个目录及其子目录的权限,从而完全避开其父目录权限设置的影响。

  在前面的描述中,我们都采用 ``[repos:/some/dir]`` 这样的格式来表示项目的某个目录,比如 ``[xx科技:/总经办]``
。而实际上,Subversion允许你采用 ```[/some/dir]`` 这样的格式,即不指定代码库的方式来表示目录,此时的目录就匹配所有项目。

   对于使用 svnserve 的用户来说,只有当 svnserve 运行的时候使用了 ``-r`` 参数,并且让多个代码库共享同一个目录权限文件(即
authz.conf 或
authz)时,不指明代码库名称才有可能惹麻烦。一般情况下,我们对每个代码库都会独立使用配置文件,毕竟每个项目的目录结构,都有很大不同,混在一起意义不大。因此一般来说,为简洁起见,都可以不指明代码库名称。本文全都指明了代码库名称,主要是为了将来扩展成同一个配置文件,以方便配合
Apache 服务器。
   对于使用 Apache 的用户来说,它们二者可有着很大的不同,因为此时往往习惯于使用一个公共的目录权限配置文件。如果你使用了
SVNParentPath 指令,则指定版本库的名字是很重要的,因为假若你使用后者,那么 ``[/some/dir]``
部分就会与所有代码库项目的``[/some/dir]`` 目录匹配。如果你使用 SVNPath 指令,则这两种表示方式就没有什么区别了,毕竟只有一个版本库。

3.父目录的 ``r`` 权限,对子目录 ``w`` 权限的影响
   
在1.3.1及其以前的版本里面,有个bug,即某个帐号为了对某个子目录具备写权限,则必须对其父目录具备读权限。因此现在使用了1.3.2及其更高的版本,就方便了那些想在一个代码库存放多个相互独立的项目的管理员,来分配权限了。比如说央舜公司建立一个大的代码库用于存放所有员工日志,叫做
diary,而SVN事业部只是其中一个部门,则可以这样做::
[diary:/]
@g_chief_manager = rw

[diary:/SVN]
@g_SVN_manager = rw
@g_SVN = r

这样,对于所有SVN事业部的人员来说,就可以将svn://192.168.0.1/diary/SVN
这个URL当作根目录来进行日常操作,而完全不管它其实只是一个子目录,并且当有少数好奇心比较强的人想试着 checkout 一下
svn://192.168.0.1/diary 的时候,马上就会得到一个警告“Access denied”。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信