在FC7 Linux操作系统下构建CVS服务器的方法

安装完Fedora7后系统自己就安装好CVS软件了,无需在/etc/xinetd.d/下创建配置文件cvs了,默认的配置文件如下:

# 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 = yes

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=/var/cvs pserver

# bind = 127.0.0.1

}

前期工作:

默认是没有安装上xinetd服务,所以先安装xinetd服务#yum install xinetd

然后更改/etc/xinetd.d/cvs, 把disable=yes 改为 disable=no

重启xinetd服务, #service xinetd restart

创建用户和密码

首先要创建一个名为cvs的组和一个名为cvsroot的用户,以后要访问CVS服务的用户加入cvs这个组:

[root@rocketcnvm ~]# groupadd cvs

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

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

接下来进行初始化:

[root@rocketcnvm ~]#cvs -d /var/cvs init

这样在/var/cvs目录中就产生了CVSROOT目录,其中存放了一些配置文件,如config等,然后设置:

[root@rocketcnvm ~]#chown -R cvsroot:cvs /var/cvs

[root@rocketcnvm ~]#chmod -R ug+rwx /var/cvs

[root@rocketcnvm ~]#chmod 644 /var/cvs/CVSROOT/config

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

[root@rocketcnvm ~]#useradd -g cvs -M rocketpro1

[root@rocketcnvm ~]#password rocketpro1

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

[root@rocketcnvm ~]#cp /etc/shadow /var/cvs/CVSROOT/passwd

[root@rocketcnvm ~]#chmod 0644 /var/cvs/CVSROOT/passwd

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

rocketpro1:$1$RO3GIeUt$6Sbq5uUqzusuK/R1Hua4k/:cvsroot

然后,删除掉刚刚在系统中添加的那个用户rocketpro1(如果要想让该用户也是操作系统的用户,也可以不删除该用户,如果只允许该用户访问CVS那么可以将该用户删除)

[root@rocketcnvm ~]#userdel -f rocketpro1

使用CVS服务器

现在可以找一台windows机器,装个smartcvs,然后设置一下,填写好用户名和密码就可以了。