免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1012 | 回复: 0
打印 上一主题 下一主题

CVS权限设置(转载) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-03 00:13 |只看该作者 |倒序浏览
CVS权限设置
建立一个源代码库主要有以下几步:
    (1)初始化cvs服务器环境。
    #cvs -d/usr/local/source init
    之后进入/usr/local/source,可以看到有一个目录CVSROOT, 下面是初始化后的CVS服务器配置文件。暂且保持不动。
    (2)把cvs服务放到xinetd系统服务中。
    首先在/etc/xinetd.d目录下生成任务配置文件cvspserver,文件名称可以随便用。
    其中内容大致如下:
service cvspserver
    {  
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root  
        protocol        = tcp
        server          = /usr/bin/cvs
        server_args     = -f --allow-root=/usr/local/source pserver
        disable         = no
    }
    其中server_args一个参数指定了源代码库路径,一个指定了服务器使用密码认证方式。
    第二,要确认/etc/services文件中,有cvspserver关键词,并分配了端口,如:cvspserver 2401/tcp。
    第三,重新启动xinetd服务,cvs服务就可以用了。
    (3)测试。假定cvs服务器在192.168.0.205上,系统上有一个用户cvs。登陆另一台linxu机器,执行下列命令可以完成测试:
    $export CVSROOT=:pserver:cvs@192.168.0.205:2401/usr/local/source
    $cvs login
    输入密码,没有出错提示表示登陆成功。
    如果想在一个linux系统上建多个源代码库,分别提供cvs服务。重复上面步骤就可以了。
    第一步时候要注意使用一个不同路径。
    第二步放到xinetd系统服务中稍微麻烦点。/etc/xinetd.d目录下要生成一个新的任务配置文件,例如cvspserver1,文件中service名称一定要区分第一个,例如service cvspserver1,server_args做相应变动。还要在/etc/services文件中,加入新的服务端口号,例如:cvspserver1 2402/tcp。重新启动xinetd服务.
    第三步测试时候,可以这样设定:
    $export CVSROOT=:pserver:cvs@192.168.0.205:2402/usr/local/source1
    cvs作为并行版本控制系统,多用户读写是需要的。但有时候希望有些用户只能check out,不能提交新代码。有时希望cvs上的某些用户不能check out一些代码,例如和另一个开发组共用一个CVS,希望另一个组的成员不能check out自己组代码。
    cvs服务器有一套自己的用户认证机制,我使用时候没采用,而是使用了系统上用户直接作为cvs服务器用户,采用linux组、用户权限实现了这样的功能。
    举例说明,在linxu系统上模拟实际两个开发组a、b,分别有用户a-user1,a-user2,b-user1,b-user2。
    模块a-source,希望a组成员都可以读写,b组成员没有任何权限。可以使用以下系列命令:
    #chown -R a-user1 a-source
    #chgrp -R a a-source
    #chmod -R 770 a-source
    如果希望模块a-source,只有a-user1可以写,同组其它用户可以读,b组成员没有任何权限,把chmod命令改成-R 750就行了。
    必须说明的,cvs中默认一个用户checkout代码时候,会在当前模块下生成一个锁文件,如果这个用户对当前模块没有写权限,读是不可能的。配合上面的权限设置,必须改一下cvs服务器配置。改成不在当前模块目录下生成锁文件,把锁文件集中到一个所有用户都有读写权限的目录。修改配置文件CVSROOT/config:
    # Put CVS lock files in this directory rather than directly in the repository.
    #LockDir=/var/lock/cvs
    把LockDir设上就可以了。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/8149/showart_33772.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP