windows下cvs服务器端配置

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、设置CVSROOT 环境变量环境变量 set set
CVSROOT=:pserver:*******************.106.140/cvs 2、使用cvs 默认的管理
员登陆员登陆 cvs login 3 cvs login 3、创建用户、创建用户 cvs passwd -acvsuser // cvs passwd -acvsuser //输入cvsuser 的密码的密码
////再次输入再次输入cvsuser 的密码的密码
=====================================================================
================ 以下内容为转载以下内容为转载
CVS 是目前最常用的版本控制和软件配置系统。

其开源性在其普及的过程中功
不可没,然而正因为开源造成了其易用性较差。

往往一个功能需要通过几个看
似不相干的操作配合才能进行。

似不相干的操作配合才能进行。

Windows Windows 下CVS 的多帐户配置正是这样一个相
当重要的,但很不好操作的功能。

几个难点如下:当重要的,但很不好操作的功能。

几个难点如下:
1.1.
CVS 源自Unix 系统,其Windows 的移植版并没有服务器功能。

在Windows 下一般采用安装CVSNT 这个软件来建立CVS Repository Repository,,但CVSNT 的操作方法和原始的CVS 略微不同。

略微不同。

2.2. CVS 本身是命令行形式,其配置过程比较繁杂。

本身是命令行形式,其配置过程比较繁杂。

3.3.
CVS 的多帐户配置需要手动修改Repository 的CVSROOT 文件夹里的文件,缺乏统一的界面。

件,缺乏统一的界面。

在安装了CVSNT 服务器之后,默认的用户就是建立Repository 的Windows 系
统的登陆帐户,但在多人开发的时候,肯定没人希望大家都使用同一个名字来
Commit Commit;更重要的是,我们可能需要配置开发人员的权限,例如限制某些人只;更重要的是,我们可能需要配置开发人员的权限,例如限制某些人只
能看程序,而某些人可以Commit 程序,某些人可以添加新的Module Module。

以下是。

以下是
详细的步骤,环境是CVSNT 2.5.03 (Build 2151) + TortoiseCVS 1.8.25:
1. 使用CVSNT 建立一个Repository Repository。

假设初始使用。

假设初始使用Windows 的管理员
administrator 密码登陆密码登陆,Repository ,Repository 使用Pserver 协议,协议,IP IP 是1.2.3.41.2.3.4,端,端
口号是24012401,,Repository 名称是名称是/TestRep /TestRep /TestRep,,密码是123123。

这时的administrator 也是此Repository 的管理员。

的管理员。

2. 为了进行多用户配置,必须修改Repository 的CVSROOT 目录的几个文件。

首先在客户端将首先在客户端将:pserver:*****************.3.4/TestRep :pserver:*****************.3.4/TestRep 设为CVSROOT 环
境变量(请注意区分CVSROOT 目录和CVSROOT 环境变量)。

然后用administrator
登陆到CVS CVS,最后,最后Check Out 出此CVSROOT 目录。

命令如下所示:目录。

命令如下所示:
cvs login //输入密码123 cvs co CVSROOT
3. 在服务器端为Windows 添加一个专门用于CVS 操作的Windows 帐户。

所有
的CVS 帐户都要映射到这个Windows 帐户上进行实际的操作。

帐户上进行实际的操作。

虽然很多资料并虽然很多资料并
没有提到需要建立Windows 帐户,但我在实验中发现没有这种帐户,帐户,但我在实验中发现没有这种帐户,CVS CVS 在后
边执行任何操作时都会报告没有此帐户的错误。

假如这个新的帐户叫做
cvsuser cvsuser。

使用。

使用Windows 命令命令
net user cvsuser cvsuserpassword /Add
可以添加此帐户。

在添加完成之后,一定要记得将一定要记得将/TestRep /TestRep 在服务器上的实际
文件夹的权限里添加cvsuser 的读写权限,的读写权限,否则到最后任何映射到否则到最后任何映射到cvsuser 的
CVS 帐户都会因为没有写权限无法进行正常的commit 操作。

首先在服务器上的
资源管理器里的“工具”菜单里找到“文件夹选项”,资源管理器里的“工具”菜单里找到“文件夹选项”,在随后出现的“查看”在随后出现的“查看”
选项卡里找到“使用简单文件夹共享”的项目,取消掉前面的勾,单击确定。

然后右击然后右击/TestRep /TestRep 所在文件夹,单击“属性”。

在随后打开的对话框里可以看
到“安全”选项卡。

我们需要在这里添加cvsuser 的读写权限。

的读写权限。

4.4.为为CVS 添加自己的帐户。

通过使用命令cvs passwd
我们可以添加任意多个CVS 帐户(当然,只是针对当前的Repository Repository)。

所有的帐户信息会被保存在)。

所有的帐户信息会被保存在CVSROOT 目录的passwd 文件当中。

然而这个文件是不能Check Out 出来的,只
能在服务器那里看到它,并且其保存的密码信息是被加过密的。

我们可以添加
cvsadmin cvsadmin,,user1user1,,user2user2,,
anonymous 等用户。

