linux下配置cvs服务器以及cvs常用命令
1、查看系统是否安装有cvs #cat /etc/services | grep cvspserver 看看是否有: cvspserver 2401/tcp #CVS client/server operations cvspserver 2401/udp #CVS client/server operations 这2行。系统自带了CVS时,这2行也已经有了,只需要确认一下。如果没有,请自己加上去。 2、然后必须创建启动脚本 #vi /etc/xinetd.d/cvspserver 代码如下: ################################################ # default: off # description: An xinetd internal service which echo's characters back to clients. \ # This is the tcp version. service cvspserver { disable = no flags = REUSE socket_type = stream user = root wait = no server = /usr/bin/cvs server_args = -f --allow-root=/home/cvsroot pserver log_on_failure = USERID } ################################################ 其中 server指定CVS可执行文件路径,默认安装就是/usr/bin/cvs。server_args指定源代码库路径及认证方式等,例子中把源代码存放在cvsroot的主目录中,也可以另外指定路径,但必须注意权限设置,pserver是密码认证方式,这种方式的安全性要差一些,但操作起来比较简单。请注意每行等号左右都有一个空格,否则无法启动服务。 事实上,这个文件的格式非常容易写错,而这些错误是没有任何提示的,所以我强烈建议你复制同目录下的其他文件作为模板(我使用的是echo这个文件)再修改。(=号左端是一个tab位,右边是一个空格)。 3、创建用于CVS的组和用户: #groupadd cvs #useradd cvsroot -g cvs #passwd cvsroot 4、 初始化CVS 切换到cvsroot用户,然后进行初始化: #cvs -d /home/cvsroot init 这个路径应该与cvspserver文件中指定的路径相同,初始化后会在此路径下面创建CVSROOT目录,存放用于CVS管理的一些文件。此时重新启动xinetd服务,CVS服务器应该能够启动了。 #########################################################3 加入cvs服务 #>vi /etc/services cvspserver 2401/tcp #pserver cvs service cvspserver 2401/udp #pserver cvs service 这个地方如果是redhat的话就已经会有,就不用再加了。当然如果你要设立别的服务可以在添加使用别的端口eg: cvspserverUser 2402/tcp #pserver cvs service cvspserverUser 2402/udp #pserver cvs service ######################################################### #/sbin/service xinetd restart 当然,重新启动计算机也可以。确认是否启动: #netstat -anp|grep 2401 如果能看到: #tcp 0 0 0.0.0.0:2401 说明已经正常启动,没有的话请重新检查配置过程是否有错误或者遗漏。 5、用户管理 为了CVS系统的安全,我们要修改/home/cvsroot/CVSROOT/config文件,将"#SystemAuth =no"的前而的注释号#去掉,即改为: SystemAuth =no 这样CVS就不会验证系统用户了,否则当用户名不在passwd文件中时,CVS会进行系统用户的验证。 此外如果需要还配置读写权限,使用CVSROOT目录下的readers和writers文件进行这个工作。这2个文件默认也是没有的,没关系,自己创建就可以了。readers文件记录拥有只读权限的用户名,每行一个用户;writers文件记录拥有读写权限的用户名,也是每行一个用户。注意,readers文件比writers优先,也就是说出现在readers中的用户将会是只读的,不管writers文件中是否存在该用户。 #vi /home/cvsroot/CVSROOT/passwd user1:*****:cvsroot user2:*****:cvsroot 这个文件的意思是user1、user2拥有cvsroot的使用权限,登陆后的权限是cvsroot权限。注意:这里的cvs用户和系统用户是不同的。 *****为密码,由以下文件生成 #vi /home/cvsroot/passwd.pl 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} "; ############# #chmod a+x /home/cvsroot/passwd.pl #/home/cvsroot/passwd.pl "123456" 回车即可得到加密密码,用其替换passwd文件中的***** 策略登陆即可 6、cvs作为客服端如何使用。 #export CVSROOT=:pserver:username@127.0.0.1:/home/cvsroot #cvs login 将提示输入密码 #cvs checkout moduleName #cvs update更新。。。。
posted on 2015-11-20 16:11 zyz913614263 阅读(1627) 评论(0) 编辑 收藏 举报