然后修改passwd文件,将除刚才设定的可使用CVS的用户cvsroot及bogus之外的所有行删除,然后去掉每行第二个冒号以后的所有内容,并添上字符串cvsroot, 改为如下格式:
[root@test11 CVSROOT]# more passwd
cvsroot:$h3ntACe9$cM2SADto6B9P5h5Wrbgyi.:cvsroot
bogus:ttSJv9AK.zzZhhHLEQZnZPgEe8f1:cvsroot
然后,删除掉刚刚在系统中添加的那个用户bogus:
[root@terry root]# userdel -f bogus
好了,至此,CVS服务器端已配置完成。这时你的CVS用户只能用passwd中规定的用户来登陆你的CVS服务器了
8、linux客户端登录测试
假定cvs服务器在192.168.10.11上,系统上有用户cvsroot和bogus。登陆另一台linxu机器,执行下列命令可以完成测试:
[root@test2 test]# export CVSROOT=:pserver:cvsroot@192.168.10.11:2401/var/cvsroot
[root@test2 test]# cvs login
Logging in to :pserver:cvsroot@192.168.10.11:2401/var/cvsroot
CVS password: #注:输入密码,没有出错提示表示登陆成功。
[root@test2 test]#
[root@test2 test]# export CVSROOT=:pserver:bogus@192.168.10.11:2401/var/cvsroot
[root@test2 test]# cvs login
Logging in to :pserver:bogus@192.168.10.11:2401/var/cvsroot
CVS password: #注:输入密码,没有出错提示表示登陆成功。
[root@test2 test]#
配置中碰到的问题
1、cvsroot用户不能登录
[root@test2 test]# export CVSROOT=:pserver:cvsroot@192.168.10.11:2401/var/cvsroot
[root@test2 test]# cvs login
Logging in to :pserver:cvsroot@192.168.10.11:2401/var/cvsroot
CVS password:
no such user cvsroot in CVSROOT/passwd
解决办法,查看发现原因是/var/cvsroot/CVSROOT/passwd文件中没有包含cvsroot用户
2、只有cvsroot用户可以登陆,别的用户都不能登录
查看原因发现是 /etc/xinetd.d/cvspserver文件的server_args = -f --allow-root=/cvsroot pserver目录参数不对,因为我们此次配置的cvs工作目录是/var/cvsroot,而不是/home/cvsroot,所以将该参数为server_args = -f --allow-root=/var/cvsroot pserver,所有用户均可正常登录
如果想在一个linux系统上建多个源代码库,分别提供cvs服务。重复上面步骤可以了。
参考资料:
http://blog.o2.cn/lg/2004/11/01/cvs_install_config
http://www.e800.com.cn/articles/36/1091788059301_2.html
http://it.sohu.com/2004/03/24/05/article219580551.shtml
http://tech.ccidnet.com/pub/article/c302_a131866_p1.html
http://www.linuxforum.net/docnew/showthreaded.php?Cat=&Board=db&Number=383&page=0&view=collapsed&sb=5&o=all (说明了如何建立多个数据仓库)
http://www.chedong.com/tech/cvs_card.html (cvs权限管理)
http://www.cnblogs.com/windsails/articles/39283.html (CVS在Window2000下的权限管理)