1.查看是否安装cvs
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/cvs cvs
4.为cvsroot用户添加密码
passwd cvs
5.改变/home/cvsroot的目录属性
chmod 775 /home/cvs
6.初始化cvs源代码库,此操作生成目录/home/cvs/CVSROOT,其下为一些初始化文件
cvs -d /home/cvs init
7.加入cvs服务(我的redhath9缺省就有cvs服务,所以不用加)
gedit /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/cvs pserver
在xinetd.d目录下添加需要启动的服务:
cd /etc/xinetd.d
vi cvspserver
文件内容:
service cvspserver
{
disable = no
port = 2401
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvs pserver
#log_on_failure += USERID
protocol = tcp
}
9.重新启动inetd或者xinetd:
/etc/init.d/xinetd restart
10.检查cvspserver服务是否已经启动
netstat -l |grep cvspserver
应该有如下结果:
tcp 0 0 *:cvspserver *:* LISTEN
11.添加用户
a.加密函数:
cd /home/cvs
gedit 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";
b.cvs的密码是以加密方式存储的,使用以上下其手函数给密码加密,用法:/home/cvs/passwd.pl "XXXXX",输出为加密后的密码。
c.gedit /home/cvs/CVSROOT/passwd
内容如下:
用户名1:加密后的密码1:系统用户名(cvs)
用户名2:加密后的密码2:系统用户名(cvs)
12.测试:
如果selinux策略为“强制”:
cd /home
chcon -R -t cvs_data_t cvs
cvs -d :pserver:xianghuxian@localhost:/home/cvs login
敲入命令回车后提示输入cvs的密码,你按照自己设置的密码输入,如果没有什么错误信息出现就是成功了.