当前位置:Linux教程 - Linux文化 - 无法登陆cvs服务器

无法登陆cvs服务器


我装的是FC5,设置cvs组及成员cvsroot,并赋权限。 用cvsroot登陆linux系统没有任何问题。 #chkconfig --list显示……cvs:off cvspserver:on……

用cvsroot登陆cvs服务器的时候,输入密码以后提示……refused(反正是失败),然后让你重新登陆。 请问这是为什么?

>>> 此贴的回复 >> 一、服务器架设

1. 系统介绍

服务器系统:Fedora 2

CVS:系统自带

2. 设置启动CVS服务

在Linux上CVS服务可以通过inetd、xinetd或tcpwrapper等来启动,其中inetd由于安全理由在许多场合已经被xinetd所取代了。这里我们使用xinetd来启动CVS服务。

  在/etc/xinetd.d目录下为CVS服务创建一个配置文件,比如:/etc/xinetd.d/cvspserver,编辑/etc/xinetd.d/cvspserver,输入如下内容:

  service cvspserver

  {

  disable = no

  socket_type = stream

  wait = no

  user = root

  env = HOME=

  server = /usr/bin/cvs

  server_args = -f --allow-root=/home/cvsroot pserver

  }

  注:

  1)pserver表示是口令认证的访问方式,这是最常用的方式,其他还有gserver,kserver,ext,如果想要更高的安全性可以使用ssh来加密口令和数据流,不过这里为了用户使用的方便,仍然选的是pserver

  2)--allow-root是指定Repository的目录,可以建立多个Repository

  然后重新启动xinetd:

  [root@terry bin]# /etc/rc.d/init.d/xinetd restart

  Stopping xinetd: [ OK ]

  Starting xinetd: [ OK ]

  重新启动xinetd服务后,CVS服务也开始工作了,理论上是这样的,但我的机子上总是没有起来。最后我重新启动后才起来。

可以使用 netstat –l |grep cvspserver 来看服务有没有起来了。

3. 在CVS服务器端建立Repository

首先要创建一个名为cvs的组和一个名为cvsroot的用户,以后要访问CVS服务的用户加入cvs这个组:

  [root@terry root]# groupadd cvs

  [root@terry root]# useradd -g cvs -s /sbin/nologin cvsroot

[root@terry root]#passwd cvsroot

  [root@terry root]# chown -R cvsroot /home/cvsroot

  接下来进行初始化:

  [root@terry root]# cvs -d /home/cvsroot init

这样一个可以用cvsroot用户登陆的cvs服务器就建好了。不考虑安全,这样就可以先测试和熟悉cvs操作了。

4. 建立多用户的安全的cvs服务器

初始化完成后会在/home/cvsroot目录中就产生了CVSROOT目录,其中存放了一些配置文件,如config等,然后设置权限:

  [root@terry root]# chown -R cvsroot.cvs /home/cvsroot

  [root@terry root]# chmod -R ug+rwx /home/cvsroot

  [root@terry root]# chmod 644 /home/cvsroot/CVSROOT/config

  为了CVS系统的安全,我们要修改/home/cvsroot/CVSROOT/config文件,将"#SystemAuth =no"的前而的注释号#去掉,即改为“SystemAuth =no”,然后给开发者们逐一建立账号,新建的不要分配用户目录,因为它将作为一个虚拟用户帐号来使用,具体命令如:

  [root@terry root]# useradd -g cvs -M bogus

  [root@terry root]# passwd bogus

  上面的命令就创建了一个并没有Home目录的用户bogus,接着将系统的shadow文件复制到CVSROOT, 并重命名为passwd:

  [root@terry root]# cp /etc/shadow /home/cvsroot/CVSROOT/passwd

  [root@terry root]# chmod 0644 /home/cvsroot/CVSROOT/passwd

  然后修改passwd文件,将除刚才设定的可使用CVS的用户bogus之外的所有行删除,然后去掉每行第二个冒号以后的所有内容,并添上字符串cvsroot, 改为如下格式:

  bogus:ND5$J8N9BW5DKV.nPdxfdsh:cvsroot

  然后,删除掉刚刚在系统中添加的那个用户bogus:

  [root@terry root]# userdel -f bogus

以上是cvs服务器的假设步骤。

我觉得你可以能是在设置cvs服务验证的时候有点问题。