`
jy00509336
  • 浏览: 238154 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

Windows下cvs服务器端配置

 
阅读更多

转载自: http://winsystem.ctocio.com.cn/administrator/14/7613014.shtml

  CVS是目前最常用的版本控制和软件配置系统。其开源性在其普及的过程中功不可没,然而正因为开源造成了其易用性较差。往往一个功能需要通过几个看似不相干的操作配合才能进行。Windows下CVS的多帐户配置正是这样一个相当重要的,但很不好操作的功能。几个难点如下:

  CVS源自Unix系统,其Windows的移植版并没有服务器功能。在Windows下一般采用安装CVSNT这个软件来建立CVS Repository,但CVSNT的操作方法和原始的CVS略微不同。

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

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

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

  1. 使用CVSNT建立一个Repository。假设初始使用Windows的管理员administrator密码登陆,Repository使用Pserver协议,IP是1.2.3.4,端口号是2401,Repository名称是/TestRep,密码是123。这时的administrator也是此Repository的管理员。

  2. 为了进行多用户配置,必须修改Repository的CVSROOT目录的几个文件。首先在客户端将:pserver:administrator@1.2.3.4/TestRep设为CVSROOT环境变量(请注意区分CVSROOT目录和CVSROOT环境变量)。然后用administrator登陆到CVS,最后Check Out出此CVSROOT目录。命令如下所示:

  cvs login

  //输入密码123

  cvs co CVSROOT

  3. 在服务器端为Windows添加一个专门用于CVS操作的Windows帐户。所有的CVS帐户都要映射到这个Windows帐户上进行实际的操作。虽然很多资料并没有提到需要建立Windows帐户,但我在实验中发现没有这种帐户,CVS在后边执行任何操作时都会报告没有此帐户的错误。假如这个新的帐户叫做cvsuser。使用Windows命令

  net user cvsuser cvsuserpassword /Add

  可以添加此帐户。在添加完成之后,一定要记得将/TestRep在服务器上的实际文件夹的权限里添加cvsuser的读写权限,否则到最后任何映射到cvsuser的CVS帐户都会因为没有写权限无法进行正常的commit操作。首先在服务器上的资源管理器里的“工具”菜单里找到“文件夹选项”,在随后出现的“查看”选项卡里找到“使用简单文件夹共享”的项目,取消掉前面的勾,单击确定。然后右击/TestRep所在文件夹,单击“属性”。在随后打开的对话框里可以看到“安全”选项卡。我们需要在这里添加cvsuser的读写权限。

  4.为CVS添加自己的帐户。通过使用命令cvs passwd我们可以添加任意多个CVS帐户(当然,只是针对当前的Repository)。所有的帐户信息会被保存在CVSROOT目录的passwd文件当中。然而这个文件是不能Check Out出来的,只能在服务器那里看到它,并且其保存的密码信息是被加过密的。我们可以添加cvsadmin,user1,user2,anonymous等用户。例如添加cvsadmin时的命令是:

  cvs passwd -a -r cvsuser cvsadmin

  //输入cvsadmin的密码

  //再次输入cvsadmin的密码

  这样就新添了cvsadmin帐户,并将其映射到Windows帐户cvsuser上(-a表示添加一个账户,-r表示影射到操作系统的帐户中。我期望将cvsadmin作为以后/TestRep的管理员。这一点十分重要,如果这时候不设置的话,再将CVS改为“仅使用CVS帐户校验模式”之后就再也没有机会添加管理员了(因为只有管理员可以看得到和操作CVSROOT目录)。

  5.设定cvsadmin为CVS管理员。在客户端的CVSROOT目录下新添一个名为admin的文件。在里面将每一个想要升为管理员的CVS帐户的帐户名写到文件中,每行一个帐户名。当然admin文件只有放到服务器,cvsadmin的升迁才能生效。但是,仅仅是这么将admin文件提交上去是不能起作用的。在提交它之前,必须将admin的信息添加到checkoutlist文件中。checkoutlist的格式在文件中有介绍,是“空格 文件名 空格 出错信息 回车符”。我们在里面添加一条记录:

  admin adminerror

  特别注意admin前面一定要留一个空格。

  6.当新的CVS管理员和帐户信息都准备好后,就要将/TestRep的帐户校验模式从“操作系统集成校验模式”修改为“仅使用CVS帐户校验”模式。这么做可以避免为了在CVS中使用多用户时需要操作Windows帐户的麻烦。这个设置的地方在CVSROOT目录中的config文件。打开客户端的config文件,将里面的#SystemAuth=yes改为SystemAuth=no(注意将#删除后,SystemAuth前不能有空格)。修改后保存config文件。

  7.提交CVSROOT里的所有更新到服务器,我们的设置就生效了。命令如下所示:

  cd CVSROOT

  cvs add -m "" admin

  cvs commit -m ""

  不过在提交之前,你也许想先把CVSROOT的owner从原来的administrator修改为cvsadmin。使用命令cvs chown可以做到这一点。在提交了CVSROOT目录后,校验模式就立刻改变了,cvsadmin也同时开始生效。这时,用之前的administrator就无法使用CVS了。我们改用cvsadmin帐户重新登陆,继续下面的操作。

  8.修改读写权限。CVS有两种读写权限的设置方法,一是粗粒度的,一是细粒度的。只有CVS管理员才能进行访问权限的修改。粗粒度的方法是在CVSROOT中添加readers或者writers文件来实现。在readers里添加的任何一个帐户对当前库只拥有读取权限,添加格式是每行一个帐户名。例如,我们在客户端的CVSROOT目录里添加readers文件,将之前的一个新建帐户anonymous放到里面,然后commit这个readers文件到服务器。anonymous就不能进行commit了。实际的测试结果是在使用anonymous登陆之后执行commit指令,系统会报告正常执行完毕。但实际上,没有任何东西被commit,暴露了CVS在人机界面上的不完善。writers文件的操作readers完全一样。如果一个帐户名被同时写到两个文件里,此帐户只有只读权限。细粒度的方法是使用chacl命令。例如/TestRep里有3个工程,project1、project2、project3。使用命令:

  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.使用帐户组来组织帐户。在客户端的CVSROOT目录下添加一个叫group的文件。此文件的格式是:

  组名1:用户名1,用户名2,用户名3,……

  组名2:用户名5,用户名7,……

  ……

  修改完group文件后commit它,然后通过chacl命令可以实现组权限的修改。

分享到:
评论

相关推荐

    Windows平台安装CVS服务器

    介绍了如何在Windows平台安装服务器及配置。该文图文并茂,很容易上手,祝你成功!

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

    1 CVS下载 1.1 安装 CVSNT 1.2 建立Windows系统账户 ...2 CVS服务器端配置 2.1 配置服务器端CVS文件存放位置 2.2 配置Windows Server环境变量 2.3 为CVS添加多用户 2.4 为CVS目录加上用户权限设置等等

    CVS 服务器程序 CVSNT 2.0.58d + CVS 客户端工具 TortoiseCVS 1.10.10 (for win7)+ 图示说明

    2配置服务器端  a 查看运行状态:  在about面板有个cvsnt 和 cvsnt lock二个选项,这儿可以对其进行start,stop服务  b 添加资源  在repository config面板中可以添加删除资源,这儿主要设定了repository 的...

    CVSNT服务器的配置与使用

    CVSNT是用于Windows NT系列上的CVS服务器端,本文就是针对CVSNT给出的配置使用参考文档,同时为了方便操作,网络上提供了很多非常优秀的CVS客户端软件

    cvs配置的用户,用户权限管理

    下面就是用命令配置CVS了,命令行下的CVS PASSWD命令好像只是在服务器端才会有, 所以,要加用户的只能在服务器端. 还有,最好为CVS在Windows系统下加一个专用的用户,比如CVSAdmin 这样就不会与系统混了.

    WinCVS与CVSNT简明使用手则

    本文是针对Windows的LAN环境下使用CVS的经验介绍,一步一步的向您介绍如何配置和使用CVS的服务器端和客户端。同时,本文只使用到了CVS当中最基本的东西,还有很多更为高级的东西,本文暂不涉及。下面是本文的另一个...

    版本控制的利器——CVS(在Windows环境下使用CVS)

    安装 2.1安装前的准备 2.2服务器端的安装 2.3本地机安装3.配置 3.1服务器的配置 3.2本地机的配置4.使用 4.1从服务器下载文件 4.1.1查看服务器里有哪些工程模块 4.1.2第一次下载新的模块(目录) 4.1.3获取...

    cvsnt2.5与eclipse3.2配置与使用

    所以我们只需安装一个CVS服务器端就可以进行项目开发的版本控制了。这里我们选择windows平台下的cvsnt来作cvs服务器。一.服务器设置1.首先到http://www.cvsnt.org/下载一个cvsnt,我下载的版本是cvsnt-2.5.03.2382...

    WINCVS和CVSNT安装包

    在服务器端建立了这个文件以后,就不用再手动进行修改了,当你在客户端 进行密码或者用户的增加删除的时候,系统会自动进行这个文件的更新。这 个文件是管理着CVSNT系统中的所有的用户,所以,要特别重视,不了解...

    PostgreSQL 8.2.3 中文文档

    服务器端编程 33. 扩展 SQL 34. 触发器 35. 规则系统 36. 过程语言 37. PL/pgSQL - SQL 过程语言 38. PL/Tcl - Tcl 过程语言 39. PL/Perl - Perl 过程语言 40. PL/Python - Python 过程语言 41. 服务器...

    Git权威指南PDF完整版

    30.5.3 直接在服务器端创建/ 435 30.6 对 Gitolite 的改进/ 435 30.7 Gitolite 功能拓展/ 436 30.7.1 版本库镜像/ 436 30.7.2 Gitweb 和 Git daemon 支持/ 438 30.7.3 其他功能拓展和参考/ 439 第31章 Gitosis 服务...

    SVN与CVSpdf格式详细说明书

    (2) svn-win32-1.4.5.zip SVN 服务器端 配置步骤:安装完毕之后就开始了APACHE与SVN的整合配置。 (1),将SVN的bin目录下的扩展名为*.so的文件复制到apache的modoles文件夹下 (2),将SVN的bin 目录下的扩展名为...

    asp.net知识库

    Server Side ViewState 在服务器端存贮ViewState (ASP.NET 2.0) VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP...

    CISCO 技术大集合

    6.如果配置的是拨号访问服务器,系统还会设置异步口的参数: Configure Async lines? [yes]: 1) 设置线路的最高速度: Async line speed [9600]: 2) 是否使用硬件流控: Configure for HW flow control? [yes]...

Global site tag (gtag.js) - Google Analytics