solaris 下的 cvs

来源:互联网 发布:js控制embed播放暂停 编辑:程序博客网 时间:2024/05/07 16:46

假设我们的CVSROOT在/opt/cvs
找到原代码www.cvshome.org下载回来
解压
$gunzip cvs-1-11.tar.gz
$tar xvf cvs-1-11.tar
会回生成一个叫cvs-1.11的目录,进入目录编译,
$cd cvs-1.11
$./configure --prefix=/usr/local/cvs
(--prefix参数是指定安装目录,相信大家都应该知道吧)
$make
$su root
#make install
 
将/usr/local/cvs/bin 加入到PATH环境变量中。
输入cvs –version测试。正确的话会显示cvs的版本号。
 
操作完毕后,CVS服务器需要的软件部分就安装上了,下面就要进行一些设置
 

建立用户组和用户帐号

 

创建组

groupadd group1

groupadd group2

groupadd group3

groupadd test (测试)

groupadd cvsadmin(管理员)

 

建立用户

 

Useradd –m –g cvsadmin –G GID –d /export/home/cvsadmin –s /bin/bash cvsadmin

Passwd cvsadmin

输入cvsadmin 的密码

同样的方法创建其他用户

 

在/opt/cvs/下建立文件夹

Mkdir group1 group2 group3 test undercontral(受控库)

 

初始化CVS服务器,初始化过程中将 CVS将创建它所用的系统文件,并写入原始内容。

#cvs –d /opt/cvs/group1 init

#cvs –d /opt/cvs/group2 init

#cvs –d /opt/cvs/group3 init

#cvs –d /opt/cvs/test init

#cvs –d /opt/cvs/undercontral init

 

查看 /opt/cvs/group1、/opt/cvs/group2、/opt/cvs/group3、/opt/cvs/test、/opt/cvs/undercontral目录,每个文件夹该生成一个CVSROOT文件夹,且该目录下面有很多系统文件。

 


编辑/etc/services文件并且加入:

#vi /etc/services
cvspserver 2401/tcp #cvs server tcp port
cvspserver 2401/udp #cvs server udp port
 

编辑/etc/inetd.conf文件并且加入:

#vi /etc/inetd.conf
cvspserver stream tcp nowait root /usr/local/cvs/bin/cvs cvs -f --allow-root=/opt/cvs/group1 --allow-root=/opt/cvs/group2 --allow-root=/opt/cvs group3 --allow-root=/opt/cvs/test --allow-root=/opt/cvs/undercontral pserver

 
从新启动inetd进程
#ps -ef |grep inetd(查inetd的进程号)
#kill -1 inetd的进程号
 

telnet localhost 2401

如果出现光标闪动 输入ok 回车 出现

 

[bash-2.03]root@solaris:/data/project>telnet localhost 2401

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

ok 回车

cvs [pserver aborted]: bad auth protocol start: ok

 

则说明cvs服务器已经正常运行了。

 

权限管理

进入/opt目录

Chgrp sys –R cvs

Chmod –R 755 cvs

 

进入/opt/cvs目录

Chgrp –R group1 group1

Chgrp –R group2 group2

Chgrp –R group3 group3

Chgrp –R test test

Chgrp –R cvsadmin undercontral

 

Chmod –R 770 group1 group2 group3 test undercontral

 

编辑/etc/group

把cvsadmin或者其他管理员帐号(例如:Kilven)加入到cvsadmin group1 group2 group3 test五个组中

cvsadmin::102:cvsadmin,Kilven

group1::104: cvsadmin,Kilven

test::105:cvsadmin,Kilven

group2::106:cvsadmin,Kilven

group3::107:cvsadmin,Kilven

 

此时你再访问cvs服务器就会发现除了cvsadmin和Kilven可以访问所有仓库以外,其他人只能访问自己组的cvs资源。

 

原创粉丝点击