在服务器端安装好cvs后,建立一个或多个库,这样,在每个库中自动生成CVSROOT文件夹,里面有很多重要的配置文件,有些文件是自动存在了的(如config,passwd。其中passwd文件在没有添加任何用户时,是不存在的,当用命令添加了一个用户后,这个文件便自动生成了),而有些是需要cvs系统管理员手动建立的(如admin,group)。
1、config文件
控制CVSNT的验证工作方式的是config文件,注意该文件前面的两行:
#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用户来进行验证。
config文件不能在服务器端修改(因为格式为FILE的文件是无法在CVSNT服务器端进行编辑保存的), 但可以将其checkout到客户端后进行修改,将第二行改为SystemAuth=no,再commit到服务器CVSNT上,则可以启用单一验证方式了。
注意:启用单一验证方式后原来的Windows系统用户将变为无效,因此要注意执行该步骤的时机。要保证passwd文件已存在且有用户了,否则无人可以登陆此库了,config文件也checkout不下来了,无法修改回去了。 有一个解决办法是,从其他库的CVSROOT目录下找一个SystemAuth=yes的config文件,复制它,覆盖此库CVSROOT下的config文件。
config文件在建立库时自动生成 位于CVSROOT目录下,这里可以得出结论,对于不同的库,可以给不同的验证方式。所以,在每个库建立的时候要首先设定好这些前提。
2、 admin文件
设置systemAuth后,在cvsroot目录下建立admin文件,这个文件是保存CVSNT的管理员列表的文件,CVSNT根据这个文件来判断一个用户是否是管理员。
有些人喜欢直接在服务器的CVSROOT目录下新建admin文件,这样,如果你想从服务器checkout CVSROOT目录到本机,这个文件将不会被checkout出来。所以好的办法是,从服务器checkout CVSROOT目录到本机后,再在本机客户端的cvsroot目录下新建一个admin文件,然后add,再commit到服务端,这样下次文件可以checkout出来了!
在客户端创建admin文件:
先进入cvsroot目录下,再用命令:echo>>admin
该文件的内容很简单,形式如下:
User1
User2
User3
每一行定义一个管理 员用户,默认时没有该文件,但你可以在客户端自己添加并add上去,再commit到CVSNT上,但是光有这个文件还是不会生效的,还要将其添加到 checklist文件中,使CVSNT能够读取该文件的内容,在checkoutlist中添加文件列表的格式为:
[空格]文件名 出错信息
其中文件名前的空格必须要有的,不然会出错。
我们可以先添加admin文件到CVSNT中,再修改checklist文件commit,可以使admin文件生效了。
Checkoutlist是维护的一个文件列表,可以放入系统自动build用户自定义的系统文件列表,注意:对passwd不生效!!