您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Linux下CVS服务器的配置
linux下CVS服务器的配置1、验证是否已安装CVS#rpm-qcvs如果能显示出类似这样的版本信息,证明已安装CVS:#cvs-1.11.19若没有安装信息,则需要从htttp://若不想使用自带版本,可以用#rpm–ecvs删除自系统自带的cvs安装包从htttp://解压该包并安装:#tarzxvfcvs-1.11.21.tar.gz进入解压包cvs-1.11.21#./configure–prefix=你的安装目录&&make&&makeinstall2、创建CVS用户组与用户root用户下执行以下命令:#groupaddcvs//对比cvsnt:此处生成的是一个linux的系统用户组(因为Linux下的CVSROOT中不支持group文件),记录在系统文件/etc/group中;而cvsnt里的group文件是专门为cvs建立组的,与pc系统的组是不相干的。#addusercvsroot//对比cvsnt:此处生成的是一个linux系统用户cvsroot,记录在系统文件/etc/passwd中。#passwdcvsroot#输入cvsroot用户密码3、创建一个目录作为cvs库root用户下执行:#mkdir/cvsroot//此处可改为你想要的cvs库的路径,如想在/home目录下mkdir一个目录作为库,则改命令为:#mkdir/home/cvsroot。#chowncvsroot:cvs/cvsroot//将即将成为库的目录/cvsroot的拥有者改为用户cvsroot4、初始化CVS仓库(自动生成CVSROOT)需要在cvsroot用户下执行#su-cvsroot#cvs–d/cvsrootinit//初始化后,目录/cvsroot正是成为一个cvs库,其下自动生成了一个子目录CVSROOT,用于存放库的配置文件。后面对/etc/xinetd.d/cvspserver文件的配置要与这里对应,即要注意库的根目录必需与这里的一致(即为/cvsroot)。5、修改环境变量CVSROOT编辑/etc/profile或者/home下相应用户的.profile文件此处以修改/etc/profile为例:#exit退回到root用户,只有root用户才有权限修改/etc/profile#vi/etc/profile编辑/etc/profile文件在末尾加上以下两句:CVSROOT=/cvsroot//将环境变量CVSROOT的值设置为库的根目录/cvsrootexportCVSROOT//使用export使环境变量CVSROOT生效也可以直接用命令:$exportCVSROOT=/cvsroot更新环境变量:#source/etc/profile此时系统已经认识$CVSROOT这样的环境变量6、加入&启动cvs服务:一般的redhat上缺省就有cvs服务,所以不用加。可以先查看/etc/services文件,没有的话,就编辑它:vi/etc/services在末尾加入两行内容:cvspserver2401/tcp#pservercvsservicecvspserver2401/udp#pservercvsservice在系统中加入了cvs服务后,接下来就要启动它了。一般cvs服务由inted或者xinetd来唤起,因此需要修改inetd或者xinetd提供的服务。如果你的redhat使用的是inetd方式,则编辑文件/etc/inetd.conf(在Debian或redhat7.3以下一般都是采用inetd方式):#vi/etc/init.d/inet.conf在其中加入以下内容:cvspserver2401streamtcpnowaitroot/usr/bin/cvscvs-f--allow-root=/cvsrootpserverredhat7.3以上使用的是xinetd方式,在/etc/xinetd.d/目录下创建文件cvspserver,内容如下:#default:on#descrīption:Thecvsserversessions;servicecvspserver{disable=nosocket_type=streamwait=nouser=rootserver=/usr/bin/cvs///usr/bin/cvs是cvs命令文件的位置。若删除了系统自带的cvs安装包,则server=你的cvs安装目录/bin/cvsserver_args=-f--allow-root=/cvsrootpserver//对应第4步cvs-d/cvsrootinit命令only_from=192.168.10.0/24//24是子网掩码的长度,对应255.255.255.0。only_from是用来限制访问的,可以根据实际情况不要或者修改。}启动CVS服务后,要修改该cvspserver文件的权限,以防别的用户乱改:#chmod644cvspserver然后重新启动xinetd:#/etc/rc.d/init.d/xinetdrestart然后察看cvs服务器是否已经运行:#netstat-lnp|grep2401tcp000.0.0.0:24010.0.0.0:*LISTENxxxxxx/xinetd则说明cvs服务器已经运行。7、建立cvs用户为了CVS系统的安全,我们要修改/cvsroot/CVSROOT/config文件,将#SystemAuth=no的前而的注释号#去掉,即改为“SystemAuth=no”,然后给开发者们逐一建立账号,新建的不要分配用户目录,因为它将作为一个虚拟用户帐号来使用,具体命令如:以下,对应cvsnt:创建CVSROOT目录下的passwd文档:------------------------------------------------------------------[root@terryroot]#chmod-Rug+rwx/cvsroot//修改库的访问权限:对属主及属主的组开放rwx权限[root@terryroot]#chmod644/cvsroot/CVSROOT/config//库的配置文件config只能被属主修改以下,对应cvsnt:添加一个名为gaoshang的用户到passwd文件中。比起在cvsnt,在linux下的这个添加过程要麻烦多了!--------------------------------------------------[root@terryroot]#useradd-gcvs-Mgaoshang//创建这个pc系统用户gaoshang的目的是利用它生成密钥,因为在linux下cvs没有为用户加密的功能,不像cvsnt可以直接用命令passwd-a就可以生成一个用户与密钥了。[root@terryroot]#passwdgaoshang上面的命令就创建了一个并没有Home目录的用户gaoshang,接着将系统的shadow文件(shadow文件中记录了系统的用户及其密钥信息)复制到CVSROOT,并重命名为passwd,操作如下:[root@terryroot]#cp/etc/shadow/cvsroot/CVSROOT/passwd[root@terryroot]#chmod0644/cvsroot/CVSROOT/passwd然后修改passwd文件,将除刚才设定的可使用CVS的用户cvsroot及gaoshang之外的所有行删除,然后去掉每行第二个冒号以后的所有内容,并添上字符串cvsroot,改为如下格式:[root@test11CVSROOT]#morepasswdcvsroot:$h3ntACe9$cM2SADto6B9P5h5Wrbgyi.:cvsrootgaoshang:ttSJv9AK.zzZhhHLEQZnZPgEe8f1:cvsroot然后,删除掉刚刚在系统中添加的那个用户gaoshang:[root@terryroot]#userdel-fgaoshang//因为gaoshang这个系统用户只是用来为cvs用户gaoshang的密码生成密钥的,所以,密钥得到后,系统用户gaoshang可以删除了。---------------------------------------------------至此,passwd文件已经创建好了,并且已经有两个cvs用户加入其中了:cvsroot与gaoshang,其中cvsroot还是pc系统用户,而gaoshang只是cvs用户,它必须对应到一个系统用户,这里它对应的是cvsroot。-------------------------------------------------------------------好了,至此,CVS服务器端已配置完成。这时你的CVS用户就只能用passwd中规定的用户来登陆你的CVS服务器了。8.为用户分配权限对比cvsnt:在cvsnt中,可以用命令cvschown来修改某个目录的属主,用命令cvschacl来设置某个cvs用户/组对一个目录的访问权限;可以在CVSROOT下创建admin文件来设置库的管理员,创建group文件来设立不同的组。而在linux下,cvs不支持group与admin文件,也不支持cvschacl命令,所以就只能用系统命令:chown与chmod对pc系统用户的访问权限进行设置,之后,映射到这个系统用户的cvs用户的权限也就跟着改变了(这一点与cvsnt很不一样,在cvsnt中:cvs用户与pc系统用户的权限是不相干的,映射只是为了登陆,而权限不会也跟着映射过来的);在linux下,cvs还是支持readers、writers文件的,所以也可以通过修改它们来修改用户的权限,不过这个权限是对整个库的访问权限。在/cvsroot/CVSROOT/下,加入两个文件readers,writers将只有只读权限的用户加入readers文件,将具有读写权限的用户加入writers文件。如:#viwritersgaoshang注意:readers文件的优先性高于writers文件的,也就是说,如果将同一个用户都加在这两个文件中,那这个用户只拥有只读权,并不拥有写权。所以:writers中的用户不能在readers中,要不然不能上传更新文件。9、linux客户端登录测试(或见windowcvs客户端wincvs1.3的使用说明)假定cvs服务器在192.168.10.11上,系统上有用户cvsroot和gaoshang。登陆另一台linux机器,执行下列命令可以完成测试:[root@test2test]#exportCVSROOT=:pserver:cvsroot@192.168.10.11:2401/cvsroot[root@test2test]#cvsloginLogginginto:pserver:cvsroot@192.168.10.11:2401/cvsrootCVSpassword:#注:输入密码,没有出错提示表示登陆成功。[root@test2test]#[root@test2test]#exportCVSROOT=:pserver:gaoshang@192.168.10.11:2401/cvsroot[root@test2test]#cvsloginLogginginto:pserver:gaoshang@192.168.10.11:2401/cvsrootCVSpassword:#注:输入密码,没有出错提示表示登陆成功。[root@test2test]#配置中碰到的问题1、cvsroot用户不能登录[root@test2test]#exportCVSROOT=:pserver:cvsroot@192.168.10.11:2401/
本文标题:Linux下CVS服务器的配置
链接地址:https://www.777doc.com/doc-5138707 .html