10 *** 修改验证方式
修改 d: 0cvsroot 下面的 config 文件
修改前面第二行为:
SystemAuth=no
即修改验证方式为 CVSNT用户单一验证方式。
11 *** 提交对 CVSROOT 的修改
11.1 进入 d: 0cvsroot
11.2 d: 0cvsrootcvs add admin group
由于 admin 和 group 文件是新产生的,所以提交之前要添加到 commit 的计划之中;
运行完该命令之后,会提示运行 cvs commit 命令提交该文件。
11.3 d: 0cvsrootcvs commit
运行该命令,会提交 d: 0cvsroot 目录中的所有文件,包括新建立的文件;
中间过程会弹出来一个提示文件,说明哪些文件被修改了,哪些文件是添加的,该文件的信息如下:
CVS: ----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: checkoutlist cvswrappers config
CVS: Added Files:
CVS: admin group
CVS: ----------------------------------------------------------------------
即提示修改了 checkoutlist config cvswrappers 三个文件,添加了 admin group 两个文件;
这个提示文件可以添加内容,所有信息都会被提交并且被 CVSNT Server 记录;
关掉该文件,选择继续提交。
/*
至此,完成工作如下:
CVSNT server 已经设置为 CVSNT用户单一验证方式;
CVSNT server 管理员已经设置为 cvsadmin;
test1,test2,test3,test4 已经添加。
此时,如果再运行命令 cvs ls ,则会提示该用户不存在。
因为我们开始登陆的时候,设置的是 set cvsroot=:pserver:administrator:123456@localhost/cvsroot
所以此时运行 cvs ls 是在 set cvsroot=:pserver:administrator:123456@localhost/cvsroot 环境下面进行的,而我们已经改变了验证方式为 CVSNT用户单一验证方式,administrator 用户不在 passwd 文件中,所以 cvs ls 命令不会被执行了。
以 cvsadmin 用户登陆:
关掉命令窗口,打开一个新的命令窗口
进入临时目录 d: 0
d: 0set cvsroot=:pserver:cvsadmin:cvsadmin@localhost/cvsroot
d: 0cvs ls
可以看到 CVSROOT 下面的所有 Repository 了。
测试其他的用户为非管理员,即看不到 CVSROOT:
关掉命令窗口,打开一个新的命令窗口
进入临时目录 d: 0
d: 0set cvsroot=:pserver:test1:test1@localhost/cvsroot
d: 0cvs ls
会提示
Listing modules on server
空白,即不能看到 CVSROOT。