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库用户所共享。repadmin对cvs的远程访问,是以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库管理员通过import和add命令创建目录树,并使用chacl命令给用户分配权限。
可以通过lsacl命令来检查权限的分配情况。
添加一个目录
cvs add subdir
给testuser分配subdir的读写权限
cvs chacl -a read,write -u testuser subdir
5。Check 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账户的密码,无需管理员干预。
5。cvs服务器管理员的工作主要是创建cvs库(可以创建特定的系统账户以负责cvs库的创建和管理,不需要root账户),并负责服务器的日常维护,而日常的cvs管理由cvs库各自的管理员完成。