所有这些操作基于的环境和软件版本:WINDOWS2000 Pro、CVSNT2.0.4、WinCVS1.3.9.1Beta9
在前面的介绍CVSNT配合WinCVS进行用户管理的文章中,已经对CVSNT的用户管理,权限分配进行了比较详细的叙述,但是还有一些概念没有交待清楚,在这里,我会根据项目的实际需要,以及自己的一些经验给出一套用户管理、权限管理方案,在看这篇文章之前你最好已经阅读了前面的一篇文章,对用户的增加删除,权限的修改,等等这些操作能够了解,否则,会有一点困难。
1、 CVSNT的用户验证方式
我们这里所讨论的是工作在pserver方式下。
在CVSNT的文档中给出了两种验证方式,我总结了一下,可以这样称呼:Window和CVSNT混合验证方式,CVSNT独立验证方式。在前面的文章中,我们没有详细的给出这两种方式的内容,所讲述的启示就是混合验证方式。
决定CVSNT工作于何种验证方式是由CVS的管理文件来决定的,这些管理文件处在库的目录下的CVSROOT目录中,这里可以得出结论,对于不同的库,可以给不同的验证方式。所以,在每个库建立的时候要首先设定好这些前提。
下面的操作如果没有特殊指出则都是在客户端来进行管理的,下面首先是对一些控制原理和相关的文件做一些说明,如果你正在进行相关的模拟操作,请停下来暂时停止你的操作,因为这些操作的步骤是有先后的,如果你顺序不对,那么你可能就权限失效,进行不了下面的操作了。
1.1 config文件
在库建立好了以后,你还没有对控制文件进行修改之前,CVSNT是工作在混合验证方式之下的,这个时候,CVS服务器的管理员就是CVSNT的管理员,你以一个管理员身份登陆,检出你要操作的库的CVSROOT模块,看一下文件列表,控制CVSNT的验证工作方式的是config文件,你可以在文件列表中找到它,双击看看其中的内容,这里对我们最重要的就是第一个设置内容,你会看到下面的内容:
# Set this to `no' if pserver shouldn't check system users/passwords
#SystemAuth=yes
第二行就是我们要修改的内容,默认状态是被注释掉的,SystemAuth有两个值yes和no
yes:pserver将使用系统用户数据库和passwd文件(这个文件后面会详细讲述)来共同验证(若passwd文件不存在或者文件中没有相应的资料,则用系统用户来进行验证)默认为yes
no:所有的用户必须在passwd中存在,根据passwd的内容来进行用户的验证。
我这里所阐述的方案就是工作在no的下面的,修改完之后提交到服务器,提交完毕服务器就处在CVSNT的独立验证模式下了。在这个工作方式下,NT本地的用户和CVSNT用户没有任何本质的联系和影响(仅仅是要建立一个别名)。
1.2 passwd文件
在讲述上面的时候提到了这个文件,在服务器工作在CVSNT验证模式下的时候,这个文件就可以称之为CVSNT的用户数据库,这个里面存储着用户列表,用户的密码,以及别名的一些信息。默认状态下这个文件是不存在的,所以,如果我们要在CVSNT验证模式下工作,必须建立这个文件。注意:这个文件是不能够在客户端进行修改的。这个文件的内容是相当简单的,就像下面:
bach:ULtgRLXo7NRxs
spwang:1sOp854gDF3DY
melissa:tGX1fS8sun6rY:pubcvs
qproj:XR4EZcEs0szik:pubcvs
这里分别拿第一个用户bach和第三个用户melissa来进行说明,每一行代表一个用户,总共有三部分信息,用户名、密码、本地用户三部分之间使用冒号“:”来进行分割。
用户名:就是登陆CVS的用户名
密 码:用户的密码,这里是经过加密的,如果为空,那么就是空密码
本地用户:CVS用户这个别名对应的本地用户,(跟本地用户没有任何其他关系,仅仅是别名的关系)
如果在本地系统中存在一个用户名bash,那么要在CVS建立一个bach这样的用户就不需要在后面指出对应的系统用户,melissa后面的pubcvs就是系统用户,在本地系统上面存在的用户。对于要用命令增加这两种用户的格式如下:
cvs passwd –a bach
cvs passwd –r pubcvs –a melissa
在库建立的时候可以在服务器上建立一个简单的passwd初始化文件,加一行
cvsadmin:
这样,就给出了一个cvsadmin这个空密码用户(本地系统中有这样的用户,就可以不加到后面去),然后在客户端来进行修改和以后的用户增加工作。注意:在客户端进行其他之前请先首先修改这个密码,以防止别人进行破坏。
在服务器端建立了这个文件以后,就不用再手动进行修改了,当你在客户端进行密码或者用户的增加删除的时候,系统会自动进行这个文件的更新。这个文件是管理着CVSNT系统中的所有的用户,所以,要特别重视,不了解这个文件格式的,不要去随便修改,更加不要尝试在客户端进行修改!
1.3 admin文件
这个文件是指定CVSNT的管理员列表的文件,CVSNT会根据这个文件中的内容来判断一个用户是否是管理员。这个文件的内容很简单,是一个用户列表。类似下面
user1
user2
user3
这些代表user1,user2,user3都是管理员,当然,这些用户必须要存在才能够正确登陆系统来执行管理。
这个文件默认状态下是没有的,但是,可以在客户端进行添加,在你的客户端进行新建这个文件然后add上去再commit一下,这个文件就可以上传到服务器,但是这个时候还没有生效,请修改checkoutlist这个文件,加入admin这一行,checkoutlist也可以在客户端进行修改再提交,这个时候admin就可以被系统自动的build了。
Checkoutlist是维护的一个文件列表,可以放入系统自动build的用户自定义的系统文件列表,注意:对passwd没有用!!
1.4 group文件
这个文件是定义系统的组,我们可以将同样性质的用户归入一个组,然后用给用户赋权限的方式给组赋权限,这样,一个组的用户就会具有同样的权限。Group的内容如下:
group1:user1 user2 user3
group2:me you he
group3:tom honey
有上面可以看出来,这个文件的内容也是相当的简单,首先是组的名称然后是冒号,接着是用户名,多个用户名之间用空格来进行分割。
Group文件可以在客户端进行新建和修改,不用修改checkoutlist这个文件,系统会自动build这个文件并且使之生效。
作为组里面的特定成员还可以赋给特定的权限,权限分为两类c,w,r和n,否定权限是有高的优先级的。
好,上面已经介绍了本方案所涉及到的几个重要的文件以及修改方式。这里再强调一下,passwd只能够再服务器端进行建立和修改,不能够在客户端进行操作!
现在根据上面介绍的内容,可以开始你的操作了,下面给出修改顺序,库刚刚建立起来的时候,使用一个服务器上的本地管理员用户进行登陆检出CVSROOT模块。
1、 现在服务器端加上passwd文件,给一个初始的用户,比如cvsadmin:
2、 在客户端增加admin,将cvsadmin加入admin文件,作为出是管理员,并提交加入到库中。
3、 在修改checkoutlist文件,加入admin,使其能够自动build。
4、 最后修改config文件的SystemAuth=no,在提交之前要确认一下你上面的修改是否正确,如果提交了这个文件,CVSNT验证模式就开始生效了!
5、 好,现在请修改你的参数再重新进行的登陆吧。因为你的系统已经切换了工作模式,你当前的用户已经失效了。
完成了上面的步骤,整个服务器就会有效的工作在CVSNT验证模式下了。而group文件在你需要的任何时候可以加入。
在上面的文章关于CVSNT的用户的管理方案的,在这里做一点补充,在后面的操作中全部是针对在客户端使用WinCVS来进行的(出了增加passwd)文件,其实,在我的实践当中config,passwd,admin,checkoutlist,这些文件的起始修改(初始化)都可以在新建了库以后一起完成,然后再让相应的库的管理员来进行相关的操作。
在我上面的文章中也提到这篇文章是基于另外一篇文章的,在网上可以搜索到关于CVSNT和WINCVS的操作的,在CSDN上也有。不过,自己觉得那份东西有点乱,所以后来自己进行了一点点修改。总想在这里贴出来,不过,图太多了,:(
分享到:
相关推荐
【CVSNT用户管理方案】 CVSNT(Concurrent Versions System for NT)是一种在Windows环境下运行的版本控制系统,它提供了类似Unix系统中的CVS服务。本文主要探讨CVSNT在pserver模式下的用户管理和权限配置。 1. **...
【cvsnt】是一款强大的版本控制系统,它是Concurrent Versions System (CVS) 的一个分支,专为Windows环境优化,提供了一种高效、稳定的源代码管理解决方案。CVSNT在原始CVS的基础上添加了更多功能和改进,使得它更...
CVSNT(Concurrent Versions System for NT)是一个高度优化的版本控制系统,专为Windows环境设计,但同样适用于其他操作系统。...总的来说,CVSNT 2.0.42为软件开发团队提供了一套强大且灵活的代码管理解决方案。
CVSNT 2.0.41在功能上相较于原版CVS有显著提升,其中包括对Windows NTFS权限的支持,这意味着管理员可以控制不同用户对版本库的访问权限。此外,该版本还增强了性能,减少了网络延迟,使得远程操作更加流畅。 使用...
为了更好地管理和控制CVSNT,建议设置防火墙规则,允许特定IP访问CVSNT端口(默认为2401),并创建详细的用户权限策略。此外,可以考虑使用Web界面如CVSWEB来提供一个友好的用户界面。 总结,配置Ubuntu 9.04 ...
压缩包中的"说明.txt"文件很可能包含了关于如何安装、配置和使用CVSNT服务器的详细步骤,以及可能遇到的问题和解决方案。用户在安装和使用过程中应仔细阅读这份文档,以确保正确无误地设置服务器。 总的来说,cvsnt...
CVSNT作为一款成熟且功能强大的版本控制系统,其不仅支持基本的版本控制操作,还能提供高级的用户管理和安全性设置等功能。通过本文介绍的命令,用户可以有效地管理和维护自己的代码库,实现高效协同开发。希望本文...
在本文中,我们将深入探讨Cvsnt2.5.03的核心特性、安装步骤、使用方法以及与其他版本控制系统的对比。 1. **Cvsnt2.5.03核心特性** - **增强的性能**:相比标准的CVS,Cvsnt在速度和稳定性上有所提升,尤其是在...
NT本地的用户和CVSNT用户没有任何本质的联系和影响(仅仅是要建立一个别名)。 4)解决 no such repository 现象 最新的cvsnt可能采用unix的设置访问方式,即使你是cvsnt也不需要些盘符。 5)解决认证失败 情况一...
总之,CVSNT服务器通过cvsnt-server-2.5.05.3744.msi在Windows 7系统上提供了一种强大的版本控制解决方案。从安装到配置,再到日常使用,CVSNT为开发者提供了高效、灵活和安全的工作环境。无论是单人开发还是团队...
6. **权限管理**:CVSNT支持细粒度的权限控制,可以为每个用户或用户组分配不同的读写权限,以确保代码库的安全性。 7. **备份和恢复**:为了防止数据丢失,定期备份CVSNT服务器上的仓库是非常重要的。同时,如果...
CVSNT和WinCVS结合使用,为Windows用户提供了一个强大的版本控制解决方案。CVSNT提供了稳定的服务端支持,而WinCVS则以其友好的图形界面简化了日常的版本控制操作。了解并熟练掌握这两者的安装和使用,对于团队协作...
总的来说,CVSNT 2.5.03.2382是开发者在Windows环境中进行版本控制的重要工具,它提供了一套完善的代码管理方案,有助于提高团队协作效率和代码质量。安装此版本意味着用户可以利用其丰富的特性来优化他们的软件开发...
CVSNT作为一个强大的服务器端解决方案,允许多用户同时编辑同一项目,确保了代码的一致性和安全性。它支持多种数据库后端,包括SQL Server和MySQL,使得数据存储和恢复更为灵活。此外,CVSNT还提供了增强的安全特性...
总的来说,cvsnt-server 2.5.04为Windows 7用户提供了强大的版本控制解决方案,帮助开发团队高效协作,确保代码的质量和项目的顺利进行。对于那些希望提升团队协作效率,而又不想因操作系统限制而受限的开发团队,...
总结,CVSNT和WinCvs结合使用,可以提供一套完整的版本控制解决方案。CVSNT作为服务器,负责管理和维护项目源代码,而WinCvs作为客户端,提供友好的图形界面,使得开发者能轻松地进行版本控制操作。通过学习和实践这...
1. 安装`cvsnt-server-2.5.04.3510.msi`,按照向导设置服务器端的路径、端口(默认是2401)、用户账户和密码。 2. 配置CVSNT服务,确保它作为系统服务运行,以便在没有用户登录的情况下也能正常工作。 3. 创建CVS根...
本篇文章将详细介绍CVSNT 2.0.58d这个版本的特性和使用方法。 一、CVSNT简介 CVSNT是CVS(Concurrent Versions System)的一个分支,针对Windows操作系统进行了优化,提供了一套完善的图形用户界面(GUI),同时...