zoukankan      html  css  js  c++  java
  • Linux下CVS的配置

    又忘记了...4个月前配的。今天搞半天都没搞上去。今天还要搞定将原来的仓库导入的问题...

    这里找篇文章看起来比较全的...先看看。有补充的继续。

    Trying 127.0.0.1...
    Connected to localhost.localdomain (127.0.0.1).
    Escape character is '^]'.

    cvs [pserver aborted]: bad auth protocol start:

    Connection closed by foreign host.
    address@hidden sam]$ rpm -qa cvs
    cvs-1.11.1p1-7
    address@hidden sam]

    address@hidden sam]$ cat /etc/xinetd.d/cvspserver
    service cvspserver
    {
    disable = no
    port = 2401
    socket_type = stream
    protocol = tcp
    wait = no
    user = root
    passenv = PATH
    server = /usr/bin/cvs
    server_args = -f --allow-root=/repository
    pserver
    }

    address@hidden sam]$ cat /etc/xinetd.conf
    #
    # Simple configuration file for xinetd
    #
    # Some defaults, and include /etc/xinetd.d/

    defaults
    {
    instances = 60
    log_type = SYSLOG authpriv
    log_on_success = HOST PID
    log_on_failure = HOST
    cps = 25 30
    }

    includedir /etc/xinetd.d


    -------------------------------------

    下载完之后安装的步骤:

    # tar xzvf cvs-1.11.tar.gz

    # cd cvs-1.11

    #./configure

    # make

    # make install

    -----------------------

    注解:cvs-1.11.tar.gz 是下载的文件名

    #是根用户的标志,而且必须是在根用户之下


    这个东西主要是为软件工程用的,在开发大型项目比如现在的开发源码项目,经常会有很多开发树,为了保证开发的进度,出了错能够即时的回到原有的状态, 而设计了这中代码管理工具.


    我觉得m113是根本就没有作除 rpm -i cvs-xxx 以外的事


    1.检查 /etc/services

    vi /etc/services

    :/cvspserver

    如果找到的行前面并没有#,那么就不用修改了,否则去掉行首的#


    2.在 /etc/xinetd.d 目录下创建一个文件,随便命名,比如 cvs

    vi /etc/xinetd.d/cvs

    在其中添上

    service cvspserver

    {

    socket_type = stream

    wait = no

    user = root

    env = HOME=

    server = /usr/bin/cvs

    server-tags = --allow-root=/home/cvsroot pserver

    }


    3.保存以后创建一个名为 cvs 的组和一个名为 cvsroot 的用户

    groupadd cvs

    useradd -g cvs -s /sbin/nologin cvsroot

    cd /home/cvsroot

    chown -R cvsroot /home/cvsroot


    4.然后

    vi /etc/profile

    在其中添上

    CVSROOT = /home/cvsroot

    export CVSROOT


    5.重启 xinetd:

    /etc/init.d/xinetd restart


    6.cvs init


    这样CVS就可以用了


    添加仓库: 进入到你的源码目录

    cd /your/sources/path

    然后执行

    cvs export SOURCE_DIR_NAME Author Version

    其中的SOURCE_DIR_NAME 就是你的工程在 CVSROOT 目录中保存的目录名, Author 为工程作者, Version 为你的工程发行版本号,必须以字母开头


    1.如果系统没有安装CVS的,可以到 http://ftp.cvshome.org/ 去下载。已经安装的也建议删除旧的,下载一个新的。我的做法是:

    下载 http://ftp.cvshome.org/linux/cvs-1.11.2-i386-linux-glibc-2.1.gz;

    gzip -d cvs-1.11.2-i386-linux-glibc-2.1.gz;

    mv cvs-1.11.2-i386-linux-glibc-2.1 /usr/local/bin/cvs;

    chmod 755 /usr/local/bin/cvs;

    这样做就是没有man pages。要不你可以下载rpm格式的。安装后应该有man pages。


    至于CVS系统的安全,我只知道可以不使用 real user 登陆:

    chmod 644 $CVSROOT/CVSROOT/config

    vi $CVSROOT/CVSROOT/config

    将第二行的

    #SystemAuth = no

    去掉注释,即改为

    SystemAuth = no


    然后,创建一个并没有根目录的用户,用户名随便,这个用户就是作为你的虚拟用户帐号的

    useradd -g cvs -M username


    接着将 shadow 复制到 $CVSROOT/CVSROOT, 并重命名为 passwd:

    cp /etc/shadow $CVSROOT/CVSROOT/passwd


    修改passwd文件:

    chmod 0644 $CVSROOT/CVSROOT/passwd

    vi $CVSROOT/CVSROOT/passwd

    将 username 对应那一行以外的行全部去掉,然后去掉 username 所在行第二个冒号以后的所有内容,并添上字符串 cvsroot, 改为如下格式

    username:sds54354jkbft576/fdsh:cvsroot


    最后去掉在系统中添加的那个 username:

    userdel -f username


    好了,这样你的CVS用户就只能用 passwd 中规定的用户来登陆你的CVS SERVER了,并且登录以后自动映射为real user cvsroot

    CVS的安全方面你说的找个文档我也看过,增加一个用户还好,多了之后,烦死了,我觉得应该可以连接ldap,或者mysql的数据库,作为用户的认证服务


     

  • 相关阅读:
    Mybatis异常--java.lang.IllegalArgumentException: NO ENUM const class org.apache.ibatis.type.JdbcType.int
    JAVA(IO流)文件复制
    JAVA继承与覆写
    收藏一些是实用的小技巧
    利用JS生成01010101……长度可控的序列
    JS脚本收藏(一些实用的函数)
    利用JavaScript生成随机数字!
    JavaScript自学之数组排序
    前端开发自学之JavaScript——显示当前时间
    Spring Boot Sample 016之spring-boot-error-exception
  • 原文地址:https://www.cnblogs.com/waterflier/p/332965.html
Copyright © 2011-2022 走看看