CVS配置和使用(Asianux2.0 linux服务端)

 

1 首先创建用于CVS的组和用户: <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

  /usr/sbin/groupadd cvsuser   

  /usr/sbin/useradd cvsruser -g cvsuser

  passwd cvsuser

  OK,用户已经建立好了,cvsuser就是我们做CVS操作使用的用户。

2 修改配置文件:

  #cat/etc/services|grep cvspserver

  看看是否有:

  cvspserver    2401/tcp #CVS client/server operations

  cvspserver    2401/udp #CVS client/server operations

  如果没有,请自己加上去。

3. 然后必须创建启动脚本:

  vi /etc/xinet.d/cvspserver

  service cvspserver

  {

    disable = no

    flags = REUSE

    socket_type = stream

    wait = no

    user = root

    server = /usr/bin/cvs

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

    log_on_failure += USERID

  }

  其中server指定CVS可执行文件路径,默认安装就是/usr/bin/cvsserver_args指定源代码库路径及认证方式等,例子中把源代码存放在cvsuser的主目录中,也可以另外指定路径,但必须注意权限设置,pserver是密码认证方式。请注意每行等号左右都有一个空格,否则无法启动服务。

4 初始化CVS

  切换到cvsuser用户,然后进行初始化:

  cvs -d /home/cvsuser init

  这个路径应该与cvspserver文件中指定的路径相同,初始化后会在此路径下面创建CVSROOT目录,存放用于CVS管理的一些文件。此时重新启动xinetd服务,CVS服务器应该能够启动了。:

  /sbin/service xinetd restart

  当然,重新启动计算机也可以。确认是否启动:

  netstat -anp|grep 2401  如果能看到:

  tcp 0 0 0.0.0.0:2401   说明已经正常启动。

5 用户管理

  CVS默认使用系统用户登录,为了系统安全性的考虑也可以使用独立的用户管理。CVS用户名和密码保存在CVSROOT目录下的passwd文件中,格式为: 用户名:密码:系统用户

  也就是说,它把CVS用户映射到系统用户,这样我们就可以通过系统用户的权限设置来分配给用户不同的权限,而不需要让用户知道系统用户名和密码。这里的系统用户一般为cvsuser这个用户. passwd文件默认并不存在,我们必须自己创建。文件中的密码字段使用MD5加密,不幸的是CVS没有提供添加用户名的命令,所以我们借用Apache的命令来完成这项工作: 先创建一个passwd文件

还是cvsuser用户,在/home/cvsuser/CVSROOT目录下执行下面的命令

htpasswd -c passwd cvsuser             参数(-c)表示文件不存在时会自动创建(-c)

创建cvsuser用户。该用户也是系统用户,在控制面板的用户/组中能看到。

其他用户直接创建,不用带参数-c    htpasswd passwd cvsuser2

cvsuser2用户不是系统用户,在控制面板的用户/组中看不到。他是cvs创建的用户。

如果在linux下用cvs命令login,是可以的,但是,不好操作。

windows下用wincvslogin都不行。要解决这个问题,就要手工对用户进行映射。

如下所示,在passwd文件中将cvsuser2映射到cvsuser

映射前                             映射后

cvsuser:4qMl7rfS1sM.k             cvsuser:4qMl7rfS1sM.k

cvsuser2:A7U220C0wMMVM        cvsuser2:A7U220C0wMMVM:cvsuser

如果需要映射其他的用户,请注意给相应的目录设置好权限,否则CVS用户可能无法访问源代码仓库。要彻底防止使用系统帐号登陆,可以编辑CVSROOT目录下的config文件,把#SystemAuth=no这一行前面的#去掉,CVS就不会验证系统用户了,否则当用户名不在passwd文件中时,CVS会进行系统用户的验证。

此外还必须配置读写权限,使用CVSROOT目录下的readerswriters文件进行这个工作。这2个文件默认也是没有的,没关系,自己创建就可以了。readers文件记录拥有只读权限的用户名,每行一个用户;writers文件记录拥有读写权限的用户名,也是每行一个用户。注意, readers文件比writers优先,也就是说出现在readers中的用户将会是只读的,不管writers文件中是否存在该用户。配置完毕,先测试一下:

  #cvs -d :pserver:[email protected]:/home/cvsroot login

6CVS

   控制面板-〉服务-xinetd,改为自动运行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章