您的位置:首页 > 运维架构 > Linux

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

2008-09-21 14:21 225 查看
1. 首先创建用于CVS的组和用户:
  /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/cvs。server_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下用wincvs连login都不行。要解决这个问题,就要手工对用户进行映射。
如下所示,在passwd文件中将cvsuser2映射到cvsuser
映射前 映射后
cvsuser:4qMl7rfS1sM.k cvsuser:4qMl7rfS1sM.k
cvsuser2:A7U220C0wMMVM cvsuser2:A7U220C0wMMVM:cvsuser
如果需要映射其他的用户,请注意给相应的目录设置好权限,否则CVS用户可能无法访问源代码仓库。要彻底防止使用系统帐号登陆,可以编辑CVSROOT目录下的config文件,把#SystemAuth=no这一行前面的#去掉,CVS就不会验证系统用户了,否则当用户名不在passwd文件中时,CVS会进行系统用户的验证。
此外还必须配置读写权限,使用CVSROOT目录下的readers和writers文件进行这个工作。这2个文件默认也是没有的,没关系,自己创建就可以了。readers文件记录拥有只读权限的用户名,每行一个用户;writers文件记录拥有读写权限的用户名,也是每行一个用户。注意, readers文件比writers优先,也就是说出现在readers中的用户将会是只读的,不管writers文件中是否存在该用户。配置完毕,先测试一下:
  #cvs -d :pserver:username@127.0.0.1:/home/cvsroot login
6.CVS启动
控制面板-〉服务-〉xinetd,改为自动运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: