`

CVS服务器配置

    博客分类:
  • CVS
阅读更多
CVSNT 配置

CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。

先说下CVSNT的用户验证方式,CVSNT的用户验证方式分两种:Windows系统用户与CVSNT用户共存的混合验证方式,及CVSNT用户 单一验证方式,默认工作在混合验证方式下,当然使用单一验证方式对用户的管理肯定比较方便一点,因此下面的配置就是围绕该方式进行的。各个资源库所使用的 验证方式及用户配置由其目录下CVSROOT里的配置文件决定,其中有几个比较重要的文件: config、checkoutlist、admin、group、passwd等。其中,config,checkoutlist企CVSROOT原本有,admin, group文件要自己添加。

本人所用CVSNT版本為:2.5.03(Scorpio)Build 2382

了解了以上内容,下面我说一下我自己的配置步骤,我没有使用WinCVS进行操作,是直接使用命令行进行修改的,觉得这样思路比较清晰:

1、创建仓库:D:/cvs_server/cvstest,仓库名为:/cvs_server

2、进入命令提示符,因为此时为混合验证模式,直接用系统的administrator用户登陆。

命令:
        set cvsroot=:pserver:administrator@localhost:/cvstest
        cvs login
        //输入密码

3、添加CVSNT系统管理员用户,此时会提示设置用户密码:
      cvs passwd –r administrator –a cvsadmin
Adding user cvsadmin@localhost
New Password:(此输入密码)
Verify Password:(再次输入密码)

4、由于对于权限的配置都放在CVSROOT下,所以首先要检出服务器上的CVSROOT目录:
(此时还是以administrator用户操作,建议在本地盘上创建一个文件夹,用来存从CVS服务器上checkout文件,本人创建名为:D:/cvs_local)
cd cvs_local
cvs checkout CVSROOT

5、添加admin文件,首先将CVSROOT检出,在CVSROOT下新建admin(無後綴)文件,每
一行一个用户名,内容为:
cvsadmin

执行命令:
cd CVSROOT
cvs add admin
cvs ci

6、修改checkoutlist文件,在该文件末尾添加一行,内容为:
    [空格]admin
    注意:admin前的空格不能少。
    执行命令:
     cvs ci 

7、修改CVSROOT访问权限:
     cd CVSROOT
     cvs chown cvsadmin //更改所有者为cvsadmin
      cvs chacl –a none //設置目錄的存取权限为none
     cvs chacl –u cvsadmin –a read,write,control //添加cvsadmin ,或    cvs chacl –u cvsadmin –a all
     cvs commit


8、添加writers文件,控制仓库的write权限。在writers文件中加入要赋予write权限的用户。

    writers文件内容如下:
     [空格]cvsadmin
     [空格]XXXX

     注意:前面的空格不能少。

    执行命令:
    cvs checkout CVSROOT
   cd CVSROOT
    cvs add writers
   cvs ci

(注:如果用户a没有存在于writers文件中,则对cvs模块均没有写权限)


9、修改config文件,按上面的方法首先要從倉庫上check out出來,然後修改文件,修改后再

commit:

config文件是控制CVSNT的验证工作方式,注意该文件最前面的两行:
      #Set this to `no" if pserver shouldn"t check system users/passwords
      #SystemAuth=yes

        第二行就是我们要修改的内容,默认状态是被注释掉的,SystemAuth有两个值yes和no:yes:pserver将使用Windows系统用户和CVSNT用户来共同验证(若CVSNT用户未定义,用Windows系统用户来进行验证),默认为yes,CVSNT用户在后面将要介绍的passwd文   件中定义。
no:只使用CVSNT用户来进行验证。

        该文件可以在客户端进行修改,因此我们可以将其checkout出来将第二行改为SystemAuth=no,并commit到CVSNT上就可以启用单一验证方式了,注意启用单一验证方式后原来的Windows系统用户将变为无效,因此要注意执行该步骤的时机。

命令:

    cvs checkout CVSROOT

   cd CVSROOT

    // 此时修改config文件

   cvs ci


10、此时单一验证方式已经启用了,也就是只能使用刚才添加的cvsadmin进行登录,此时可以

把CVSNT控制面板上的Use local users for pserver authentication instead of domain users关掉。(登录前还要改一下系统变量CVSROOT,关闭命令提示符窗口,修改CVSROOT为:

:pserver:cvsadmin@localhost:4021/CVSNT/Repository   ->此处可以不设置) (注:Repository

改为自己创建的仓库)


11、如果为了避免出现错误,先重启一下CVSNT服务器,因为已经启用单一验证方式,先要

进行登录。

命令:

Set cvsroot=:pserver:cvsadmin@localhost:/cvstest

cvs login

//提示输入密码

12、经过以上步骤,可以说用户配置已经基本完成了,CVSNT可以很好的工作在单一验证方式

下。进一步的管理可使用以下命令:
添加用户:

cvs –d D:/cvsproject/csbs passwd -a username //可能会提示添加别名的提示,可不用理会

或用:

set cvsroot=:pserver:localhost:/cvstest

cvs passwd –a username

提示输入密码:…

提示再次输入密码:….


要修改用户权限前前建议先查看一下当前的用户权限,然后再修改权限:

命令:

cvs lsacl //可查询当前的用户权限。


修改项目所对应用户的权限:

命令如下:

cvs chacl –u username –a r|w|c|n   projectname(r:Read w:write c:control n:none)


cvs chacl [-R] [-r branch] [-u user] [-j branch] [-n] [-p priority] [-m message] [-a [no]{read|write|create|tag|control|all|none}[,...]] [-d] [file or directory...]



cvs rchacl [-R] [-r branch] [-u user] [-j branch] [-n] [-p priority] [-m message] [-a [no]{read|write|create|tag|control|all|none}[,...]] [-d] [file or directory...]


例: cvs chacl -R -a read,write -u user1

现在分别对这几个参数做一下说明:

read 读权限,write 写权限,create 创建目录的权限,tag 创建tag权限,control 控制权限,

all 所有权限,none 没有任何权限


需要说明的是,read|write|create|tag|control 之间没有权力大小之分。

对于create 只有创建目录的权限,如果目录下面有文件,你必须还要有write权限才行。

对于control 如果某用户对某目录有control权限,那么这个用户可以使用cvs chacl命令更改这个目录的权限。

对于all 如果某个用户对某个目录有all权限,那么这个用户将拥有所有权限。

对于tag 不需要有wirte权限也可以tag,但应该给其read权限。


cvs chacl -u g2 -a read,nowrite HelloWorld.java


上述命令赋予g2群组当前目录下HelloWorld.java文档的读权限,拒绝其写权限。


cvs chacl -R -u cvsuser2 -d .

上述命令取消cvsuser2 用户对当前目录对应的服务器目录的所有权限。

需要说明的是:CVS不仅可以对目录做权限控制,还能对文件做权限控制。


注意:这里是一个CVSNT 2.5.03 build 2382 bug

        当进入被cvs checkout出来的项目客户端文件夹时,并且这时你并不是使用checkout所使用的帐户登录的,cvs会自动使你变更成为checkout时所使用的帐户。

危害描述:

        可以借此漏洞夺得他人帐号控制权,甚至最高管理员权限。

解决方法:

在使用时请勿在他人的计算机上使用自己的帐号checkout项目,尤其是管理员帐号。


总结:每次执行一个用户的权限更新都会累加或者覆盖(操作同一用户的时候)其以前的所有的权限的配置。


13、如果要对包含子目录也要同样的操作刚要加参数-R(-r不行)
命令:

cvs chacl -R -a none


14、删除用户username             

[命令]

cvs passwd -X username(X为大写)


15、添加组管理(group),只需同添加admin步骤一样,按照格式要求新建group文件即可。

group文件定义CVSNT中组信息,同组里的用户拥有一样的权限,对组权限的修改和对用户权限的修改一样。[此文件也不在CVSNT里,要自己添加]
group文件的内容为:

csbsWeb:user1 user2 user3

csbsCRM:user4 user5 user6

csbsOPTS:user7,user8,user9

注:user1, user2 and user3 企同一個組,該組為 “csbsWeb”,而user4, user5 ,user6企“csbsCRM”組中.
可以看到该文件的内容也很简单,格式:组名:用户名1,用戶名2…

多个用户名之间用空格隔开。
Group文件可以在客户端修改,不用修改checkoutlist这个文件,系统会自动使其生效。
作为组里面的特定成员可以赋给特定的权限。

例子:對於項目csbsOPTS權限控制。

命令:

cvs checkout csbsOPTS          // checkout 項目csbsOPTS

cvs lsacl csbsOPTS                    // 查看項目的所受權限控制

cvs chacl –a none csbsOPTS          // 設置default為none。

cvs chacl –R –u csbsOPTS –a all csbsOPTS      // 設置項目csbsOPTS為用戶組csbsOPTS所控制

cd csbsOPTS

cvs ci          // 提交

此時,只用用戶組csbsOPTS的用戶及admin用戶能對項目csbsOPTS控制操作。
分享到:
评论

