第二次配置CVS服务器体会:
1、要用清醒的头脑做事情,不然很容易犯低级错误。
2、Linux可能比Window更像woman:出错了,你不知道哪里错,我也不会告诉你。
首先确保系统安装有cvs:
[root@mail xinetd.d]# rpm -qa|grep cvs
cvs-1.11.1p1-3
如果命令输出类似于上面的输出则说明系统已经安装有cvs,否则就需要从安装光盘中安装cvs的rpm包。
一 创建CVS属主用户(用于管理CVS,做CVS操作):
useradd -d /deke/cvscore/ cvs
chmod 771 /deke/cvscore/
二、建立CVS仓库(初始化cvs)
# su cvs
$ cvs -d /deke/cvscore/ init
$exit
#
三、启动cvs服务器
在Linux上CVS服务可以通过inetd、xinetd或tcpwrapper等来启动,其中inetd由于安全理由在许多场合已经被xinetd所取代了。这里我们使用xinetd来启动CVS服务。
在/etc/xinetd.d/目录下创建文件cvs,内容如下:
# default: on
# description: The cvs server sessions;
service cvspserver
{
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root= /deke/cvscore/ pserver
log_on_failure += USERID
}
注:
1)pserver表示是口令认证的访问方式,这是最常用的方式,其他还有gserver,kserver,ext,如果想要更高的安全性可以使用ssh来加密口令和数据流,不过这里为了用户使用的方便,仍然选的是pserver
2)--allow-root是指定Repository的目录,可以建立多个Repository
3)请注意每行等号左右都有一个空格,否则无法启动服务。
修改该文件权限:
# chmod 644 cvs
然后重新启动xinetd:
# /etc/rc.d/init.d/xinetd restart
然后察看cvs服务器是否已经运行:
[root@mail xinetd.d]# netstat -lnp|grep 2401
tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN 7866/xinetd
则说明cvs服务器已经运行。
四、创建用来访问cvs的用户
前面创建的cvs用户是cvs仓库管理用户,而为了让用户访问则还需要一个访问用户:
# useradd cvspub
# usermod -G cvs cvspub
这里添加了一个用户cvspub,并且将该用户添加到cvs组中。
五、管理cvs服务器
CVS默认使用系统用户登录,为了系统安全性的考虑也可以使用独立的用户管理。CVS用户名和密码保存在CVSROOT目录下的passwd文件中,格式为:
用户名:密码:系统用户
也就是说,它把CVS用户映射到系统用户,这样我们就可以通过系统用户的权限设置来分配给用户不同的权限,而不需要让用户知道系统用户名和密码。
注意:CVS用户不能跟系统用户重名,否则会提示没有权限之类错误。
passwd文件默认并不存在,我们必须自己创建。文件中的密码字段使用MD5加密,不幸的是CVS没有提供添加用户名的命令,所以我们借用Apache的命令来完成这项工作:
#htpasswd passwd username
这个命令为username指定密码,并保存在passwd中,文件不存在时会自动创建。htpasswd命令不是为CVS而设,因此总有一些遗憾,它不能自动添加映射到的用户名,不过没关系,我们设置好密码后,自己把这部分加上。我的做法是映射到cvspub用户,如果需要映射其他的用户,请注意给相应的目录设置好权限,否则CVS用户可能无法访问源代码仓库。
要彻底防止使用系统帐号登陆,可以编辑CVSROOT目录下的config文件,把
代码:
#SystemAuth=no
这一行前面的#去掉,CVS就不会验证系统用户了,否则当用户名不在passwd文件中时,CVS会进行系统用户的验证。
此外还必须配置读写权限,使用CVSROOT目录下的readers和writers文件进行这个工作。这2个文件默认也是没有的,没关系,自己创建就可以了。readers文件记录拥有只读权限的用户名,每行一个用户;writers文件记录拥有读写权限的用户名,也是每行一个用户。注意, readers文件比writers优先,也就是说出现在readers中的用户将会是只读的,不管writers文件中是否存在该用户。
readers、writers有没有效果?
六、源代码仓库的备份和移动
基本上,CVS的源代码仓库没有什么特别之处,完全可以用文件备份的方式进行备份。需要注意的只是,应该确认备份的过程中没有用户提交修改,具体的做法可以是停止CVS服务器或者使用锁等等。恢复时只需要把这些文件按原来的目录结构存放好,因为CVS的每一个模块都是单独的一个目录,与其他模块和目录没有任何瓜葛,相当方便。甚至只需要在仓库中删除一个目录或者文件,便可以删除该模块的一些内容,不过并不建议这么做,使用CVS的删除功能将会有一个历史记录,而对仓库的直接删除不留任何痕迹,这对项目管理是不利的。移动仓库与备份相似,只需要把该模块的目录移动到新的路径,便可以使用了。
如果不幸在备份之后有过一些修改并且执行了提交,当服务器出现问题需要恢复源代码仓库时,开发者提交新的修改就会出现版本不一致的错误。此时只需要把CVS相关的目录和文件删除,即可把新的修改提交。
分享到:
相关推荐
### CVS服务器搭建与SSH安全访问配置指南 #### 一、CVS服务器概述及搭建 **CVS (Concurrent Versions System)** 是一种版本控制系统,主要用于管理软件开发中的源代码变更历史。它支持多人协作开发,能够追踪文件...
CVS 的基本工作思路是这样的:在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序。由仓库管理员统一管理这些源程序.这样,就好象只有一个人在修改文件一样.避免了冲突.每个用户在使用仓库之前,...
### CVS服务器和Eclipse配置详解 #### 一、CVS简介与重要性 CVS(Concurrent Versions System)是一款开源版本控制系统,它主要用于管理软件项目的源代码版本控制。CVS支持多用户协作开发,能够有效地处理同一项目...
本文档主要介绍了如何配置CVS服务器和客户端,以实现高效的代码管理和协作。 ### CVS服务器配置 #### 1.1 安装CVSNT 在Windows环境下,你需要下载并安装CVSNT,这是一个Windows版的CVS服务器。可以从官方网站...
总结,CVS在Windows上的安装和配置虽然相比Unix系统可能稍显复杂,但借助详细的安装指南和丰富的文档资源,开发者完全可以顺利地在Windows环境中搭建起一个功能完备的CVS服务器。了解并掌握CVS的使用,对于多人协作...
3. **设置访问控制**: `CVS 权限配置参考.pdf` 提供了关于如何配置CVS服务器访问权限的详细信息。你可以设置用户账号,分配不同的读写权限,确保只有授权的用户能够访问和修改代码。 4. **防火墙配置**: 如果服务器...
【CVS服务器的搭建与配置】是一篇详细指导如何建立和配置CVS(Concurrent Versions System)服务器的文章,旨在帮助用户实现版本控制系统的部署。CVS是一个开源的、基于网络的版本控制系统,允许多个人协作开发同一...
《CVS服务器配置与Eclipse客户端的集成指南》 CVS(Concurrent Versions System)是一种版本控制系统,用于管理软件项目中的源代码和其他文件的版本。CVSNT是CVS的一个分支,提供了更多的功能和改进。在本文中,...
标签中的"cvs服务端"强调了这个包的重点在于设置和管理CVS服务器,这对于团队协作和项目管理至关重要。"cvs视频"和"cvs资料"表明,学习资源涵盖不同的媒体形式,适合不同学习风格的用户。 总的来说,这个压缩包提供...
本文将详细介绍如何管理和配置CVS服务器,并为初学者提供实用指南。 #### 安装与配置CVS服务器 ##### 1. 安装CVSNT - **选择安装目录**:首先,需要确定CVSNT的安装位置,例如可以设置为`cvshome`目录下。该目录...
### Windows下搭建CVS服务器详解 #### 一、引言 在软件开发过程中,版本控制系统是不可或缺的一部分。其中,CVS(Concurrent Versions System)作为最早的版本控制系统之一,在早期的软件开发团队中得到了广泛的...
- **创建CVS模块**:作为项目管理员,你需要在CVS服务器上创建一个模块,这对应于本地的工作目录。例如,创建名为ProjectX的模块。 - **配置CVS服务器信息**:提供服务器地址(如61.155.107.187)、协议(pserver...
- **CVSROOT**: 指定CVS服务器的根目录,例如使用`pserver`协议连接到IP地址为`192.168.47.190`的服务器上的`f:/cvsarchive`目录。 #### 二、基本操作 CVS提供了丰富的命令行功能,支持各种版本控制需求。 ##### ...
"CVSNT WINCVS CVS服务器和客户端安装程序"是一个集合,包含了安装和配置CVSNT服务器和客户端所需的所有组件。 1. **CVSNT介绍**:CVSNT是CVS的一个分支,它修复了原始CVS的一些问题,并添加了一些新特性,如...
2. **安装与配置**:在开始使用CVS之前,你需要在你的操作系统上安装并配置CVS服务器和客户端。指南将详细介绍在Windows、Linux和Mac OS等不同平台上安装CVS的步骤和注意事项。 3. **命令行操作**:CVS主要通过...
- **CVS服务器**:首先,你需要在服务器端安装并配置CVS服务器,这通常涉及设置CVSROOT目录、用户权限以及网络通信设置。确保服务器能够正常监听和响应来自客户端的请求。 - **WinCVS客户端**:对于Windows用户,...