当前位置:  技术问答>linux和unix

CVS服务器的简洁配置方法?

    来源: 互联网  发布时间:2015-07-26

    本文导语:  能不能给提供点电子文档,谢谢 | CVS服务器的安装与管理 作者:trotter  出处:http://www.gbunix.com  关键词:cvs多仓库、多cvsroot、cvs交叉权限  CVS服务器的安装与设置相关文档网上已经很多了,...

能不能给提供点电子文档,谢谢

|
CVS服务器的安装与管理
作者:trotter 
出处:http://www.gbunix.com 

关键词:cvs多仓库、多cvsroot、cvs交叉权限 

CVS服务器的安装与设置相关文档网上已经很多了,但是对于如何管理CVS服务器技巧方面的文档很少。笔者就曾经遇到这样的情况:有好几个团队同时开发好几个项目,共享一台CVS服务器,需求是各个团队CVS权限分开,不可以互相访问。但是PM,测试工程师需要同时拥有好几个项目的权限。这样就出现了交叉权限。权限怎么分配呢?有很多朋友第一个概念就是使用操作系统的组的权限去划分,我也是被这种思路整整困了好几个月。我告诉大家的是,使用操作系统的组去进行权限的划分与传递,会给管理带来很大的困难。由于篇幅的关系,具体原因我就不进行阐述了。如果你有兴趣,可以自己试一下就明白了。这篇文档我主要想说明通过CVS多仓库(多cvsroot)来实现权限的分离与交叉。 

一 CVS服务器的安装: 

1。查看你的操作系统上是否安装了CVS: 

#> rpm -qa|grep cvs 

如果没有安装你可以在Redhat 9.0的第2张光盘上找到,另外你也可以在http://www.cvshome.org 下载到最新的rpm包。 

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}n"; 


#>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) 

参考文献: 
http://www.gbunix.com/bbs/viewtopic.php?t=64 
http://www.fanqiang.com/a6/b9/20020627/060200259.html

|
http://www.douzhe.com/docs/linux_tips/

    
 
 

您可能感兴趣的文章:

  • 重新配置cvs
  • redhat8上配置cvs问题
  • cvs配置问题
  • 配置cvs问题,已检查到cvs启动了,但使用带密码的登录方式却出错
  • 配置以及登陆CVS遇到问题,求教!!!!!!!!!!!
  • linux 下 cvs 服务器配置(在线等)
  • CVS 配置 求救
  • suse配置CVS服务器,很多命令没有,是怎么回事情啊?
  • cvs配置问题(在线等,急急。。。)
  • 关于CVS服务器配置求助
  • cvs服务器的配置
  • CVS的配置问题。
  • CVS配置的问题?在线等人帮忙
  • 那位大哥有Solaris下安装配置cvs的具体步骤,我先谢了!!!!
  • 请问在debian下配置cvs的问题
  • cvs配置问题...俺弄了4天了,还没搞定,快要疯了
  • 谁有suse linux的CVS配置文档吗?
  • LINUX下配置CVS服务器的问题
  • 问CVS配置,今天搞了一个上午没整出来,希望大家帮帮我
  • wincvs2.0 + cvs1.11.21(FC5下)的配置问题
  • Android上的CVS服务器 Pocket CVS
  • 启动CVS服务器后,CVS的后台服务进程叫什么名?
  • 如何将现有的一台CVS服务器里的项目文件,备份到另一台CVS服务器里呢?
  • 各位大虾:配好cvs服务器后,telnet ,结果提示:cvs invalid option --o,然后连接被关闭,怎么回事?
  • cvs问题:请问cvs服务器是装在nt下好,还是linux/unix下好!
  • 关于安装cvs服务器,装好就结贴!!!
  • 我建了一个CVS服务器,可是。。。。。
  • cvs如何查看服务器上哪些文件做了修改,而又不更新本地文件?
  • 怎么设置cvs服务器的远程访问?
  • redhat9上安装cvs服务器的问题
  • 请问cvs home directory下的.cvspass文件来头是什么?它是本地生成的?还是从服务器上获得的?谢谢~~~
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • cvs 快速导出工具 cvs-fast-export
  • CVS的Java客户端包 Java CVS Client
  • 有没有CVS for sco open server 5.05 版的?我 从CVS官方网站下载 cvs-1.11.5.tar.gz
  • cvs / cvsup / rsync , 关于cvs库的使用、备份、镜像 < 专题讨论 >
  • 请问:从CVS上提东西时,老是提示cvs [checkout aborted]: or set the CVSROOT environment variable.,这怎么办啊
  • 紧急!一个有关CVS的非常重要的问题!所有人熟悉CVS的都进来看看吧!
  • cvs在release的时候告诉我can't create lock file or deretory "c:/cvsrepo/test/report/#cvs.lock
  • CVS版本问题
  • 求CVS用法
  • 【cvs提问】我定义了一个模块,可是在co的时候出现如下错误!
  • 急,急,关于CVS问题?
  • cvs紧急求救!!!
  • 关于CVS列举当前存在的项目的问题?
  • cvs的问题
  • cvs登录问题求助.
  • 在linux在安装CVS碰到个问题想请教下
  • cvs login的问题 急!!!!
  • 关于LINUX下CVS的问题.
  • 怎样用cvs下载源码?急啊!!!!!!
  • 请教Dev-C++和CVS搭配使用的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3