发一个修正以后的CVS服务器配置步骤

发表于:2007-06-21来源:作者:点击数: 标签:
今天配置 CVS 服务器 得时候,才突然发现一个问题,在本论坛精华区里面的CVS服务器配置过程有一个错误!!居然没有人发现?! 重新写一下CVS服务器的配置过程: * 检查 /etc/services 首先键入 vi /etc/services 然后键入 /cvspserver 如果找到的行前面并没

   
  今天配置CVS服务器得时候,才突然发现一个问题,在本论坛精华区里面的CVS服务器配置过程有一个错误!!居然没有人发现?!

重新写一下CVS服务器的配置过程:


* 检查 /etc/services
首先键入 vi /etc/services

然后键入 /cvspserver
如果找到的行前面并没有#,那么就不用修改了,否则去掉行首的#

* 在 /etc/x.netd.d 目录下创建一个文件,随便命名,比如 cvs
vi /etc/xinetd.d/cvs
在其中添上
引用:

service cvspserver
{
socket_type = stream
wait = no
user = root
env = HOME=
server = /usr/bin/cvs
# 以下配置选项是错误的,错误之处用红色标记
# server-tags = --allow-root=/home/cvsroot pserver
server_args = --allow-root=/home/cvsroot pserver
}


* 保存以后创建一个名为 cvs 的组和一个名为 cvsroot 的用户
groupadd cvs
useradd -g cvs -s /sbin/nologin cvsroot

* 然后
vi /etc/profile
在其中添上
export CVSROOT = /home/cvsroot

* 重启 xinetd:
/etc/init.d/xinetd restart

* 初始化CVS仓库
cvs -d /home/cvsroot init

这样CVS就可以用了



如果不修改以上的错误,就会在cvs login的时候出现:cvs [login aborted]: unrecognized auth response from localhost: Usage: cvs [cvs-options] command [command-options-and-arguments] 这样的错误提示。

使用提示:
* 添加仓库: 进入到你的源码目录
cd /your/sources/path
然后执行
cvs export SOURCE_DIR_NAME Author Version
其中的SOURCE_DIR_NAME 就是你的工程在 CVSROOT 目录中保存的目录名, Author 为工程作者, Version 为你的工程发行版本号,必须以字母开头

* 添加匿名只读用户:
useradd -g cvs -M -s /sbin/nologin anonymous
chmod 644 /home/cvsroot/CVSROOT/passwd
echo "anonymous::anonymous" >> /home/cvsroot/CVSROOT/passwd
chmod 444 /home/cvsroot/CVSROOT/passwd
echo "anonymous" >> /home/cvsroot/CVSROOT/readers
chmod 444 /home/cvsroot/readers

* 防止CVSROOT被下载:
chmod 644 /home/cvsroot/CVSROOT/modules
echo "CVSROOT -a" >> /home/cvsroot/CVSROOT/modules
chmod 444 /home/cvsroot/CVSROOT/modules

* 不使用 real system user 登陆:
chmod 644 $CVSROOT/CVSROOT/config
vi $CVSROOT/CVSROOT/config
将第二行的
#SystemAuth = no
去掉注释,即改为
SystemAuth = no



以上内容在RedHat ES 3 U2上测试通过

原文转自:http://www.ltesting.net