《Linux操作系统下配置CVS服务器》

wozijisunfly 2009-07-05

1、   验证是否已安装CVS

若不想使用自带版本,可以用

#rpm –e cvs

删除自系统自带的cvs 安装包

从htttp://www.cvshome.org获取最新的安装包cvs-1.11.21.tar.gz

解压该包并安装:

# tar zxvf cvs-1.11.21.tar.gz

进入解压包 cvs-1.11.21

# ./configure –prefix=你的安装目录

&&make

&&make install

2、   创建CVS用户组与用户

root用户下执行以下命令:

[root@rocketcnvm ~]# groupadd cvs

[root@rocketcnvm ~]#useradd -g cvs -s /sbin/nologin cvsroot

[root@rocketcnvm ~]#chown -R cvsroot /home/cvsroot

3、创建CVSROOT  (CVS仓库的根目录)

root用户下执行:

#mkdir /cvsroot  此处可改为你想要的cvsroot路径

#chown -R cvsroot:cvs /cvsroot 更改cvsroot权限

4、初始化CVS仓库

需要在cvsroot用户下执行

#su - cvsroot

#cvs -d /cvsroot init 此处对应上面创建的cvsroot路径 

#注:对应后面/etc/xinetd.d/cvspserver文件的配置

5、修改环境变量             

编辑/etc/profile或者/home下相应用户的.profile文件

此处已修改/etc/profile为例:

#exit

退回到root用户,只有root用户才有权限修改/etc/profile

#vi /etc/profile 编辑/etc/profile文件

在末尾加上以下两句:

CVSROOT=/cvsroot

export CVSROOT

更新环境变量:

#source  /etc/profile

此时系统已经认识$CVSROOT这样的环境变量

6、启动cvs服务器:

在/etc/xinetd.d/目录下创建文件cvspserver,内容如下:

# default: off
# description: The CVS service can record the history of your source \
#              files. CVS stores all the versions of a file in a single \
#              file in a clever way that only stores the differences \
#              between versions.
service cvspserver
{
        disable                 = no
        port                    = 2401
        socket_type             = stream
        protocol                = tcp
        wait                    = no
        user                    = root
        passenv                 = PATH
        server                  = /usr/bin/cvs
        env                     = HOME=/var/cvs
        server_args             = -f --allow-root=/cvsroot pserver

#only_from = 192.168.10.0/24           

#注,24是子网掩码的长度,对应255.255.255.0  # bind = 127.0.0.1}

其中only_from是用来限制访问的,可以根据实际情况不要或者修改。

修改该文件权限:

# chmod 644 cvspserver

然后重新启动xinetd:

# /etc/rc.d/init.d/xinetd restart

#service xinetd restart

然后察看cvs服务器是否已经运行:

# netstat -lnp|grep 2401

tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN xxxxxx/xinetd

则说明cvs服务器已经运行。

  

7、建立cvs用户

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

[root@terry root]# chmod -R ug+rwx /cvsroot

[root@terry root]# chmod 644 /cvsroot/CVSROOT/config

[root@terry root]# useradd -g cvs -M gaoshang

[root@terry root]# passwd gaoshang

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

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

[root@terry root]# chmod 0644 /cvsroot/CVSROOT/passwd

然后修改passwd文件,将除刚才设定的可使用CVS的用户cvsroot及gaoshang之外的所有行删除,然后去掉每行第二个冒号以后的所有内容,并添上字符串cvsroot, 改为如下格式:

[root@test11 CVSROOT]# more passwd

    cvsroot:$h3ntACe9$cM2SADto6B9P5h5Wrbgyi.:cvsroot

    gaoshang:ttSJv9AK.zzZhhHLEQZnZPgEe8f1:cvsroot

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

[root@terry root]# userdel -f gaoshang

(这里主要是使用系统在创建用户时,为用户密码生成的的密文)

好了,至此,CVS服务器端已配置完成。这时你的CVS用户就只能用passwd中规定的用户来登陆你的CVS服务器了

8 .为用户分配权限

  在/cvsroot/CVSROOT/下 ,加入两个文件 readers ,  writers

  将只能读权限的用户加入 readers 文件,

  将具有写权限的用户加入writers 文件。

  如:# vi writers

   gaoshang

相关推荐

xylin / 0评论 2014-03-26