分类: 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