欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 计算机应用 > Linux SVN服务器权限精确控制的实现

Linux SVN服务器权限精确控制的实现

日期:2023-01-24 阅读量:0 所属栏目:计算机应用


摘 要:为了实现文档及源代码等的有效存储与管理,本文选取目前流行的Subversion(简称SVN)对存储资源进行版本控制。本SVN服务器借助Apache的运行方式在Linux平台下架设,并实现了对SVN库权限的精确控制。

关键词:Subversion;版本控制;SVN权限控制
简介
  Subversion,简称SVN,是一个开放源代码的版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上越来越多的控制服务从CVS转移到Subversion。Subversion项目最初由CollabNet于2000年发起,并于2010年1月,正式成为Apache软件基金会的一个顶级项目。
  Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作,从而大大提高团队开发的效率。
2.架设apache web服务器
(1) 准备好安装源码目录:
  Apache web服务器的最新版本可以在下载得到。这里选用最新的稳定源码包版本2.2.19版。下载完后使用以下命令解压得到Apache源码目录:
  tar jxvf 2
(2) 配置Apache:
进入解压后的源码目录,并执行以下命令配置Apache web服务器:
  ./configure --prefix=/opt/apache2 --enable-mods-shared=all --enable-dav --enable-dav-fs --enable-so
  配置的参数解释如下:
  --prefix是指定安装到哪个目录,这里把apache安装到/opt/apache2目录下。
  --enable-mods-shared=all是指定编译用共享模块的方式编译apache,启用所有的动态共享模块。
  --enable-dav和--enable-dav-fs是SVN需要的参数,为把apache和SVN配合起来工作,必须加上这两个参数。启用webdav协议处理,启用DAV文件系统提供者。
  --enable-so是启用动态共享库。
(3) make  编译Apache web服务器
(4) make install  安装Apache web服务器
(5) 启动Apache web服务器
  用如下命令启动Apache服务器:
  /opt/apache2/bin/apachectl start
  如果一切正常,在客户端通过网页浏览器即可成功访问此Apache服务器。
3.架设Subversion服务器
(1) 准备好安装源码目录:
  Subversion服务器的最新版本可以在download/下载得到。这里选用最新的稳定源码包版本1.6.17版。下载完后使用以下命令解压得到Subversion的源码目录:
  tar jxvf 2
  解压之后,会在当前目录生成Sbversion的源码包subversion-1.6.17文件夹。
(2) 配置Subversion:
进入解压后的源码目录,并执行以下命令配置Subversion服务器:
  ./configure --prefix=/opt/subversion --with-apxs=/opt/apache2/bin/apxs
  --with-apr=/opt/apache2/ --with-apr-util=/opt/apache2
  配置的参数解释如下:
  --prefix是指定安装到哪个目录,这里把Subversion安装到/opt/subversion目录下。
  --with-apxs让SVN和apache结合,作为apache服务器的一个模块。
  --with-apr和--with-apr-util  是指定apr和apr-util所在的目录,这里APR和APR-UTIL是被安装在/opt/apache2目录下。
(3) make  编译SVN服务器
(4) make install  安装SVN服务器
  成功安装svn后会在/ 中自动加上以下两句:
  LoadModule dav_svn_module
  LoadModule authz_svn_module
  这样,启动apache web服务器时,svn服务会以apache模块的方式一起启动。
(5) 配置SVN服务器
  在/文件末尾加入如下location段:

DAV svn
SVNParentPath /data/svn  ---------------------SVN库的存放路径
SVNListParentPath on  ---------------------------允许查看SVN库目录列表
AuthType Basic    -------------------------------------采用基本认证类型
AuthName ""BHBH tory""-----------登录窗口的提示信息
AuthzSVNAccessFile /  ---------------指定权限配置文件
AuthUserFile /data/svn/authfile  ----------------------指定用户认证文件
Require valid-user  ------------------------------------强制使用身份验证

RedirectMatch ^(/svn)$ $1/------------------------------使url的/svn转义成/svn/
(6) 创建SVN库
  依照上面配置文件中的设定,先用如下命令创建SVN服务器存放数据库的文件夹:
  mkdir -p /data/svn
  再用以下命令创建3个库分别用于硬件组(HW)、软件组(SW)、测试组(TEST)三个部门存储数据。
  svnadmin create --fs-type fsfs /data/svn/HW
  svnadmin create --fs-type fsfs /data/svn/SW
  svnadmin create --fs-type fsfs /data/svn/TEST
  注意库目录的权限设置,要确保每个库目录下的db子目录的所有文件可读写。下面是以HW库为例的设置方法,其余库类似。
  chmod -R 777 /data/svn/HW/db
(7) 添加SVN用户
  以下命令可以添加一个可访问svn服务器的用户,如硬件组的一个员工hw1,并把此用户的信息存储到/data/svn/authfile认证文件中:
  htpasswd -c /data/svn/authfile hw1
  按提示设置好hw1的svn服务器访问密码后,若要再添加其它用户,如添加硬件组的另一个员工hw2,可用下面的命令:
  cd /data/svn
  htpasswd authfile hw2
  添加其他用户方法同上。这里设定添加了软件组的sw1和sw2,测试组的test1和test2四位员工,并添加了两位公司经理admin1和admin2,下面详述对各个用户访问SVN服务器的权限的精确控制方法。
4. SVN服务器访问权限的精确控制
  通过设置访问控制文件/可以实现各个用户访问SVN服务器的权限的精确控制。
  编辑/文件内容如下:

* =
@test = rw
@admin = r
  用户访问SVN服务器某个库时,SVN服务器会按此权限配置文件里相应库逐行验证用户的权限。通常第一行*= 先把所有用户的权限 取消,避免权限设定的混乱。然后SVN服务器会继续检查后面是否有设定此用户的权限。若有,则按后面的设定赋予此用户具体的权限。
  以上设置中,先在groups里设置好用户所属分组。比如上面把hw1和hw2两个用户设置为hw组,然后通过@hw就可以设定这两个用户的权限。@hw=rw表示hw1和hw2用户对SVN的HW库有读写权限。而通常公司经理只是对项目进度和质量进行审查,一般不参与项目的研发。为严格实现权限控制,避免误操作,这里通过@admin=r给公司经理设定了只读权限。
  这样,就能实现每个研发部门的研发成员对本组的SVN库目录有读写权限,而不能随意访问其他组的资源。另外,公司经理对所有组的资源都有只读权限,方便审查项目的进展和质量。
参考文献:
[1] (美)皮拉拖,(美)苏斯曼,(美)费泽帕特里克著.使用subversion进行版本控制(影印版)[M].北京:开明出版社.2009:14-17.
[2] (美)梅森(Mason,M.)著,陶文 译.版本控制之道:使用Subversion(第2版)[M].北京:电子工业出版社[M].2007:50-52.
[3] 徐德民.操作系统原理Linux篇[M].北京:国防工业出版社,2004:18-20.
[4] 顾鹏,刘立刚,谢长生.数据存储系统备份技术研究与分析[J].计算机安全,2003,(6):32-35.
[5] 张韫福,陈曙晖,赵振宇.Linux网络应用技术[M].长沙:国防科学技术大学,1999:44-45.",##隔### 本文链接:http://www.qk112.com/lwfw/jsjlw/jisuanjiyingyong/243021.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学