• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件测试之配置管理工具cvs的配置和使用

发布: 2009-2-27 10:10 | 作者: 不详 | 来源: 测试时代采编 | 查看: 165次 | 进入软件测试论坛讨论

领测软件测试网

    到这里我们就配置完了cvs的启动所需要的文件,但是要使cvs正常运行还需要对需要使用cvs的用户进行设置,下面是我在配置cvs是使用的方法。首先建立一个用户组cvs,可以使用groupadd或者addgroup命名,也可以直接编辑/etc/group文件添加这个组,然后添加一个用户cvsroot, 然后修改/etc/passwd文件使cvsroot用户的缺省组是cvs组,而不是cvsroot组。建立/cvsroot目录,然后修改/cvsroot的属主及属
性:
#chown cvsroot.cvs /cvsroot
#chmod 755 /cvsroot
    (原文这里是771,但是我们要配置cvsweb.cgi,下面再谈)。
    对cvs进行初始化:cvs -d /cvsroot init
        这样cvs服务器就可以使用了,用cvs -d :pserver:cvsroot@host:/cvsroot login登陆,输入cvsroot用户在服务器上的口令,没有出现错误提示就表示成功了。

        下面讲述Windows下客户端的配置,我只会用wincvs,觉得很不错,不用记那些繁琐对命令:)可以从http://www.cvshome.org找到相应的下载地址,在linuxforum也有下载,3M多一点。启动wincvs在Admin菜单中选择preferences然后在global页中设置CVSROOT,就是:pserver:cvsroot@host:/cvsroot。在认证方式中选择passwd file on the cvs server, 在下面的版本号中选择合适的版本,执行Admin菜单中的login,在提示框输入口令,如果Output窗口出现以下提示:
*****CVS exited normally with code 0*****
        就表示我们现在可以在Windows下使用cvs服务了。我开始不知道成功了,还满大街的问wincvs怎么了:(
        英文好就看wincvs自带的帮助文挡,我也推荐两个文档:)
    wincvs.pdf winhtml.zip

    特别是这个pdf文档确实不错,还是中文的:)


    如果你想在网页里给大家显示你的项目,那么cvsweb是一个不错的选择。这是一个perl程序,可以到以下地址找到最新版:
http://stud.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi
        现在的版本是1.93,记得要用新版,1.8以下有一个小小的漏洞,可以到绿盟查一查。
        由于是cgi程序,是以nobody用户执行的,所以/cvsroot的属性要设成775。开始我按章照搬,把属性改成771,结果项目的目录就是不出来,埋葬了半天的青春:(还有记得把/cvsroot/CVSROOT/history的属性改成666。cvsweb.conf里%CVSROOT数组的Configuration设成/cvsroot,就是cvs仓库的路径不要那个长长CVSROOT变量。这些其实在它的说明文档和程序注释里都讲到了,只是这个世界是懒人的世界:)


        一切都阳春白雪,可以埋头写程序了?只是cvs还有一个小小的DoS漏洞要跟大家说一下:(每个cvs的操作过程会以操作用户的身份在/tmp下临时建一个锁定了的目录cvs_servPID,这时如果有人建了大量的同类文件就会使cvs的操作出错,会提示:
cannot change permissions on temporary directory
Operation not permitted
    下面是测试的perl程序:
#!/usr/bin/perl
#$min和$max的值根据实际情况修改
$min=400;
$max=4000;
for ($x=$min;$x<=$max;$x++) {
open CVSTMP, ">>/tmp/cvs-serv$x" or die "/tmp/cvs-serv$x: $!";
chmod 0600, "/tmp/cvs-serv$x";
close CVSTMP;
}

    解决方法:
        使用server.c中的mktemp(3)函数或者其它任何可以产生唯一文件名的方法。在/tmp/目录所在的分区使用空间配额也能解决部分问题。 主要还是扎紧篱笆,莫让别人闯进来,这毕竟是一个local的问题。

更多相关的软件测试文章:cvs客户端大全CVS与配置管理


延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网