本文档内容包括:
CVS用户管理的重要文件
会修改到的文件分别是
passwd
、
config
、
group
、
admin
、
checkoutlist
、
.perms
。其中
passwd
不能手工创建,
config
文件在
init repository
的时候就被创建了(在
CVSROOT
中),
group
和
admin
文件可以手动创建。手动创建就是在
CVSROOT
中新建一个文件名为
group
的文件(没有后缀名)。
1
.
passwd
文件
服
务
器工作在
CVSNT
用
户单
一
验证
方式下的
时
候,
这
个文件定
义
了
CVSNT
的用
户
信息,
这
里面保存着用
户
名,用
户
密
码
,以及
别
名信息(对应
windows
操作系统的用户)。默
认
状
态
下 没有
该
文件,但是我
们
可以在
CVSNT
还
工作在混合
验证
方式下
时
,用系
统
管理
员
登
录
,通
过
添加用
户
命令来
让
CVSNT
自
动
建立一个
passwd
文件。
添加用
户
的命令的示例
:
cvs passwd –r
aimnext
–a cvsadmin
之后系
统
提示
输
入密
码
,
输
入后服
务
器会新建一个
passwd
文件。
该
文件的内容很
简单
,形式如下:
cvsadmin:fqr1fS4gDghrt:
aimnext
以第一行
为
例:
cvsadmin
为
用
户
名,
fqr1fS4gDghrt
为
CVS
使用
UNIX
标
准加密函数
对
密
码进
行加密后的
结
果,
aimnext
为操作系统中的一个用户。(可以让所有的
cvs
用户都使用同一个别名)
注意:
这
个文件是不能在客
户
端
进
行修改的,不能
checkout
出来。不能手工编辑加入用户的密码(唯恐除外),因为验证的密码是加密后的。
2
.
admin文件
该
文件保存
CVSNT
管理
员
用
户
列表,内容很
简单
,形式如下:
User1
User2
User3
每 一行定 义 一个管理 员 用 户 ,默 认时 没有 该 文件,但你可以在客 户 端自己添加并 add 上去,再 commit 到 CVSNT 上,但是光有 这 个文件 还 是不会生效的, 还 要将其添加到 checkoutlist 文件中,使 CVSNT 能 够读 取 该 文件的内容,在 checkoutlist 中添加文件列表的格式 为 :
User1
User2
User3
每 一行定 义 一个管理 员 用 户 ,默 认时 没有 该 文件,但你可以在客 户 端自己添加并 add 上去,再 commit 到 CVSNT 上,但是光有 这 个文件 还 是不会生效的, 还 要将其添加到 checkoutlist 文件中,使 CVSNT 能 够读 取 该 文件的内容,在 checkoutlist 中添加文件列表的格式 为 :
[
空格
]
文件名
出
错
信息
其中文件名前的空格必
须
要有的,不然会出
错
。
我 们 可以先添加admin文件到CVSNT中,再修改checklist文件commit,就可以使admin文件生效了。
我 们 可以先添加admin文件到CVSNT中,再修改checklist文件commit,就可以使admin文件生效了。
3
.
group
文件
该
文件定
义
CVSNT
中
组
信息,同
组
里的用
户拥
有一
样
的
权
限,
对组权
限的修改和
对
用
户权
限的修改一
样
。
group文件的内容
为
administrators:cvsadmin kid mystique
users:User1 User2 User3
users:User1 User2 User3
可以看到
该
文件的内容也很
简单
,
组
名:用
户
名,多个用
户
名之
间
用空格隔
开
。
Group
文件可以在客
户
端修改,不用修改
checkoutlist
这
个文件,系
统
会自
动
使其生效。
4
.
config文件
控制
CVSNT
的
验证
工作方式的就是
config
文件,注意
该
文件最前面的两行:
#Set this to `no" if pserver shouldn"t check system users/passwords
#SystemAuth=yes
#SystemAuth=yes
第二行就是我
们
要修改的内容,默
认
状
态
是被注
释
掉的,
SystemAuth
有两个
值
yes
和
no
:
yes
:
pserver
将使用
Windows
系
统
用
户
和
CVSNT
用
户
来共同
验证
(若
CVSNT
用
户
未定
义
,
则
用
Windows
系
统
用
户
来
进
行
验证
),默
认为
yes
,
CVSNT
用
户
在
passwd
文件中定
义
。
no
:只使用
CVSNT
用
户
来
进
行
验证
。
该
文件可以在客
户
端
进
行修改,因此我
们
可以将其
checkout
出来将第二行改
为
SystemAuth=no
,并
commit
到
CVSNT
上就可以启用
单
一
验证
方式了,注意启用
单
一
验证
方式后原来的
Windows
系
统
用
户
将
变为
无效,因此要注意
执
行
该步骤
的
时
机。
5
.
.perms
文件
该文件存在于CVS repository中的每一个目录下。CVSNT通过该文件来控制用户对当前文件夹的权限。CVS用户权限:r|w|c|n (r:Read w:write c:control n:none)
例如:
default:n
admin:rwc
user:r
上面文件中第一行是指当前文件夹的默认权限为none(没有权限),admin组用户的权限是rwc(读取、修改、创建),user组用户的权限是r(读取)。
具体步骤讲解:
1.新建repository,如下图所示:
2.创建CVSROOT
点击OK在D:/test目录下创建CVSROOT。
3.选择CVSNT的设置如下图所示:
点击apply之后,需要重新启动CVSNT。
4.打开eclipse,在透视图CVS Repositories中建立到/test的连接,如下图所示:
aimnext是操作系统中的一个用户。
5.连接后的/test如下所示:
6.在CVSROOT上面点右键,将CVSROOT check out到eclipse的workspace中。
7.配置环境变量,如下图所示:
8.在cmd中输入命令,cvs passwd –h,可以看到如下所示的命令提示:
根据命令提示,输入cvs passwd –a cvsadmin –r aimnext新建用户cvsadmin,密码为:123。
9.在eclipse的工作区中右键点击CVSROOT,选择新建文件
新建文件admin
内容:
cvsadmin
保存文件,然后在工作区中的admin文件上,点击右键,选择team|Commit提交该文件。
10.修改checkoutlist文件,如下图所示:
修改完成后,保存并提交checkoutlist。
11.修改CVSNT中的设置,如下图所示:
12.修改CVSROOT下的config文件。将SystemAuth由yes改为no,开启单一验证方式。
(注意:SystemAuth前面不能有空格,否则CVSNT无法识别)
保存并提交config文件。
13.在eclipse中的CVS Repositories中,更改原有连接为上面建好的用户名和密码(用户:cvsadmin,密码:123)
这样,与CVSNT建立的连接就是以CVS用户的方式登录而不是以windows系统用户的方式登录了。之后,只要在CVSROOT中建立group文件(方法与建立admin相同),为不同的用户分组,通过每个文件夹下面的.perms文件控制不同组用户的权限就可以了。
再次登录CVSNT的时候,需要将原来的环境变量CVSROOT修改为:pserver:cvsadmin@127.0.0.1:2401:/test。(注意:上面的环境变量中不能有空格,如:pserver:cvsadmin@127.0.0.1:2401:空格/test,会造成不能识别repository的麻烦)
14.新建用户cvsuser,如下图所示:
15.Group文件内容,如下图所示:
保存后提交。
16.新建一个工程:
点击[File|new|Project],新建名称为test的simple project。在工作区中的test上面点右键,选择Team|Share Porject将该工程添加到CVS的管理之下,成功添加之后在d:/test目录下出现test工程。这时就可以修改.perms的内容为用户设定权限了,如:
default:n
admin:rwc
user:r
表示管理员有读写创建的权限,用户组有读权限。
注意:为了区分权限,每个文件夹下面的.perms都要进行配置。(可以做好一个文件后,拷贝粘贴)