名师讲解 SVN项目和用户权限配置

开发 项目管理
本文和大家一起学习一下SVN项目和用户权限配置,主要从五个方面来介绍,希望通过本文的学习大家对SVN项目有所了解,对SVN用户权限配置能够掌握。

本节和大家讨论一下SVN项目和用户权限配置指南,我们在学习SVN 的过程中难免会遇到SVN项目和用户权限配置问题,这里和大家分享一下,欢迎大家一起来学习SVN项目及用户权限配置。

SVN项目和用户权限配置指南:
一、SVN的两种使用方式:
1、Apache站点方式;
2、本地命令行方式。
当然,我们也可以通过客户端来进行访问,但那也必须先建立上述两种访问接口。
二、Apache方式的配置
第一种方式我们需要安装Apache服务器程序,同时需要安装两个模块:
mod_dav_svn以及mod_authz_svn
他们可以在Subversion的站点上找到,请在附录中查找链接。
将所有需要的模块安装之后,我们必须编辑Apache的配置文档,让其将我们要用的模块装载。一般来说,Apache的配置文件是httpd.conf。位置一般在Apache安装目录下的conf子目录中。而模块我们一般放在modules子目录中。我们在配置文件httpd.conf中加入:
LoadModuledav_svn_modulemodules/mod_dav_svn.so
LoadModuleauthz_svn_modulemodules/mod_authz_svn.so这样,Apache就可以访问Subversion的仓库了。
三、Apache方式中项目的发布
首先还是要先建立SVN项目,例如:
svnadmincreate/home/svn/projectA之后,在httpd.conf文件中加入:
<Location/projectA>
DAVsvn
SVNPath/home/svn/projectA
</Location>
如果是想建立多个SVN项目的话,可以使用另一种写法:
<Location/svn>
DAVsvn
SVNParentPath/home/svn
</Location>
这样,凡是在/home/svn目录下的子目录,Apache都交给SubversionDAV去处理。用户即可以通过浏览器或者URL访问Subversion管理的项目了。
四、Apache方式下的权限管理
我们来看一下SVN项目和用户权限配置中Apache方式下的权限管理。首先,我们来创建一个用户robert。
由于是第一次创建用户,我们必须同时创建一个用户口令文件:htpasswd-cauthfilerobert这时,会提示输入用户密码以及确认用户密码。htpasswd程序会将用户密码进行散列运算后保存在authfile中。创建第二个用户时,我们就不必输入-c开关了。
htpasswdauthfileharry
如果想要删除某个用户,我们可以使用下列指令:
htpasswd-Dauthfileharry
这样,harry就被从authfile中删除了。这时,Subversion的权限管理问题就转化为了Apache的权限管理问题了。我们将前述的目录配置做一下修改:
 

  1. <Location/projectA> 
  2. DAVsvn  
  3. SVNPath/home/svn/projectA  
  4. AuthTypeBasic  
  5. AuthName"SubversionprojectA"  
  6. AuthUserFile/home/svn/projectA/authfile  
  7. Requirevalid-user  
  8. </Location> 


这样,对projectA访问就必须提供authfile中记录的用户和正确密码才可以进行了。
五、Apache方式下的分组管理
有时,我们希望能够将多个开发人员编为一组,使用组的方式来为SVN项目设定权限。比如projectA项目只有属于groupA的成员才可以存取。下面我们来介绍其配置方法。
这里,我们就要用到mod_authz_svn提供的功能了。我们对httpd.conf中的目录配置再做一次修改:
 

  1. <Location/projectA> 
  2. DAVsvn  
  3. SVNParentPath/home/svn/  
  4. AuthzSVNAccessFile/home/svn/authz.conf  
  5. AuthTypeBasic  
  6. AuthName"SubversionprojectA"  
  7. AuthUserFile/home/svn/projectA/authfile  
  8. Requirevalid-user  
  9. </Location> 

大家可以注意到,这里使用了另一个配置文件:authz.conf他的大致结构如下:
 

  1. [groups]  
  2. everyone=robert,tommy,songjy,zhengyong,orcus,zhangq  
  3. groupA=robert,zhangq  
  4. groupB=orcus,tommy  
  5. [projectA:/]  
  6. @groupA=rw 
  7. @everyone=r  
  8. [projectB:/]  
  9. @everyone=r  
  10. @groupB=rw 

Ok,我想大家应该已经明白了基于组和项目的管理方法了。:)。本节介绍SVN项目和用户权限配置完毕。
 

【编辑推荐】

  1. SVN项目---目录布局详解
  2. 名师推荐 SVN使用说明指导
  3. 常用SVN目录结构简明介绍
  4. SVN配置文档新手指南
  5. 常用SVN目录结构使用的两大方法详解
责任编辑:佚名
相关推荐

2010-05-31 19:17:38

2010-05-28 14:36:24

2010-05-27 15:53:35

SVN属性设置

2010-06-01 17:03:59

SVN用户

2013-11-21 09:10:27

MongoDB

2010-05-20 17:06:48

SVN CO

2010-05-31 16:29:22

SVN权限配置

2017-10-26 12:26:45

云计算SaaS平台管理

2011-03-25 10:43:31

Oracle系统用户权限赋予

2010-06-01 09:18:46

SVN创建项目

2010-05-19 15:45:23

Apache+SVN权

2010-05-25 10:24:42

设置SVN权限

2010-05-27 13:48:30

SVN使用说明

2010-06-01 11:02:16

SVN合并

2010-05-27 09:17:48

SVN冲突

2010-05-31 16:42:42

SVN权限配置

2010-05-24 19:42:54

SVN权限配置

2010-05-31 17:07:25

SVN权限配置手册

2010-05-25 14:28:22

删除SVN

2010-06-01 16:27:21

SVN插件报错
点赞
收藏

51CTO技术栈公众号