相关推荐

    CVS服务器配置文档及用户使用说明

    《CVS服务器配置与使用详解》 CVS(Concurrent Versions System)是一种广泛使用的版本控制系统,它允许多个开发者在同一个项目中协作,通过集中式的版本管理,确保代码的同步和一致性。CVS服务器的配置对于团队...

    FreeBSD 8.1下CVS服务器配置步骤与须知.docx

    以下是对CVS服务器配置的详细步骤和注意事项: 首先,确保系统是64位的FreeBSD 8.1,并且已经完成了基本的系统优化和配置。为了配置CVS服务器,首先需要通过Ports来安装Apache HTTP Server(apache22),因为稍后...

    windows下cvs服务器安装配置(详)

    #### 三、CVS 服务器配置步骤 ##### 3.1 配置CVSNT 1. **通过控制面板配置**:点击“开始”-“控制面板”-“CVSNT Server”。 2. **通过程序快捷方式配置**:点击“开始”-“所有程序”-“CVSNT”-“CVSNT Control ...

    cvs服务器配置(内置说明)

    本文将深入探讨如何配置CVS服务器,以便团队成员能够有效地管理和协同开发项目。 首先,让我们了解CVS的基本概念。CVS允许开发者在不同的计算机上工作,同时保持代码的一致性和历史记录。它跟踪每个文件的更改,...

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

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

    Linux下CVS服务器配置

    Linux下的CVS(Concurrent Versions System)服务器配置是一项关键任务,尤其对于软件开发团队而言,它提供了一种有效的版本控制和协作环境。CVS是一种开放源码的版本控制系统,允许用户跟踪代码更改历史,合并不同...

    Linux下CVS服务器的配置

    【Linux下CVS服务器的配置】是指在Linux操作系统中设置和管理CVS(Concurrent Versions System)服务器的过程。CVS是一种版本控制系统,用于跟踪软件开发过程中文件的变更,便于团队协作。以下是详细的配置步骤: 1...

    CVS服务器与WinCVS的配置与使用

    二、CVS服务器配置 1. 安装CVS服务器:首先需要在服务器端安装CVS服务程序,如在Unix/Linux环境下通常使用CVSNT在Windows上。确保安装完成后,CVS守护进程(cvsd)能够正常启动。 2. 配置CVS仓库:创建一个目录作为...

    CVS服务器搭建及简单使用实例

    **二、CVS服务器配置** 1. **创建仓库**:在安装完成后,通过CVS Control Panel创建仓库。在Repository Configuration中添加仓库位置,例如D:\CVSROOT,并为仓库设定虚拟目录名,一般为/cvsroot。 2. **服务器设置...

    CVS服务器与WinCVS的配置与使用.pdf

    ### CVS服务器与WinCVS的配置与使用 #### 一、CVS简介与CVS服务器安装 CVS(Concurrent Versions System),即并发版本系统,是一款广泛应用的版本控制系统,受到众多开发者和系统管理员的青睐。它不仅可以用于...

    CVS 服务器与客户端配置指南.doc

    ### CVS服务器配置 #### 1.1 安装CVSNT 在Windows环境下,你需要下载并安装CVSNT,这是一个Windows版的CVS服务器。可以从官方网站(http://www.march-hare.com/cvsnt/)获取最新版本的安装包。下载完成后,选择...

    CVS服务器与客户端配置指南

    ### CVS服务器配置 1. **安装CVS服务器**: `cvsnt-2.5.03.2382.msi` 文件是CVSNT服务器的一个版本,用于Windows环境。安装过程中,你需要选择安装路径,配置端口号(默认为2401),以及设置服务器用户和权限。 2. ...

    cvs服务器和客户端图文配置详解

    **一、CVS服务器配置** 1. **安装CVS服务器**:首先,你需要在服务器上安装CVS服务端软件。这通常可以通过操作系统自带的包管理器完成,例如在Ubuntu上使用`sudo apt-get install cvs`,在CentOS上使用`yum install...

    cvs学习资料,CVS服务器搭建与配置

    本资料包主要围绕CVS服务器的搭建与配置展开,旨在帮助用户理解并掌握CVSNT和Wincvs在Windows环境下的应用。 一、CVS基本概念 CVS是一个开源的版本控制系统,它跟踪文件的修改历史,允许团队成员同时编辑同一份代码...

    Linux下CVS服务器的配置.pdf

    【Linux下CVS服务器配置详解】 CVS (Concurrent Versions System) 是一款开源的版本控制系统,常用于软件开发中管理代码版本。在Linux环境下配置CVS服务器,可以帮助团队协同开发,跟踪代码变更历史。以下是对配置...

    cvs详细配置包括服务器和客户端的详细介绍

    ### 一、CVS服务器配置 1. **安装CVS服务器软件**:在大多数Linux发行版中,可以通过包管理器(如`apt-get`或`yum`)安装CVS服务器。例如,在Ubuntu上,可以运行`sudo apt-get install cvs`。对于Windows,可下载`...

    讲解如何将CVS服务器版本库迁移到新的CVS服务器上

    1. **备份原有服务器**: 在迁移之前,务必对原有的CVS服务器进行完整的备份,包括所有的版本库文件以及相关配置信息。 2. **新服务器准备**: 确保新服务器已经安装了相同版本或更高版本的CVS服务,并且操作系统版本...

    CVS_服务器与客户端配置指南

    #### 二、CVS服务器配置流程 ##### 1. CVSNT下载与安装 - **下载地址**:`http://www.march-hare.com/cvsnt/features/cvsnt/` - **推荐下载**:直接点击`http://march-hare.com/archive/cvsnt-2.5.03.2382.msi`...

Global site tag (gtag.js) - Google Analytics