internal hdd:一篇CVS权限管理手册

来源:百度文库 编辑:中财网 时间:2024/04/30 10:01:31
一篇CVS权限管理手册2008/01/26 08:36 一下为转帖一篇CVS权限管理手册
1、前言:
     CVS(Concurrent Versions System 并发版本系统)是C/S结构的版本管理系统。允许多人同时对一个原代码库(Repository)的文件进行访问、操作。
CVS是“拷贝--修改--合并”的模型。
     目前在Linux和Windows下都有不同版本。其官方网站为服务器端:http://www.cvsnt.org 客户端:http://sourceforge.net/projects/cvsgui/
     本文适合用户CVS管理员和有一定CVS经验的人。

2、安装与配置
     本人使用的是CVSNT2.08和WINCVS2.002,服务奇及客户端均为WINXP系统。

     a) 服务器端(CVSNT)的安装比较简单。只要注意几点:
         i. 双击Service Control Panel,在Service Status页面,确认2个服务正常和稳定运行。
         ii. 选择Repository页面,点按Add按钮,选择已经准备好的目录作为资源库的根目录即可。在Valid Repository Roots会显示选择的目录,这时会在其目录下面建立CVSRoot目录,这是CVS默认的管理目录(默认模块)。
         iii. 选择Advanced页面,一般勾上Use local users for pserver ...(即使用服务器本地用户认证,而非域认证),OK。

     b) 客户端(WinCVS)的安装按照默认安装即可。配置注意以下几点:
         i. 菜单Admin=>preferences 选CVS 设置Home路径是设置WinCVS工作时的临时文件的存放位置(如:密码等)。这个Home路径需要Python.exe(http: //www.python.org/)这个外挂程序才有效。
         ii. 设置工作路径:可以点按图标 ,或View=>Browse Location=>Change…菜单进行设置

3、CVS的配置管理
     a) 选择Admin=>Login菜单,选中CVSROOT并进行配置或选择。
         i.   协议:pserver
         ii. 资源库路径:CVSNT上配置的资源库路径。
         iii. 主机名:服务器名或IP
         iv. 用户名默认为:administrator ,
         v.   密码:一般不设置。登陆时输入。
         登陆时密码输入为服务器的本地管理员密码。正常会返回Code为0。如:***** CVS exited normally with code 0 *****1.
         CVS的longin成功后,是把当前用户的密码保存并和一定的CVSROOT关联.具体的操作还需要指定相应的CVSROOT即” :pserver;username=xxx;hostname=127.0.0.1:e:/CVSROOT”

     b) Checkout管理模块:(CVSRoot模块)
         i.   在左边导航栏【Modules】内,选择文件夹点按右键,选择【Checkout modules…】,在【Checkout settings】的【Module】中输入CVSROOT,【CVSROOT】输入或选择CVSRoot(如“:pserver;hostname= 127.0.0.1:e:/CVSROOT”的字符串),OK。
         ii.   如果成功的话,会在导航栏增加一个【CVSRoot】目录。表示您已经将【CVSRoot】这个管理模块下载到本地了。
         iii. 系统支持的目录权限列表:
             r (读取权限)
             w (写入权限)
             c (创建和删除权限)
             n (没有任何权限)
             默认情况下,任何用户都拥有任何目录的所有权限
         iv. 取消所有用户的默认权限:cvs chacl default:n 回车,OK,完成。
             设置Administrator拥有所有权限:cvs chacl administrator:rcw 回车,OK,完成。
             更改【CVSRoot】的拥有者:cvs chown administrator 回车,OK,完成。
             查看【CVSRoot】的权限状态:cvs lsacl 回车,OK,在【Output】中显示:
             Owner: administrator
             default:n
             administrator:rwc

     c) 编辑CVS模块描述,并分配权限。
         i.   双击【CVSRoot】模块下的modules文件,进行编辑。为CVSRoot和 NewModule 完成其模块描述。
         CVSRoot CVSRoot
         NewModule –a NewModule
         ii. 在工作目录下建一文件夹NewModule,并建立文件,readme.txt ,上传目录NewModule。
         iii. 完成上传工作后,删除NewModule目录。再Checkout下载的NewModule工作目录到工作路径。
         iv. 选中【NewModule】目录,【Ctrl+L】或Admin=>Command Line…,弹出Command Line Settings对话框,输入或在输出框直接执行CVS命令。
             1 取消所有用户的默认权限:cvs chacl default:n 回车,OK,完成。
             2 设置testuser拥有所有权限:cvs chacl testuser:rcw 回车,OK,完成。
             3 查看【CVSRoot】的权限状态:cvs lsacl 回车,OK,在【Output】中显示:
             Owner: administrator
             default:n
             testuser:rcw
         v.   完成了用户的目录权限分配。注意,虽然Administrator也没有权力再次【Checkout】那testuser用户的工作目录,但是它是这些目录的拥有者又是Administrator,因此,只有它才有权力更改这些目录的访问权限。

     d) CVSNT系统中的用户管理:
         i.   原则:只有用Administrator身份登陆到CVSNT系统中,才有权力进行新用户的创建和删除。使用CVS创建的新用户,必须与服务器端机器上的NT用户相绑定,才能生效;因此,这个新用户实际上是绑定它的NT用户的一个替身,在CVS系统中称为 “别名”。一个NT用户可以有多个‘替身’或‘别名’,充当多个CVS用户。
         ii. 选中【NewModule】目录,【Ctrl+L】或Admin=>Command Line…,弹出Command Line Settings对话框,输入或在输出框直接执行CVS命令。
             1 添加新用户【testuser】:cvs passwd -a testuser回车,设置密码,OK,完成。
             2 绑定【testuser】到【administrator】:cvs passwd -r administrator testuser回车,设置密码,OK,完成。
             3 两次输入的密码可以不同,但以第二次输入的密码为最终密码。
             4 删除用户【testuser】:cvs passwd -X testuser回车,OK,完成。

4、尾声
     a) 使用完毕后,一定要【Logout】,因为WinCVS退出时并不会自动注销自己在远端的会话;这样做是为了防止其它人接着打开WinCVS,不用登陆就可以完成你能进行的所有操作了。
     b) 本文介绍了管理员的常用操作,至于一般用户使用到的操作,相对比较简单和单一,也多在开发工具(如:Jbuilder,eclipse)中集成了,很快就能熟悉。
     c)CVSNT2.0.58d版本中,必须设置模块.否则eclipse的CVS显示不出模块信息。在设置模块时,模块名和路径名不要使用相同的名字,否则会出错 :”cvs server: module `ccms' in modules file contains infinite loop”