Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2248013
  • 博文数量: 292
  • 博客积分: 10016
  • 博客等级: 中将
  • 技术积分: 3381
  • 用 户 组: 普通用户
  • 注册时间: 2005-11-06 11:26
文章分类

全部博文(292)

文章存档

2011年(1)

2010年(4)

2009年(3)

2008年(6)

2007年(47)

2006年(63)

2005年(168)

分类: LINUX

2006-03-26 22:53:00

1.创建用户和组:

[root@manchester ~]#groupadd users

[root@manchester ~]#useradd -g users  -d /usr/local/cvsroot cvsroot

[root@manchester ~]#passwd cvsroot

[root@manchester ~]#chmod -R 775 /usr/local/cvsroot

2.改变用户登陆身份:

[root@manchester ~]#su cvsroot

3.开始建立仓库:

[root@manchester ~]# cvs -d /usr/local/cvsroot

4.建立CVS服务启动文件,我们使用xinetd方式:

[root@manchester ~]#su  -          切换到root用户身份

[root@manchester ~]#cd /etc/xinetd.d

service cvspserver

disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server= /usr/bin/cvs
server_args= -f --allow-root=/usrlocal/cvsroot   pserver            log_on_failure += USERID 

}

注:由于xinetd的server_args长度限制,当你想运行很多的单个仓库的时候,可以这么做:

[root@manchester ~]# vi cvspserver
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = cvsroot
server = /etc/cvs.run
log_on_failure += USERID
}

编写cvs.run脚本

[root@manchester ~]# vi /etc/cvs.run

#!/bin/bash
/usr/bin/cvs -f
--allow-root=/usr/local/cvsroot/project1
--allow-root=/usr/local/cvsroot/project2
pserver

# chmod +x /etc/cvs.run

5.加入cvs服务

[root@manchester ~]# vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service

6.启动CVS

[root@manchester ~]#/etc/init.d/xinetd restart

7.检查cvspserver服务是否已经启动:
[root@manchester ~]#netstat -l |grep cvspserver
应该有如下结果:

tcp 0 0 *:cvspserver *:* LISTEN

二。CVS服务的用户管理:

8.上面我们已经建立了CVS仓库,下面我们给仓库建立cvs用户。

[root@manchester ~]#su cvsroot

[root@manchester ~]#vi /usr/local/cvsroot/CVSROOT/passwd

jiangt:*****:cvsroot
yeh:*****:cvsroot

注意:这里的cvs用户和系统用户是不同的。

9。*****为密码,由以下文件生成:

[root@manchester ~]#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}
";

[root@manchester ~]#chmod a+x /cvsroot/passwd.pl

如果你想生成一个密码是“jiangtao”,则:

[root@manchester ~]#/cvsroot/passwd.pl “jiangtao”

回车即可得到加密密码,用其替换passwd文件中的*****

10.最后,我们试用一下:

[root@manchester ~]#                                                                                                                                  cvs -d:pserver:trotter@192.168.1.200:/usr/local/cvsroot login

阅读(3063) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~