如何在linux环境下搭建CVS服务器

1 、下载源码

   CVS 的官方网站 cvshome.org 上寻找,由于 CVS 历史上也出现过一些安全漏洞,所以建议要定期去其官方网站上看看有没有最新版本推出。

   2 、编译安装

   # tar -xjpvf cvs-1.12.5.tar.bz2

   # cd cvs-1.12.5

   # ./configure --prefix=/usr/local/terry_yu/cvs   --disable-server-flow-control

   # make

   # make install

  以上指令将 CVS 安装到 /usr/local/terry_yu/cvs 这个目录上。

  注:除了使用源码包进行安装之外,还可以使用 RPM 包来安装。

   3 、设置启动 CVS 服务

  在 Linux CVS 服务可以通过 inetd xinetd tcpwrapper 等来启动,其中 inetd 由于安全理由在许多场合已经被 xinetd 所取代了,这里我们使用 xinetd 来启动 CVS 服务。 /etc/xinetd.d 目录下为 CVS 服务创建一个配置文件,比如: /etc/xinetd.d/cvspserver ,编辑 /etc/xinetd.d/cvspserver ,输入以下内容:

   service cvspserver

   {

   disable = no

   socket_type = stream

   wait = no

   user = root

   env = HOME=

   server = /usr/bin/cvs

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

   }

注: 1)pserver 表示是口令认证的访问方式,这是最常用的方式,其他还有 gserver,kserver,ext ,如果想要更高的安全性可以使用 ssh 来加密口令和数据流,为了用户使用的方便,仍然选的是 pserver

        2)--allow-root 是指定 Repository 的目录,可以建立多个 Repository

    然后重启 xinetd:
   [root@terry bin]# /etc/rc.d/init.d/xinetd restart
  重启 xinetd 服务后, CVS 服务也开始工作了。

   4 、在 CVS 服务器端建立 Repository

  首先要创建一个名为 cvs 的组和一个名为 cvsroot 的用户,以后要访问 CVS 服务的用户加入 cvs 这个组:
   [root@terry root]# groupadd cvs
   [root@terry root]# useradd -g cvs -s /sbin/nologin cvsroot
   [root@terry root]# chown -R cvsroot /cvs
  接下来进行初始化:
   [root@terry root]# cvs -d /home/cvsroot init
  这样在 /home/cvsroot 目录中就产生了 CVSROOT 目录,其中存放了一些配置文件,如 config 等,然后设置权限:
   [root@terry root]# chown -R cvsroot.cvs /home/cvsroot
   [root@terry root]# chmod -R ug+rwx /home/cvsroot
   [root@terry root]# chmod 644 /home/cvsroot/CVSROOT/config

  为了 CVS 系统的安全,我们要修改 /home/cvsroot/CVSROOT/config 文件,将 “#SystemAuth =no” 前面的注释号 # 去掉,即改为 “SystemAuth =no” ,然后给开发者们逐一建立账号,新建的不要分配用户目录,因为它将作为一个虚拟用户帐号来使用,具体命令如:

   [root@terry root]# useradd -g cvs -M bogus
   [root@terry root]# passwd bogus


  上面的命令就创建了一个并没有 Home 目录的用户 bogus ,接着将系统的 shadow 文件复制到 CVSROOT, 并重命名为 passwd:

   [root@terry root]# cp /etc/shadow /home/cvsroot/CVSROOT/passwd
   [root@terry root]# chmod 0644 /home/cvsroot/CVSROOT/passwd

  然后修改 passwd 文件,将除 bogus 之外的所有行删除,然后去掉每行第二个冒号以后的所有内容,并添上字符串 cvsroot, 改为如下格式:
   bogus:ND5$J8N9BW5DKV.nPdxfdsh:cvsroot


  然后,删除掉刚刚在系统中添加的那个用户 bogus:

   [root@terry root]# userdel -f bogus         

      好了,到这里, CVS 服务器端就已经设置好了,这样你的 CVS 用户就只能用 passwd 中规定的用户来登陆你的 CVS 服务器了

你可能感兴趣的:(linux,server,Stream,socket,服务器,cvs)