cvs
服务在
linux
下的安装与配置
1、
验证是否已安装
CVS
#rpm -q cvs
如果能显示出类似这样的版本信息,证明已安装
CVS
:
#cvs-1.11.19
若没有安装信息,则需要从
htttp://www.cvshome.org
下载相应的安装包
我的安装环境是
linux
as4 u2
若不想使用自带版本,可以用
#rpm –e cvs
删除自系统自带的
cvs
安装包
从
htttp://www.cvshome.org
获取最新的安装包
cvs-1.11.21.tar.gz
解压该包并安装:
# tar zxvf cvs-1.11.21.tar.gz
进入解压包
cvs-1.11.21
# ./configure –prefix =
你的安装目录
&&make &&make install
2
、
创建
CVS
用户组与用户
root
用户下执行以下命令:
#groupadd cvs
#adduser cvsroot
#passwd cvsroot
#
输入
cvsroot
用户密码
3
、创建
CVSROOT
(CVS
仓库的根目录
)
root
用户下执行:
#mkdir /cvsroot
此处可改为你想要的
cvsroot
路径
#chown cvsroot.cvs /cvsroot
更改
cvsroot
权限
4
、初始化
CVS
仓库
需要在
cvsroot
用户下执行
#su - cvsroot
#cvs -d /cvsroot init
此处对应上面创建的
cvsroot
路径
#
注:对应后面
/etc/xinetd.d/cvspserver
文件的配置
5
、修改环境变量
编辑
/etc/profile
或者
/home
下相应用户的
.profile
文件
此处已修改
/etc/profile
为例:
#exit
退回到
root
用户,只有
root
用户才有权限修改
/etc/profile
#vi /etc/profile
编辑
/etc/profile
文件
在末尾加上以下两句:
CVSROOT=/cvsroot
export CVSROOT
更新环境变量:
#source /etc/profile
此时系统已经认识
$CVSROOT
这样的环境变量
6
、启动
cvs
服务器:
在
/etc/xinetd.d/
目录下创建文件
cvspserver
,内容如下:
# default: on
# description: The cvs server sessions;
service cvspserver
{
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
#
注,
/usr/bin/cvs
是
cvs
命令文件的位置
。
#
注,
删除了系统自带的
cvs
安装包,
#
注,则
server=
你的
cvs
安装目录
/bin/cvs
server_args = -f --allow-root=/cvsroot pserver
#
注,对应第
4
步
cvs -d /cvsroot init
命令
only_from = 192.168.10.0/24
#
注,
24
是子网掩码的长度,对应
255.255.255.0
}
其中
only_from
是用来限制访问的,可以根据实际情况不要或者修改。
修改该文件权限:
# chmod 644 cvspserver
然后重新启动
xinetd
:
# /etc/rc.d/init.d/xinetd restart
然后察看
cvs
服务器是否已经运行:
# netstat -lnp|grep 2401
tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN xxxxxx/xinetd
则说明
cvs
服务器已经运行。
7
、建立
cvs
用户
为了
CVS
系统的安全,我们要修改
/cvsroot/CVSROOT/config
文件,将
"#SystemAuth =no"
的前而的注释号
#
去掉,即改为
“SystemAuth =no”
,然后给开发者们逐一建立账号,新建的不要分配用户目录,因为它将作为一个虚拟用户帐号来使用,具体命令如:
[root@terry
root]# chmod -R ug+rwx /cvsroot
[root@terry
root]# chmod 644 /cvsroot/CVSROOT/config
[root@terry
root]# useradd -g cvs -M gaoshang
[root@terry
root]# passwd gaoshang
上面的命令就创建了一个并没有
Home
目录的用户
gaoshang
,接着将系统的
shadow
文件复制到
CVSROOT,
并重命名为
passwd:
[root@terry
root]# cp /etc/shadow /cvsroot/CVSROOT/passwd
[root@terry
root]# chmod 0644 /cvsroot/CVSROOT/passwd
然后修改
passwd
文件,将除刚才设定的可使用
CVS
的用户
cvsroot
及
gaoshang
之外的所有行删除,然后去掉每行第二个冒号以后的所有内容,并添上字符串
cvsroot,
改为如下格式:
[root@test11
CVSROOT]# more passwd
cvsroot:$h3ntACe9$cM2SADto6B9P5h5Wrbgyi.:cvsroot
gaoshang:ttSJv9AK.zzZhhHLEQZnZPgEe8f1:cvsroot
然后,删除掉刚刚在系统中添加的那个用户
gaoshang:
[root@terry root]# userdel -f gaoshang
(这里主要是使用系统在创建用户时,为用户密码生成的的密文)
好了,至此,
CVS
服务器端已配置完成。这时你的
CVS
用户就只能用
passwd
中规定的用户来登陆你的
CVS
服务器了
8 .
为用户分配权限
在
/cvsroot/CVSROOT/
下
,加入两个文件
readers , writers
将只能读权限的用户加入
readers
文件,
将具有写权限的用户加入
writers
文件。
如:
# vi writers
gaoshang
9
、
linux
客户端登录测试
(或见
window cvs
客户端
wincvs 1.3
的使用说明)
假定
cvs
服务器在
192.168.10.11
上,系统上有用户
cvsroot
和
gaoshang
。登陆另一台
linxu
机器,执行下列命令可以完成测试:
[root@test2 test]# export CVSROOT=:pserver:cvsroot@192.168.10.11:2401/cvsroot
[root@test2 test]# cvs login
Logging in to :pserver:cvsroot@192.168.10.11:2401/cvsroot
CVS password:
#
注:输入密码,没有出错提示表示登陆成功。
[root@test2 test]#
[root@test2test]# export CVSROOT=:pserver:gaoshang@192.168.10.11:2401/cvsroot
[root@test2 test]# cvs login
Logging in to :pserver:gaoshang@192.168.10.11:2401/cvsroot
CVS password:
#
注:输入密码,没有出错提示表示登陆成功。
[root@test2 test]#
配置中碰到的问题
1
、
cvsroot
用户不能登录
[root@test2 test]# export CVSROOT=:pserver:cvsroot@192.168.10.11:2401/cvsroot
[root@test2 test]# cvs login
Logging in to :pserver:cvsroot@192.168.10.11:2401/cvsroot
CVS password:
no such user cvsroot in CVSROOT/passwd
解决办法,查看发现原因是
/cvsroot/CVSROOT/passwd
文件中没有包含
cvsroot
用户
2
、只有
cvsroot
用户可以登陆,别的用户都不能登录
查看原因发现是
/etc/xinetd.d/cvspserver
文件的
server_args = -f --allow-root=/cvsroot pserver
目录参数不对,因为我们此次配置的
cvs
工作目录是
/cvsroot
,而不是
/home/cvsroot,
所以将该参数为
server_args = -f
--allow-root=/cvsroot pserver
,所有用户均可正常登录。
原文出处:http://www.linuxdiyf.com/viewarticle.php?id=19876
posted on 2006-11-23 10:15
无声 阅读(898)
评论(0) 编辑 收藏 所属分类:
职场生活