1。创建cvs

系统管理员登陆CVS服务器,创建CVS库的存放目录,比如C:\cvs\cvsrep。使用“cvs -d /cvs/cvsrep init ”初始化目录,该命令会自动创建CVSROOT,CVS等目录。然后,在CVS的配置文件里,同时为该库起一个别名,比如/cvs/cvsrep,以防止用户知道系统的真实的目录结果。别名的设置,在Unix下,是在/etc/cvsnt/PServer文件里;Windows下,可以通过CVSNT Control Panel来进行。

 

了简化操作,我们先设置环境变量,比如"set cvsroot=c:\cvs\cvsrep"。这样,就不用每次指定CVSROOT的位置了。

 

2。创建cvs库管理员

系统管理员使用passwd命令创建用户(同时设置初始口令),然后把新建的用户名列在CVSROOT/admin里,这些用户就成为了CVS库管理员。

 

比如通过“cvs passwd -r cvsuser -u repadmin”创建一个叫repadmin的用户。这里,cvs服务器上必须存在一个cvsuser的系统用户,该用户必须有对C:\cvs\cvsrep的完全访问权限。cvsuser账户,可以为多个cvs库用户所共享。repadmincvs的远程访问,是以cvsuser的身份运行的。

 

系统管理员使用chacl命令把根目录的确省权限设为read,nowrite,nocontrol,nocreate,notag。当然,这些工作也可以交由cvs库管理员来做。

比如:cvs chacl -a read,nowrite,nocontrol,nocreate,notag

如果子目录不重新设置权限,自动继承父目录的权限。

 

 

系统管理员通过emai把账号、密码以及CVSROOT的路径发送给cvs库管理员。

 

cvs库管理远程访问cvs库,比如通过pserver协议。

 

设置环境变量,set cvsroot=:pserver:repadmin@servername:/cvs/cvsrep.

 

转到工作目录,登陆,并初始化当前目录

cd workdir

cvs login

cvs co .

 

修改密码

cvs passwd

 

 

3。创建普通用户

cvs库管理员通过passwd创建用户,同时设置初始密码,然后通email告知相关信息。

cvs passwd -a -r cvsuser -u testuser

 

 

4。创建目录树

cvs库管理员通过importadd命令创建目录树,并使用chacl命令给用户分配权限。

可以通过lsacl命令来检查权限的分配情况。

 

添加一个目录

cvs add subdir

 

testuser分配subdir的读写权限

cvs chacl -a read,write -u testuser subdir

 

5Check in / Check out

现在普通用户可以使用check out数据,并修改和提交了。

 

set cvsroot=:pserver:testuser@servername:/cvs/cvsrep.

cd workdir

cvs co .

 

…modify files…

 

cvs commit -m "do some change"

 

结论:

1。我们不需要给cvs管理员以服务器的root账号。而只需要一个公共的,可以访问cvs库目录的账号就可以。这个账户甚至不需要对外公布密码,也不允许远程登录。

2。我们不需要为每个cvs用户创建cvs服务器的系统账号,也无需依赖文件系统的访问控制。

3。我们可以为每个cvs库指定库管理员,由其对各自的cvs库进行用户的创建和权限分配。

4。普通用户可以自行修改cvs账户的密码,无需管理员干预。

5cvs服务器管理员的工作主要是创建cvs库(可以创建特定的系统账户以负责cvs库的创建和管理,不需要root账户),并负责服务器的日常维护,而日常的cvs管理由cvs库各自的管理员完成。