会员: 密码:  免费注册 | 忘记密码 | 会员登录 网页功能: 加入收藏 设为首页 网站搜索  
 安全技术技术文档
  · 安全配制
  · 工具介绍
  · 黑客教学
  · 防火墙
  · 漏洞分析
  · 破解专题
  · 黑客编程
  · 入侵检测
 安全技术论坛
  · 安全配制
  · 工具介绍
  · 防火墙
  · 黑客入侵
  · 漏洞检测
  · 破解方法
  · 杀毒专区
 安全技术工具下载
  · 扫描工具
  · 攻击程序
  · 后门木马
  · 拒绝服务
  · 口令破解
  · 代理程序
  · 防火墙
  · 加密解密
  · 入侵检测
  · 攻防演示
安全防线 > 工具介绍
Redhat7.0下CVS server 及webcvs配置
发表日期:2003-08-13 00:00:00作者:y 出处:  

配置CVS server,费了很大的力气才把它搞定,我是菜鸟,希望高手不要那砖头Pai me,我只是不希望其它

菜鸟不再费这么大的气力了,其中引用其他作者的文字我用[/c&v]... [c&v/]指出了

我的系统为Redhat 7.0,运行Apache

1.CVS Server配置

 RHLinux# mount /mnt/cdrom (如果不好用的话,你可以试一下mount -t iso9669 /dev/cdrom /mnt/cdrom)

 RHLinux# cd /mnt/cdrom/Redhat/RPM (不用解释了吧)

 RHLinux# rpm -ivh cvs-1.10.8.8.i386.rpm (安装cvs,你可以用rpm -qpl ...看安装的详细信息)

 RHLinux# vi /etc/service

   (应该有

     cvspserver 2401/tcp # cvs client/server operations 

     cvspserver 2401/udp # cvs client/server operations 

    这两行)

 

 

 ([/c&v]以下具体的作者我找不到了,所以,我不能写出作者的姓名,sorry

  感谢他的辛勤劳动

  要使cvs正常运行还需要对需要使用cvs的用户进行设置,下面是我在

  配置cvs使用的方法。首先建立一个用户组cvs,可以使用groupadd或者

  addgroup命名,也可以直接编辑/etc/group文件添加这个组,然后添加

  一个用户cvsroot, 然后修改/etc/passwd文件使cvsroot用户的缺省组

  是cvs组,而不是cvsroot组。建立/cvsroot目录,然后修改/cvsroot的

  属主及属性[c&v/]) 

 RHLinux# groupadd  cvs

 RHLinux# adduser cvsroot

 RHLinux# passwd  cvsroot

 

 修改/cvsroot的属主及属性 

 RHLinux# chown cvsroot.cvs /cvsroot 

 RHLinux# chmod 755 /cvsroot(原本应该是771,但是我们要配置cvsweb.cgi,下面再谈)。 

  

 RHLinux# cd /etc/xinetd.d

 

 RHLinux# vi cvspserver(创建一个新文件,文件名随意,注释为文件内容)

   /************************************************

    service cvspserver

              (service后面的名称一定要和你在/etc/service文件中的cvs服务名称

              一样,但是我不知道/etc/service文件中的cvs服务名称可以改否,rpm

              方式安装完后,那两行就在那了-----我是菜鸟嘛:)

    {

    disable = no

    flags = REUSE

    socket_type = stream

    wait = no

    user = root

    server = /usr/bin/cvs

    server_args = --allow-root=/home/cvsroot pserver

    log_on_failure += USERID

    }

    ************************************************/

  

 RHLinux# cvs -d /home/cvsroot init

       (对cvs进行初始化,你会发现/home/cvsroot下多了一个CVSROOT的子目录)

 RHLinux# /etc/init.d/xinetd restart (重新启动xinetd) 

  cvs -d :pserver:cvsroot@host:/home/cvsroot login

               (输入cvsroot用户在服务器上的口令,没有出现错误提示就表示成功了.) 

  

               (如果cvspserver成功起动后,netstat -l | grep tcp应能看到以下行:

                tcp 0 0 *:cvspserver *:* LISTEN)

2.WinCvs(Windows下客户端的配置):

[/c&v]  启动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服务了。[c&v/]

如何使用wincvs把自己的项目加到cvs中去

1) Make sure that all the source files you want to check into CVS are on one directory (or

subdirectories). This directory (folder) should NOT contain anything else! That is, it should not

contain executables, object files (.o), class files (.class), etc. It should only contain the

source files.

1) 确认你想加入的源文件全部在一个目录下。这个目录仅仅应当包含源文件,不应该有其他任何的可执行体、

  *.O,*.class....等类型的文件

2) 在wincvs "Modules"窗口中包含你的源文件的目录被选中

3) 在菜单"Create" ->"Import Module"选择目录,把它导入CVS

4) 重命名你的目录

5) 其他相关的内容请看wincvs文档

 

cvsweb配置

[/c&v]cvsweb是一个perl程序,现在的版本是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的问题。 

[c&v/]

  RHLinux# rpm -ivh cvsweb-1.79-3.noarch.rpm(顾不了那么多了,饥不择食嘛)

  

  RHLinux# cp /home/httpd/cvsweb.cgi /var/www/cgi-bin

 

  RHLinux# cd /etc/httpd/conf

  RHLinux# vi cvsweb.conf

    /************************************************************************

       找到%CVSROOT项

       更改其子项 'Configuration'=>'/home/cvsroot',

    *************************************************************************/

在浏览器中敲入http://RHLinux/cgi-bin/cvsweb.cgi如果出现CVS Repository页面也不要高兴的太早

继续进入下一级页面,如果出错,那么

  RHLinux# rlog (如果shell提示没有这个命令的话,找这个文件rcs-xx.-xx.i386.rpm)

  

  RHLinux# rpm -ivh rcs.........

         (OK了吗?没有?那你自己再找找原因吧,我没碰到过这种问题)

返回顶部】 【打印本页】 【关闭窗口

关于我们 / 给我留言 / 版权举报 / 意见建议 / 网站编程QQ群   
Copyright ©2003- 2024 Lihuasoft.net webmaster(at)lihuasoft.net 加载时间 0.00178