zoukankan      html  css  js  c++  java
  • 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更新。。。。
                                
  • 相关阅读:
    Codeforces Round #634 E2. Three Blocks Palindrome (hard version)(双指针/前缀和/二分/好题)
    Codeforces Round #634 D. Anti-Sudoku(构造/水)
    自动化----docker
    自动化---zabbbix监控
    awk使用
    自动化-KVM安装
    nginx教程以及正则
    自动化-cobbler
    Python
    自动化kickstart
  • 原文地址:https://www.cnblogs.com/zendu/p/4981137.html
Copyright © 2011-2022 走看看