当前位置: 首页 » 产品 » 微商货源 » 正文

Linux系统中SVN安装、权限管理

放大字体  缩小字体 发布日期: 2024-11-27 23:45   来源:http://www.baidu.com/  作者:无忧资讯  浏览次数:18
核心提示:  SVN服务器有2种运行方式:独立服务器和借助apache运行。  svnserve和apache相比是轻量级的,也比较简单,svnserve包含在su

  SVN服务器有2种运行方式:独立服务器和借助apache运行。

  svnserve和apache相比是轻量级的,也比较简单,svnserve包含在subversion里面,所以只要安装了subversion就相当于安装了一个小型的svn服务器。它使用自己的一套协议通信。例如访问apache时使用 前缀,而svnserve使用 svn:// 前缀.

  这里介绍的是通过独立服务器方式运行,优点是简单小巧。如果是支持较大规模的开发,还是推荐使用apache服务器方式;这里使用svnserver安装;

  1.首先为SVN单独创建一个用户,这样可以使用操作系统的安全特性;

  2.将svnadmin这个用户加入到sudu组;

  3.安装:

  sudo apt-get install subversion

  4.创建测试目录:

  mkdir /home/svnadmin/test

  5.创建版本库:

  svnadmin create /home/svnadmin/test

  4. 导入项目

  例如现在有个工程,名称为examPro,

  位置/alidata/www/examPro , 将这个工程导入到本地仓库中。

  svn import /alidata/www/examPro file:///home/svnadmin/examPro -m "import examPro"

  在上一个例子里,将会拷贝目录examPro到版本库中;

  这样这个工程就在纳入服务器的本地仓库管理。

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

  $ svn checkout file:///home/svnadmin/examPro

  在这个拷贝里,我们一般不做修改,而是用来同步更新;当开发机器上有任何修改,更新到SVN服务器上时,能同步更新到A目录;这样,就能保证A目录下的代码是整个工程的最新代码,而使用A目录搭建的WEB测试环境,就是最新的WEB测试环境;

  5.启动SVN服务

  $ svnserve -d -r /home/svnadmin/examPro

  描述说明:

  -d 表示svnserver以“守护”进程模式运行

  -r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库。

  6.停止svn服务:

  killall svnserve //停止svnserve服务

  SVN权限管理

  1.SVN版本库目录说明

  db:存放具体数据;

  hooks:钩子程序存放地,比如我们要实现同步更新的操作,在这里实现;

  conf:配置文件存放地

  下面具体说说conf目录;

  conf目录下有三个文件:

  svnserve.conf、authz、以及passwd;

  2.SVN服务配置文件:svnserve.conf

  查看该文件,首先是匿名用户的权限配置:

  anon-access=none

  auth-access=write

  表示:对于匿名用户,无访问权限;

  对于授权用户,有写权限;

  接下来的一段用于配置使用哪种授权登录方式;

  可选的有password-db ,就是用户名和密码都是明文存放在同级目录下的passwd文件中;优点是高效配置简单,缺点是安全性弱,明文总不是那么让人感觉可靠;

  另一种是authz-db,这种方式的用户密码使用了sasl加密,安全上有保证;

  选择这种方式的设置,将password-db 注释掉:

  # password-db=passwd

  authz-db=authz

  #指定授权所属的域,C++的同志可将其理解为名字空间;

  realm=examPro

  接下来是[sasl]段,用于标识是否进行SASL加密处理;

  use-sasl=true

  min-encryption=128

  max-encryption=256

  变量 min-encryption 和 max-encryption 控制服务器所需要的加密强度。

  3. 详细权限配置文件authz:

  这个就是授权数据库,用于配置指定目录对用户的访问权限;

  首先是指定一个用户组,按组来分配权限总是方便的,即使目前你的团队一个组只有一个人。在新加入成员的时候,你就能体会到按组分配权限的便利性了;

  [groups]

  g_fronter=cuicc,gdii

  g_vip=coo

  g_doc=yhh

  [examPro:/]

  @g_vip=rw

  @g_fronter=r

  @g_doc=r

  [examPro:/protected/modules]

  @g_vip=rw

  @g_fronter=

  *=

  [examPro:/protected]

  @g_doc=

  对于以上代码的配置的详细说明,可以参考本文的参考文章[1]SVN权限配置,里面介绍的比较详细,这里就不多说,有疑问的请留言或mail;

  SVN使用SASL加密

  1.配置svnserve.conf,注释掉password-db=passwd

  并启用sqsl:use-sasl=true

  2.新建一个svn.conf文件,一般放在/usr/lib/sasl2或者/etc/sasl2,内容为:

  pwcheck_method: auxprop

  auxprop_plugin: sasldb

  sasldb_path: /home/svnadmin/config/sasldb

  mech_list: DIGEST-MD5

  其中sasldb_path 指定你打算将sasl加密的数据库放置的位置;

 
 
[ 产品搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 

 
推荐图文
推荐产品
点击排行
    行业协会  备案信息  可信网站