一下为转帖一篇CVS权限管理手册 1、前言: CVS(Concurrent Versions System 并发版本系统)是C/S结构的版本管理系统。允许多人同时对一个原代码库(Repository)的文件进行访问、操作。 CVS是“拷贝--修改--合并”的模型。 目前在Linux和Windows下都有不同版本。其官方网站为服务器端:http://www. 客户端:http:///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”
|