例如添加cvsadmin 时的命令是: cvs passwd -a-r cvsuser cvsadmin //输入cvsadmin 的密码的密码 // //再次输入
再次输入cvsadmin 的密码的密码
这样就新添了cvsadmin 帐户,并将其映射到Windows 帐户cvsuser 上(-a 表示
添加一个账户,添加一个账户,-r -r 表示影射到操作系统的帐户中。

我期望将cvsadmin 作为以
后/TestRep 的管理员。

这一点十分重要,如果这时候不设置的话,再将CVS
改为“仅使用CVS 帐户校验模式”之后就再也没有机会添加管理员了帐户校验模式”之后就再也没有机会添加管理员了(因为只(因为只有管理员可以看得到和操作CVSROOT 目录)。

目录)。

5.5.设定设定cvsadmin 为CVS 管理员。

在客户端的CVSROOT 目录下新添一个名为
admin 的文件。

在里面将每一个想要升为管理员的CVS 帐户的帐户名写到文件
中,中,每行一个帐户名。

每行一个帐户名。

每行一个帐户名。

当然当然admin 文件只有放到服务器,文件只有放到服务器,cvsadmin cvsadmin 的升迁才能
生效。

但是,仅仅是这么将admin 文件提交上去是不能起作用的。

在提交它之
前,必须将admin 的信息添加到checkoutlist 文件中。

文件中。

checkoutlist checkoutlist 的格式
在文件中有介绍,是“空格在文件中有介绍,是“空格 文件名文件名 空格空格 出错信息出错信息
回车符”。

我们在里面添加一条记录:加一条记录:
admin adminerror
特别注意admin 前面一定要留一个空格。

前面一定要留一个空格。

6.6.当新的当新的CVS 管理员和帐户信息都准备好后,就要将就要将/TestRep /TestRep 的帐户校验模式
从“操作系统集成校验模式”修改为“仅使用CVS 帐户校验”模式。

帐户校验”模式。

这么做可这么做可
以避免为了在CVS 中使用多用户时需要操作Windows 帐户的麻烦。

帐户的麻烦。

这个设置的这个设置的
地方在CVSROOT 目录中的config 文件。

打开客户端的config 文件,将里面的
#SystemAuth=yes 改为SystemAuth=no (注意将(注意将##删除后,SystemAuth 前不能有
空格)。

修改后保存config 文件。

文件。

7.7.提交提交CVSROOT 里的所有更新到服务器,
我们的设置就生效了。

命令如下所示: cd CVSROOT cvs add -m "" admin cvs commit -m ""
不过在提交之前,不过在提交之前,你也许想先把你也许想先把CVSROOT 的owner 从原来的administrator 修
改为cvsadmin cvsadmin。

使用命令。

使用命令cvs
chown 可以做到这一点。

在提交了CVSROOT 目录后,校验模式就立刻改变了,后,校验模式就立刻改变了,cvsadmin cvsadmin 也同时开始生效。

这时,用之前的
administrator 就无法使用CVS 了。

我们改用cvsadmin 帐户重新登陆,继续下
面的操作。

面的操作。

8.8.修改读写权限。

修改读写权限。

修改读写权限。

CVS CVS 有两种读写权限的设置方法,一是粗粒度的,一是细粒
度的。

只有CVS 管理员才能进行访问权限的修改。

粗粒度的方法是在CVSROOT 中添加readers 或者writers 文件来实现。

文件来实现。

在在readers 里添加的任何一个帐户
对当前库只拥有读取权限,添加格式是每行一个帐户名。

例如,我们在客户端
的CVSROOT 目录里添加readers 文件,文件,将之前的一个新建帐户将之前的一个新建帐户anonymous 放到
里面,然后commit 这个readers 文件到服务器。

anonymous 就不能进行commit
了。

实际的测试结果是在使用anonymous 登陆之后执行commit 指令,系统会
报告正常执行完毕。

报告正常执行完毕。

但实际上,但实际上,但实际上,没有任何东西被没有任何东西被commit commit,,暴露了CVS 在人机界
面上的不完善。

面上的不完善。

writers writers 文件的操作readers 完全一样。

如果一个帐户名被同
时写到两个文件里,此帐户只有只读权限。

细粒度的方法是使用chacl 命令。

例如例如/TestRep /TestRep 里有3个工程,个工程,project1project1project1、、project2project2、、project3project3。

使用命令:。

使用命令:。

使用命令:
cvs chacl -u user1 -a none -d project1,project2,project3 cvs chacl -u user1 -a all -d project1 cvs chacl -u user1 -a read,write -d project2 cvs chacl -u user1 -a read -d project3
可以让user1拥有对project1目录的完全控制权,对project2目录的读写权,
和对project3目录的只读权。

第一条命令首先删除user1的所有权限,在随
后的3条命令里分别设置了3个不同目录权限。

个不同目录权限。

9.9.使用帐户组来组织帐户。

使用帐户组来组织帐户。

使用帐户组来组织帐户。

在客户端的在客户端的CVSROOT 目录下添加一个叫group 的文
件。

此文件的格式是:件。

此文件的格式是:
组名1:1:用户名用户名1,1,用户名用户名2,2,用户名用户名3,…… 组名2:2:用户名用户名5,5,用户名用户名7,…… ……
修改完group 文件后commit 它,它,然后通过然后通过chacl 命令可以实现组权限的修改。

相关文档
最新文档