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(Concurrent Versions System)是一种广泛使用的版本控制系统,它允许多个开发者在同一个项目中协作,通过集中式的版本管理,确保代码的同步和一致性。CVS服务器的配置对于团队...
以下是对CVS服务器配置的详细步骤和注意事项: 首先,确保系统是64位的FreeBSD 8.1,并且已经完成了基本的系统优化和配置。为了配置CVS服务器,首先需要通过Ports来安装Apache HTTP Server(apache22),因为稍后...
#### 三、CVS 服务器配置步骤 ##### 3.1 配置CVSNT 1. **通过控制面板配置**:点击“开始”-“控制面板”-“CVSNT Server”。 2. **通过程序快捷方式配置**:点击“开始”-“所有程序”-“CVSNT”-“CVSNT Control ...
本文将深入探讨如何配置CVS服务器,以便团队成员能够有效地管理和协同开发项目。 首先,让我们了解CVS的基本概念。CVS允许开发者在不同的计算机上工作,同时保持代码的一致性和历史记录。它跟踪每个文件的更改,...
【知识点详解】 ...在Linux(尤其是Redhat Linux)上配置CVS服务器涉及安装、配置服务、设置认证方式、管理用户权限以及初始化仓库等一系列步骤。理解这些步骤对于有效地管理和控制项目代码至关重要。
Linux下的CVS(Concurrent Versions System)服务器配置是一项关键任务,尤其对于软件开发团队而言,它提供了一种有效的版本控制和协作环境。CVS是一种开放源码的版本控制系统,允许用户跟踪代码更改历史,合并不同...
【Linux下CVS服务器的配置】是指在Linux操作系统中设置和管理CVS(Concurrent Versions System)服务器的过程。CVS是一种版本控制系统,用于跟踪软件开发过程中文件的变更,便于团队协作。以下是详细的配置步骤: 1...
二、CVS服务器配置 1. 安装CVS服务器:首先需要在服务器端安装CVS服务程序,如在Unix/Linux环境下通常使用CVSNT在Windows上。确保安装完成后,CVS守护进程(cvsd)能够正常启动。 2. 配置CVS仓库:创建一个目录作为...
**二、CVS服务器配置** 1. **创建仓库**:在安装完成后,通过CVS Control Panel创建仓库。在Repository Configuration中添加仓库位置,例如D:\CVSROOT,并为仓库设定虚拟目录名,一般为/cvsroot。 2. **服务器设置...
### CVS服务器与WinCVS的配置与使用 #### 一、CVS简介与CVS服务器安装 CVS(Concurrent Versions System),即并发版本系统,是一款广泛应用的版本控制系统,受到众多开发者和系统管理员的青睐。它不仅可以用于...
### CVS服务器配置 #### 1.1 安装CVSNT 在Windows环境下,你需要下载并安装CVSNT,这是一个Windows版的CVS服务器。可以从官方网站(http://www.march-hare.com/cvsnt/)获取最新版本的安装包。下载完成后,选择...
### CVS服务器配置 1. **安装CVS服务器**: `cvsnt-2.5.03.2382.msi` 文件是CVSNT服务器的一个版本,用于Windows环境。安装过程中,你需要选择安装路径,配置端口号(默认为2401),以及设置服务器用户和权限。 2. ...
**一、CVS服务器配置** 1. **安装CVS服务器**:首先,你需要在服务器上安装CVS服务端软件。这通常可以通过操作系统自带的包管理器完成,例如在Ubuntu上使用`sudo apt-get install cvs`,在CentOS上使用`yum install...
本资料包主要围绕CVS服务器的搭建与配置展开,旨在帮助用户理解并掌握CVSNT和Wincvs在Windows环境下的应用。 一、CVS基本概念 CVS是一个开源的版本控制系统,它跟踪文件的修改历史,允许团队成员同时编辑同一份代码...
【Linux下CVS服务器配置详解】 CVS (Concurrent Versions System) 是一款开源的版本控制系统,常用于软件开发中管理代码版本。在Linux环境下配置CVS服务器,可以帮助团队协同开发,跟踪代码变更历史。以下是对配置...
### 一、CVS服务器配置 1. **安装CVS服务器软件**:在大多数Linux发行版中,可以通过包管理器(如`apt-get`或`yum`)安装CVS服务器。例如,在Ubuntu上,可以运行`sudo apt-get install cvs`。对于Windows,可下载`...
1. **备份原有服务器**: 在迁移之前,务必对原有的CVS服务器进行完整的备份,包括所有的版本库文件以及相关配置信息。 2. **新服务器准备**: 确保新服务器已经安装了相同版本或更高版本的CVS服务,并且操作系统版本...
#### 二、CVS服务器配置流程 ##### 1. CVSNT下载与安装 - **下载地址**:`http://www.march-hare.com/cvsnt/features/cvsnt/` - **推荐下载**:直接点击`http://march-hare.com/archive/cvsnt-2.5.03.2382.msi`...