使用用户名和密码设置cvs存储库

时间:2013-07-16 15:19:07

标签: cvs

我一直在尝试设置cvs存储库,但无法执行此操作。我会告诉你我所遵循的步骤的描述

我安装了cvs和cvsd。 我在xinetd.d中有以下代码

service cvspserver
{
     port = 2401
     socket_type = stream
     protocol = tcp
     user = root
     wait = no
     type = UNLISTED
     server = /usr/bin/cvs
     env = HOME=/home/cvs/cvsroot
     server_args = -f --allow-root /home/ks/cvs/cvsroot pserver
     disable = no
}

我设置了SystemAuth = no,以便它不会查看系统密码

我添加了具有apporpriate权限的用户和组 我在CVSROOT中创建了一个passwd文件 并使用mkpasswd加密密码

当我检查服务器是否启动时,我得到以下结果: netstat -tap | grep cvs

tcp        0      0 *:cvspserver            *:*                   LISTEN      1016/cvsd       
tcp        0      0 localhost:cvspserver    localhost:42965         TIME_WAIT   -

表示服务器已开启并正在运行 当我尝试 export CVSROOT=:pserver:username1@localhost:/home/cvs/cvsroot&& cvs login

我无法登录服务器,它总是给我一个错误 cvs [login aborted]:来自localhost的无法识别的auth响应:cvs [pserver aborted]:/ home / cvs / cvsroot:no such repository

我在整个互联网上搜索并经历了很多教程。 请告诉我是否需要检查其他内容。我哪里出错了。

1 个答案:

答案 0 :(得分:-1)

我也参与了/etc/cvs/xinetd.d/cvs,但是你没有成功解决步骤5和6

以下是设置正确的CVS存储库的步骤

1。验证CVS,无论是否已安装

  $su - root 


    $cvs -v
    Concurrent Versions System (CVS) 1.11.22 (client/server)
    Copyright (C) 2006 Free Software Foundation, Inc.
    ...

。如果您的系统上没有安装CVS,请从Linux分发存储库安装它。例如,在基于redhat的系统上,安装RPM,如下所示。

  $rpm -ivh cvs-1.11.22-5.el5.i386.rpm

2. :创建CVS用户和群组

  $useradd cvs
  $passwd cvs
   .. give password cvs for example

如果您只想开发人员访问CVS存储库,请创建一个开发人员组,如下所示。

    $groupadd **developers**

3. 创建CVS存储库目录

     $mkdir /home/cvs/myrepo 

现在以root用户身份 - >
a。如果要将目录限制为仅开发者组,如果不是skipp

 $chgroup developers /home/cvs/myrepo   


b。现在授予完全特权群组

$ chmod g + srwx / home / cvs / myrep

4. 现在初始化独立目录以创建存储库目录

  $su - cvs
  $su /home/cvs/myrepo init

5. 在这里,您必须解决全局xinetd.d服务配置文件/etc/xinetd.conf       对于 RedHat和   CentOS

在/ etc / configure里面服务 并附加你的CVS代表。目录

 server_arg = --allow-root=/home/cvs/myrepo -f pserver 


service cvspserver
{
        Port = 2401
                socket_type = stream
                protocol = tcp
                wait = no
                user = root
                server = /usr/bin/cvs
                server_args = --allow-root=/home/cvs/myrepo  --allow-root=/home/cvs/myrepotwo -f pserver
                env = HOME=/home/cvs/repository
                log = /var/log/cvslog
}

#last line of xinetd.conf should be
includedir /etc/xinetd.d

6. 现在重新加载xinetd.conf文件,然后重启xinetd.d service restart

  # /etc/rc.d/init.d/xinetd reload
  # service xinetd restart

7。设置以下是〜/ .bash_profile确保行内没有尾随空格

 export CVSROOT=:pserver:[cvs or user from group]@[hostname or ip address]:/home/cvs/mtoirepo

并执行bash_profile

 #. ~/.bash_profile  

8。 cvs 用户

登录
    #cvs login
    Logging in to :pserver:m2i@[host IP]:2401/home/cvs/mtoirepo
    CVS password:

9. 为新用户或现有用户设置 CVS repo

     #useradd developers myuser
or
     #usermod -G developers myuser

并按照 setp-7 ,现在可以从该客户端用户准备好CVS。