`
energykey
  • 浏览: 598153 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Linux下的CVS权限配置

阅读更多
虽然SVN现在已经是主流,但CVS仍然是很多公司的选择,由于考虑到移植可能会产生的风险,最终我们还是决定继续使用CVS,而随着人员的增多,权限的细粒度管理就更加重要。一下文章摘自互联网,经过本人的验证,基本可以操作。  

    CVS是一个很成熟的版本控制系统,它是开源世界的杰作,并且已经成为开源组织使用的标准版本控制系统,在几乎所有的开源项目中得到应用。
    也正是由于CVS产生和应用于开源世界,使得它在代码的访问控制方面存在先天性的不足,在应用于大中型的商业项目的代码管理中收到一定的限制。因为这类型的项目通常都需要比较细致的分工,不同的小组分别负责不同模块的开发,代码需要比较严格的访问控制,不同的开发人员只能访问授权的代码。
    幸运的是,CVS是一个开源的软件,我们有什么需要的话可以通过修改它的源代码来实现。CVSACL就是实现访问控制的CVS补丁。它本身也是一个开源的项目,项目主页是http://cvsacl.sourceforge.net/index.html 。它提供了对CVS的模块,目录和文件以及分支和tag的高级访问控制。CVSACL定义了8级不同的访问权限,分别是:
权限 关键字 说明
没有权限 n 用户不能做任何cvs操作
读权限 r 可以执行annotate, checkout, diff, export, log, rannotate, rdiff, rlog, status命令
写权限 w 可以执行commit/checkin命令
tag t 可以执行tag/rtag命令,依赖读权限
创建 c 可以执行add import 命令
删除 d 可以执行rm命令
全部权限 a 可以执行所有cvs命令处理cvsacl管理命令
管理权限 p 可以执行所有命令
1.  下载CVSACL:
通过如下网址可以下载到CVSACL相关程序,目前最新版本是cvsacl-1.2.5:
https://sourceforge.net/project/showfiles.php?group_id=75057&package_id=77484&release_id=423655
cvsacl-1.2.5-for-cvs-1.11.22.tar.gz
cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz(已经打好补丁的安装包)
2.  安装CVSACL:
安装方法:cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz
[root@localhost setup_cvs]# tar -zxvf cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz
//解压缩cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz
[root@localhost setup_cvs]# mv cvs-1.11.22-cvsacl-1.2.5-patched cvs-1.11.22
//修改cvs-1.11.22-cvsacl-1.2.5-patched目录名称为 cvs-1.11.22
[root@localhost setup_cvs]# cd cvs-1.11.22    //进入cvs-1.11.22
[root@localhost cvs-1.11.22]# ./configure    //编译安装
[root@localhost cvs-1.11.22]# make
[root@localhost cvs-1.11.22]# make install
[root@localhost setup_cvs]# cvs –version    //查看cvs版本
Concurrent Versions System (CVS) 1.11.22 (client/server)
with CVSACL Patch 1.2.5 (cvsacl.sourceforge.net)
注:不需要特意删除旧版本的CVS。
3.  CVS服务器的配置:
(1) 修改配置文件:
[root@localhost /]# vi /etc/services
查看是否有:
cvspserver 2401/tcp #CVS client/server operations
cvspserver 2401/udp #CVS client/server operations
注:系统自带了CVS时,这2行也已经有了,只需要确认一下。如果没有,请自己加上去。
(2) 创建CVS启动脚本:
[root@localhost /]# vi /etc/xinetd.d/cvspserver
内容如下:
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_success += USERID
log_on_failure += USERID
}
注:其中,server指定CVS可执行文件路径,默认安装就是/usr/bin/cvs,server_args指定源代码库路径及认证方式等,例子中把源代码存放在cvsroot的主目录中,也可以另外指定路径,但必须注意权限设置,pserver是密码认证方式,这种方式的安全性要差一些,但操作起来比较简单。请注意每行等号左右都有一个空格,否则无法启动服务。
(3) 重新启动xinetd服务:
[root@localhost /]# service xinetd restart
查看是否启动:[root@localhost /]# netstat -l | grep cvspserver
屏幕显示:tcp 0 0 *:cvspserver *:* LISTEN
说明已经正常启动,如果没有请做如下检查:
<1>请检查vi /etc/xinetd.d/cvspserver文件中的server = /usr/bin/cvs路径和实际执行文件所在位置是否一致;(一般这步骤即可解决该问题)
<2>请重新检查配置过程是否有错误或者遗漏;
<3>最后还必须检查防火墙的设置,把2401端口打开。
4.  CVSACL权限设置:
(1) 创建用于CVS的专用系统组和用户:
[root@localhost /]# groupadd cvsroot
[root@localhost /]# useradd –g cvsroot cvsadmin
(2) 初始化cvs服务器环境:
[root@localhost /]# cvs -d /cvstest init
(3) 设置CVS配置库归属及权限:
[root@localhost /]# chown –R cvsadmin.cvsroot /cvstest
[root@localhost /]# chmod –R 770 /cvsroot
(4) 修改CVSROOT/CVSROOT/aclconfig配置文件:
[root@localhost /]# vi /cvstest/CVSROOT/aclconfig
UseSystemGroups=yes 行首添加“#”,表示注释掉。
UseCVSGroup=yes 去除行首的“#”,表示启用此句。
(5) 创建CVS用户及组:
[root@localhost /]# cd /cvstest/CVSROOT
[root@localhost /]# htpasswd –c passwd yueyx
[root@localhost /]# vi passwd
yueyx:*******:cvsadmin
将passwd文件中的所有cvs用户映射到同一个系统用户cvsadmin上。
[root@localhost /]# vi group
文件格式:
group1:x:1:yueyx,test1
用户之间用 “,”分割。
注:cvsacl有个bug,必须在组用户最前边添加一个不存在的cvs用户,group文件才会生效。原因不明,但此方法确实管用。
(6) 使用cvsacl细化权限:
[root@localhost /]# cvs -d /cvstest racl yueyx:wcd –R Project/doc
说明:/cvstest:配置库路径 yueyx:用户 wcd:参见本文“CVSACL定义了8级不同的访问权限”表格。 Project :配置库中的Module(模块),doc:Module(模块)下的目录

格式:cvs –d 配置库位置 racl [用户||组:权限] [-Rl] [-r tag] [模块…] [文件…]
- R 进行目录递归
- r rev 设定版本/标签
- l列出已定义的ACLs权限
分享到:
评论

相关推荐

    linux下CVS的配置与安装

    Linux 下 CVS 的配置与安装 安装 CVS 在 Linux 系统中,安装 CVS 服务器端非常重要。首先,需要确认系统是否已经安装了 CVS。如果没有安装,可以使用以下命令安装: ``` # yum install cvs ``` 配置 CVS 服务器 ...

    linux下cvs安装配置全过程

    Linux 下 CVS 安装配置全过程 CVS(Concurrent Version System)是一种版本管理系统,广泛应用于多人团队开发中。它的基本工作思路是:在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序。由仓库...

    linux下的cvs

    本文详细介绍了在Linux环境下如何配置和使用CVS,包括安装、配置CVS用户和组、设置文件权限、初始化CVS仓库、配置CVS服务器以及从客户端连接使用CVS等关键步骤。通过遵循这些步骤,可以确保CVS系统在Linux环境下稳定...

    Linux下CVS服务器配置

    总结起来,配置Linux下的CVS服务器涉及到下载源代码,编译安装,配置服务启动方式,创建Repository,设置权限,以及调整相关配置文件。这个过程虽然有些复杂,但是一旦完成,就能为团队提供一个可靠的版本控制基础...

    linux安装cvs操作手册

    - 本文详细介绍了如何在Linux环境下安装和配置CVS的过程,包括检查现有安装、创建用户和用户组、设置目录权限、配置CVS服务以及设置用户权限等关键步骤。 - 通过这些步骤,可以有效地在Linux环境中搭建起一个功能...

    linux下cvs配置说明

    ### Linux 下 CVS 配置详解 #### 一、概述 本文档主要介绍如何在 Linux 系统中配置 CVS (Concurrent Versions System) 版本控制系统。CVS 是一种广泛使用的开源版本控制系统,适用于团队协作开发环境。通过合理的...

    linux下cvs维护说明

    【Linux下CVS维护说明】 Linux下的CVS(Concurrent ...综上所述,Linux下的CVS维护是一个涉及系统配置、权限管理、数据安全和故障排除等多个层面的过程。理解这些知识点对于有效地管理和保护你的源代码仓库至关重要。

    linux下教你如何配置CVS服务器

    本文将详细介绍如何在Linux环境下配置CVS服务器,包括搭建环境、用户管理、权限设置以及服务启动等步骤。 #### 一、搭建CVS服务器基础环境 1. **建立CVS用户组** - 使用命令`groupadd cvs`来创建名为“cvs”的...

    Linux系统下CVS配置库的安装配置

    在Linux系统,特别是Red Hat 9.0环境下,配置CVS(Concurrent Versions System)配置库是一项关键的任务,用于版本控制和团队协作。CVS 2.0.4是这个过程中涉及的版本。以下是详细步骤: 1. **检查CVS是否已安装**:...

    Linux与Windows CVS服务器配置与使用

    【知识点详解】 ...在Linux(尤其是Redhat Linux)上配置CVS服务器涉及安装、配置服务、设置认证方式、管理用户权限以及初始化仓库等一系列步骤。理解这些步骤对于有效地管理和控制项目代码至关重要。

    Linux下CVS服务器的配置[汇编].pdf

    本文将详细讲解如何在Linux环境下配置CVS服务器。 首先,我们需要检查CVS是否已经安装在系统中。这可以通过运行`rpm -q cvs`命令来完成。如果系统显示CVS的版本信息,表明已经安装;如果没有,你需要从CVS官方网站...

    CVS手册(搭建/配置/权限)

    - 在Linux环境下可以通过包管理器如`apt-get`或`yum`安装CVS。 - 在Windows环境下可通过第三方软件如`Cygwin`安装CVS。 2. **初始化仓库**: - 使用命令`cvs -d /path/to/repository init`初始化一个新的仓库。 ...

    wincvs和linux下cvs使用的文档

    此外,它可能还会讲解如何设置CVS权限,以及解决可能出现的故障和问题。 4. **wincvsday.pdf**:这个名字暗示这可能是一份关于“WinCVS一天”的快速入门指南,旨在帮助新用户在短时间内熟悉WinCVS的主要功能和工作...

    Redhat linux enterprise 5 cvs安装配置

    4. 配置CVS权限: 编辑`/var/cvsroot/CVSROOT/config`文件,根据需求配置访问控制。例如,可以设置匿名访问: ``` anoncvs = yes anoncvsreadonly = yes ``` 五、启动和管理CVS服务 1. 配置CVS服务: 创建`/...

    CVS 安装 配置

    安装WinCVS后,你可以通过图形界面进行CVS的配置和操作,而无需在命令行下输入命令。 总的来说,CVS安装配置涉及多个环节,包括服务器和客户端的设置、项目管理和版本控制等。了解并熟练掌握这些步骤和知识点,将有...

    linux服务器端和windows客户端cvs.rar

    下面将详细介绍如何在Linux服务器上设置CVS服务器,并在Windows客户端上安装并配置CVS客户端。 一、Linux服务器端CVS服务器的安装与配置 1. **安装CVS服务端** 在Linux系统中,通常使用包管理器来安装CVS。例如,...

    cvs中文配置说明(包括windows,linux)

    在Windows和Linux环境下配置CVS支持中文可能会遇到一些挑战,因为CVS默认不支持非ASCII字符,如中文。以下将详细解释如何在两个操作系统上进行中文配置。 ## Windows下的CVS中文配置 1. **安装CVS**: 首先,你需要...

    Suse Linux 10.3配置cvs服务

    ### Suse Linux 10.3 配置 CVS 服务 #### 一、概述 CVS(Concurrent Versions System)是一种版本控制系统,主要用于管理软件项目的源代码版本控制。本文将详细介绍如何在 Suse Linux 10.3 上配置并设置 CVS 服务...

    Linux 下配置 CVS服务器CentOS(CentOS 5.2)

    ### Linux下配置CVS服务器(CentOS 5.2) #### 测试环境 - **操作系统**: CentOS 5.2 - **Tomcat版本**: apache-tomcat-5.5.23 #### 步骤一:安装必要的组件 在CentOS 5.2环境下配置CVS服务器的第一步是确保必要...

    Windows环境下CVS的配置教程(mnt格式)

    本教程专注于在Windows环境下配置CVS,以实现与Linux服务器的协同工作。 首先,我们需要了解CVS的基本概念。CVS通过存储每个文件的不同版本来跟踪项目的演变。当开发团队成员进行修改时,CVS会记录这些更改,并允许...

Global site tag (gtag.js) - Google Analytics