- 浏览: 21618 次
- 性别:
- 来自: 杭州
最新评论
一 CVS服务器的安装:
1。查看你的操作系统上是否安装了CVS:
#> rpm -qa|grep cvs
如果没有安装你可以在Redhat 第2张光盘上找到,另外你也可以在网上下载到最新的rpm包。很容易找,其实不存在什么linux版本。
2。建立cvs用户组:
#> groupadd cvs
3。建立cvs组的cvsroot用户和所属的目录:
#> useradd -g cvs -G cvs –d /cvsroot cvsroot
4。为cvsroot用户添加密码:
#> passwd cvsroot
5。改变 /cvsroot/ 的目录属性:
#> chmod –R 770 /cvsroot
6。改变用户登陆身份:
#> su cvsroot
7。开始创建单个项目:
#> cd /cvsroot
#> mkdir project1
#>mkdir project2
8。开始建立仓库:
#> cvs –d /cvsroot/project1 init
#> cvs –d /cvsroot/project2 init
#> chmod –R 770 ./project1/ ./project2/
9。建立CVS服务启动文件,我们使用xinetd方式:
#> [Crtl]+[d] 切换到root用户身份
#> cd /etc/xinetd.d
#> vi cvspserver
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server= /usr/bin/cvs
server_args= -f --allow-root=/home2/cvsroot/project1 --allow-root=/home2/cvsroot/project2 pserver log_on_failure += USERID
}
注:由于xinetd的server_args长度限制,当你想运行很多的单个仓库的时候,可以这么做:
#> vi cvspserver
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /cvsroot/cvs.run
log_on_failure += USERID
}
编写cvs.run脚本
#> vi /cvsroot/cvs.run
#!/bin/bash
/usr/bin/cvs -f
--allow-root=/cvsroot/project1
--allow-root=/cvsroot/project2
pserver
#>chmod +x /cvsroot/cvs.run
10。加入cvs服务:
#>vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
11。启动cvs服务:
#> /etc/init.d/xinetd restart
12。检查cvspserver服务是否已经启动:
#> netstat -l |grep cvspserver
应该有如下结果:
tcp 0 0 *:cvspserver *:* LISTEN
二。CVS服务的用户管理:
上面我们已经建立了project1和project2两个CVS仓库,下面我们分别给两个仓库建立cvs用户。
13。创建可以登陆cvs服务器的用户名和密码:
#> su cvsroot
#> vi /cvsroot/project1/CVSROOT/passwd
trotter:*****:cvsroot
mimi:*****:cvsroot
#>vi /cvsroot/project2/CVSROOT/passwd
trotter:*****:cvsroot
gary:*****:cvsroot
这两个文件的意思是有trotter,mimi,gary三个cvs用户,mimi拥有project1的使用权限,gary拥有project2的使用权限,trotter拥有project1和project2的使用权限。登陆后的权限是cvsroot权限。
注意:这里的cvs用户和系统用户是不同的。
14。*****为密码,由以下文件生成:
#> vi /cvsroot/passwd.pl
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}
";
#>chmod a+x /cvsroot/passwd.pl
15。如果你想生成一个密码是“123456”,则:
#> /cvsroot/passwd.pl “123456”
回车即可得到加密密码,用其替换passwd文件中的*****
16。Ok,cvs现在已经全部安装完成了,如果你想让一个用户拥有project1的权限,你就在/cvsroot/project1/CVSROOT/passwd中给他加入一个用户;如果你想让一个用户同时具有project1和project2的权限,你就给/cvsroot/project1/CVSROOT/passwd和/cvsroot/project2/CVSROOT/passwd里给他加一个用户名和密码相同的用户即可。最后,我们试用一下:
#> cvs -d :pserver:trotter@192.168.1.200:/cvsroot/project1 login
敲入命令回车后提示输入trotter的密码,你按照自己设置的密码输入,如果没有什么错误信息出现就是成功了(我的机器IP地址是192.168.1.200)
***另外,感谢我所参考过的文章的所有作者***
CVS服务器建立和权限配置
时间:2005-06-07 作者:hait 来源:chinaunix
建立和配置操作都是在Redhat Linux8.0上做的。系统带的CVS可执行程序在/usr/bin下面,版本信息为:Concurrent Versions System (CVS) 1.11.2 (client/server)。系统带的这个cvs可执行程序既可以当客户端使用,也可以用来建立cvs源代码库服务器。
建立一个源代码库主要有以下几步:
(1)初始化cvs服务器环境。
#cvs -d/usr/local/source init
之后进入/usr/local/source,可以看到有一个目录CVSROOT, 下面是初始化后的CVS服务器配置文件。暂且保持不动。
(2)把cvs服务放到xinetd系统服务中。
首先在/etc/xinetd.d目录下生成任务配置文件cvspserver,文件名称可以随便用。
其中内容大致如下:
service cvspserver
{
flags = REUSE
socket_type = stream
wait = no
user = root
protocol = tcp
server = /usr/bin/cvs
server_args = -f --allow-root=/usr/local/source pserver
disable = no
}
其中server_args一个参数指定了源代码库路径,一个指定了服务器使用密码认证方式。
第二,要确认/etc/services文件中,有cvspserver关键词,并分配了端口,如:cvspserver 2401/tcp。
第三,重新启动xinetd服务,cvs服务就可以用了。
(3)测试。假定cvs服务器在192.168.0.205上,系统上有一个用户cvs。登陆另一台linxu机器,执行下列命令可以完成测试:
$export CVSROOT=:pserver:cvs@192.168.0.205:2401/usr/local/source
$cvs login
输入密码,没有出错提示表示登陆成功。
如果想在一个linux系统上建多个源代码库,分别提供cvs服务。重复上面步骤就可以了。
第一步时候要注意使用一个不同路径。
第二步放到xinetd系统服务中稍微麻烦点。/etc/xinetd.d目录下要生成一个新的任务配置文件,例如cvspserver1,文件中service名称一定要区分第一个,例如service cvspserver1,server_args做相应变动。还要在/etc/services文件中,加入新的服务端口号,例如:cvspserver1 2402/tcp。重新启动xinetd服务.
第三步测试时候,可以这样设定:
$export CVSROOT=:pserver:cvs@192.168.0.205:2402/usr/local/source1
cvs作为并行版本控制系统,多用户读写是需要的。但有时候希望有些用户只能check out,不能提交新代码。有时希望cvs上的某些用户不能check out一些代码,例如和另一个开发组共用一个CVS,希望另一个组的成员不能check out自己组代码。
cvs服务器有一套自己的用户认证机制,我使用时候没采用,而是使用了系统上用户直接作为cvs服务器用户,采用linux组、用户权限实现了这样的功能。
举例说明,在linxu系统上模拟实际两个开发组a、b,分别有用户a-user1,a-user2,b-user1,b-user2。
模块a-source,希望a组成员都可以读写,b组成员没有任何权限。可以使用以下系列命令:
#chown -R a-user1 a-source
#chgrp -R a a-source
#chmod -R 770 a-source
如果希望模块a-source,只有a-user1可以写,同组其它用户可以读,b组成员没有任何权限,把chmod命令改成-R 750就行了。
必须说明的,cvs中默认一个用户checkout代码时候,会在当前模块下生成一个锁文件,如果这个用户对当前模块没有写权限,读是不可能的。配合上面的权限设置,必须改一下cvs服务器配置。改成不在当前模块目录下生成锁文件,把锁文件集中到一个所有用户都有读写权限的目录。修改配置文件CVSROOT/config:
# Put CVS lock files in this directory rather than directly in the repository.
#LockDir=/var/lock/cvs
把LockDir设上就可以了。
如何在linux环境下轻松搭建CVS服务器开发者在线 Builder.com.cn 更新时间:2007-08-22作者:吴剑 来源:eNet硅谷动力
本文关键词: Linux CVS
CVS是一种广泛应用的、开源的、透明于网络的版本控制系统。用户使用CVS时,首先要架设一台CVS服务器,在CVS服务器上导入项目实例、设置CVS项目访问控制等。而客户则通过客户端来访问CVS服务器,客户可以取得项目最新代码副本,提交自己修改的代码等,而客户可以从Internet、LAN甚至本机来访问CVS服务器。下面,我就带领大家在Linux环境下架设一台CVS服务器,希望能够对想要学习CVS服务器架设的朋友带来一些帮助。
1、下载源码
通过搜索引擎找到CVS的源代码包,也可以从CVS的官方网站cvshome.org上寻找,由于CVS历史上也出现过一些安全漏洞,所以建议要定期去其官方网站上看看有没有最新版本推出。
2、编译安装
[root@terry src]# tar -xjpvf cvs-1.12.5.tar.bz2
[root@terry src]# cd cvs-1.12.5
[root@terry cvs-1.12.5]# ./configure --prefix=/usr/local/terry_yu/cvs
--disable-server-flow-control
[root@terry cvs-1.12.5]# make
[root@terry cvs-1.12.5]# 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
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
重新启动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 /home/cvsroot
接下来进行初始化:
[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服务器了,要注意的是:本文介绍的添加用户的方法适用于小数量的用户,如果是有大规模的开发人员,推荐采用连接LDAP或者数据库来进行用户的认证服务。
【IT168 服务器学院】安装cvs后服务器和客户端就都安装了,主要是需要配置服务器端:
1.查看是否安装cvs(我的redhat9缺省是装了的)
rpm -qa|grep cvs
一般安装在/usr/bin/cvs,如果未安装,到www.cvshome.org下载一个最新的rpm安装即可
rpm -ivh cvs-1.11.2-10.i386.rpm
2.建立cvs用户组,便于管理cvs用户
groupadd cvs
3.建立cvs组的cvsroot用户和所属的目录
useradd -g cvs -G cvs -d /home/cvsroot cvsroot
4.为cvsroot用户添加密码
passwd cvsroot
5.改变/home/cvsroot的目录属性
chmod 775 /home/cvsroot
6.初始化cvs源代码库,此操作生成目录/home/cvsroot/CVSROOT,其下为一些初始化文件
cvs -d /home/cvsroot init
7.加入cvs服务(我的redhath9缺省就有cvs服务,所以不用加)
vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
8.cvs服务由inted来唤起,因此需要改动inetd提供的服务,如果你的redhat使用的是inetd 方式则在文件/etc/inetd.conf中加入如下的内容:cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver
我的redhat9使用的是xinetd方式,所以在xinetd.d目录下添加需要启动的服务:
cd /etc/xinetd.d
vi cvspserver
文件内容:
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_failure += USERID
}
9.重新启动inetd或者xinetd:
/etc/init.d/xinetd restart
10.检查cvspserver服务是否已经启动
netstat -l |grep cvspserver
应该有如下结果:
tcp 0 0 *:cvspserver *:* LISTEN
11.测试:
cvs -d :pserver:liuyw@192.168.1.196:/home/cvsroot login
敲入命令回车后提示输入liuyw的密码,你按照自己设置的密码输入,如果没有什么错误信息出现就是成功了(我的机器IP地址是192.168.1.196,也可以用localhost)
发表评论
-
Java反射Reflection--运行时生成instance
2009-11-18 10:17 1361文章来自: 博客浙江(blog.zj.com) 原文参考:ht ... -
Java反射经典实例 Java Reflection
2009-11-18 10:12 779http://jeplove.blog.zj.com/blog ... -
JProfiler试用手记
2009-04-13 16:00 840JProfiler是一款Java的性能监控工具。可以查看当前应 ... -
优化SQL的另一种思维1 性能调整综述
2009-04-12 17:34 1301作者: Peak Wong, 出处:IT专家网, 责任编辑: ... -
利用Oracle 10g SQL优化器(STA)优化语句(1)
2009-04-12 16:57 1814作者: fuyuncat 来源: w ... -
JAVA基础--JAVA中的反射机制详解
2009-02-25 22:41 778JAVA反射机制 JAVA反射机制是在运行状态中,对于任 ... -
Java中int和Integer的区别详解
2009-02-23 21:18 1168Java中int和Integer关系是比较微妙的。关系如下: ... -
Portal(门户)是什么--IT术语
2009-02-23 21:12 3125Portal 的组成可以分为 ... -
StringBuilder类
2009-02-20 21:40 13211.3 StringBuilder类 一个String对象 ... -
Java的内存泄漏
2009-02-20 18:13 794一 问题的提出 Java ... -
JDK核心API:Java1.5语言新特性简单总结
2009-02-20 18:05 10241. 自动装箱与拆箱 对应C# 例1.1 ... -
优秀Java程序员必须了解GC的工作原理
2009-02-20 17:57 895一个优秀的Java程序员必 ... -
转:大型互联网网站架构心得之一
2009-02-06 22:10 1135我们知道,对于一个大 ... -
Jive论坛与Spring框架的经典结合
2008-12-28 15:42 975没有一种新技术是凭空诞生的,它的萌芽或胚胎总是或多或少显现于以 ... -
开源技术分析:AOP和Spring事务处理
2008-12-27 22:01 793一.为什么要用框架 ...
相关推荐
本篇文章将详细介绍如何在Windows环境下安装和配置CVS服务器。通过本文的学习,您将能够独立完成CVS服务器的安装、配置以及基本的用户管理操作。 #### 二、CVS 服务器安装步骤 ##### 2.1 下载CVSNT安装包 1. 访问...
通过对CVS服务器的正确配置和使用,可以有效地管理项目版本,提高开发效率,减少错误和混乱。随着软件工程实践的发展,虽然有更多先进的版本控制系统(如Git)出现,但CVS仍然是值得学习和掌握的重要工具之一。
《CVS服务器端配置详解》 CVS(Concurrent Versions System)是一种版本控制系统,...总之,配置CVS服务器端是一个涉及安装、初始化、服务配置和测试的过程,理解并掌握这些步骤对于有效管理和协作软件项目至关重要。
1. 安装CVS服务器:首先需要在服务器端安装CVS服务程序,如在Unix/Linux环境下通常使用CVSNT在Windows上。确保安装完成后,CVS守护进程(cvsd)能够正常启动。 2. 配置CVS仓库:创建一个目录作为CVS仓库,例如 `/...
当需要将现有的CVS服务器上的版本库迁移到新的服务器时,必须遵循一系列步骤来确保数据完整无损地转移。本文将详细介绍在Windows环境下进行CVS服务器版本库迁移的具体操作流程。 #### 二、迁移前准备 在进行CVS...
**CVS客户端**是用户与CVS服务器交互的工具,主要功能包括: 1. **检出(Checkout)**:从服务器获取最新的源代码,创建本地工作副本。 2. **更新(Update)**:在本地工作副本中同步服务器上的最新改动。 3. **提交...
本文将详细介绍如何搭建一个CVS服务器环境,并涉及权限控制的设置。 首先,要搭建CVS服务器,你需要下载CVS服务器软件。在这里我们推荐使用cvsnt,它是一个对原始CVS进行了增强的版本,支持Windows和Unix平台。你...
### CVS服务器和Eclipse配置详解 #### 一、CVS简介与重要性 CVS(Concurrent Versions System)是一款开源版本控制系统,它主要用于管理软件项目的源代码版本控制。CVS支持多用户协作开发,能够有效地处理同一项目...
**一、CVS服务器安装** 1. **Python**:CVS服务器需要Python作为其依赖环境,因此首先需要安装Python-2.2.3.exe。在安装时选择完全安装,并确保将Python的安装路径添加到系统环境变量Path中,以便服务器能够找到...
总结,CVS在Windows上的安装和配置虽然相比Unix系统可能稍显复杂,但借助详细的安装指南和丰富的文档资源,开发者完全可以顺利地在Windows环境中搭建起一个功能完备的CVS服务器。了解并掌握CVS的使用,对于多人协作...
CentOS 5 CVS 安装与配置 在本文中,我们将一步一步地指导您如何在 CentOS 5 中安装和配置 CVS(Concurrent Versions System),并且介绍...这时候,我们已经成功地安装和配置了 CVS 服务器,并创建了 cvs 服务用户。
在Windows环境下安装配置CVS服务器是一项基础的IT任务,尤其对于团队协作开发来说,CVS(Concurrent Versions System)是一种流行的源代码版本控制系统。以下将详细介绍如何在Windows上安装和配置CVSNT服务器。 ...
在提供的文件列表中,`cvsnt-2.5.03.2382.rar`是一个可能的CVS服务器版本,它是一个名为CVSNT的Windows实现。你可以从官方网站或者可信的第三方下载站点获取最新版本的CVS安装包。 **CVS安装步骤:** 1. **解压**:...
CVSNT是CVS的一个Windows版本,它提供了更友好的界面和Windows服务支持,使得在Windows系统上搭建CVS服务器变得更加简便。CVSNT不仅保留了CVS的核心功能,还添加了一些额外的特性,如更好的权限管理,支持更多的...
cvs安装软件 其中主要是包括了CVS服务器安装软件