您的位置:软件测试 > 开源软件测试 > 开源配置管理工具 > cvs
CVS 权限配置方法
作者:网络转载 发布时间:[ 2013/4/9 17:14:42 ] 推荐标签:

不同用户设置不同的访问权限方法
DALANG 20040112
关于权限管理的操作,我感觉不错的

假设有用户1:lxw ;用户2:zxh
有用户1的模块::lxwdir;用户2的模块:zxhdir
要求 lxw 只能访问lxwdir;zxh只能访问zxhdir

第1步,设置CVS的库配置文件(模块CVSROOT)的访问权限
方法:建立超级用户的工作目录 WINCVSADMIN
       a.以cvsnt服务器超级用户administrtor 登陆 wincvs
       b.CHECKOUT 库控制文件 checkout moudel 'cvsroot',此目录下的文件为CVS的高级配置文件,可以在本地进行修改,提交,本身在版本控制之中
       c.修改CVSRoot的访问权限,在命令行输入如下命令  #之后为说明,不需要输入 每行命令要单独执行,这是4条命令
         cvs chacl default:n          #取消所有用户的默认权限
         cvs chacl administrator:rcw  #设置Administrator拥有所有权限 读取;创建和删除;写入
         cvs chown administrator      #更改的拥有者Administrator
         cvs lsacl                   #察看权限的设置情况
第2步,建立CVS的用户
       正常可以用WINNT 系统的用户作为CVS 的用户,访问CVS ,但是这种方式安全性太差
       可以建立CVS 自己的用户
       a.建立WINNT系统用户 CVSUSER,权限设为一般用户可以,只要能访问WINNT可以
       b.建立密码文件PASSWD,
           直接在服务端 CVSROOT 目录下建立文件可以 PASSWD
           出于安全考虑,不要将 passwd列在 checkoutlist 文件里面。
       C.建立CVS用户
          在WINCVS 命令行下输入命令
          cvs passwd -a -r cvsuser zxh         #建立ZXH用户与系统用户cvsuser有一样的权限,回车后提示输入两次口令
          cvs passwd -a -r cvsuser lxw         #建立lxw用户与系统用户cvsuser有一样的权限,回车后提示输入两次口令
          cvs passwd -a -r administratro administrator #建立administrator用户与系统用户administrator有一样的权限,回车后提示输入两次口令
          可以看到PASSWD 文件多了两行
          zxh:CUXQwLMdoZHNs:cvsuser     #中间为加密的密码,密码使用Unix标准的crypt()函数加密
          lxw:ZTUCMKUkZ6ap2:cvsuser   
          administrator:oN2Stm4NIf31Q:administrator
第3步, 使用CVS用户登陆
       由于CVS 在默认模式下,是采用系统用户登陆的,这要修改配置文件 CONFIG
       设置文件CONFIG为修改状态
       加入如下一行
       SystemAuth=no  #yes 默认值,表示 如果用户在PASSWD文件中不存在,用系统用户检查权限是否正确
                      #no   表示用PASSWD检查用户密码权限是否正确
       之后提交
       (在设置CONFIG 文件SystemAuth=no  之后
        需要在cvs 控制目录cvsroot/ 下建立admin文件 
        这个文件是指定CVSNT的管理员列表的文件,CVSNT根据这个文件来判断一个用户是否是管理员。文件的内容很是一个用户列表。如下:
user1
  user2
  user3
这些代表user1,user2,user3都是管理员 ;
在此之前 cvs将服务器的管理员用户作为自己的管理员用户的)

第4步,加入文件 WRITERS ,READERS   控制用户的读写权限
      在cvsroot目录下加入两个文本文件,WRITERS ,READERS
      其每行内容为  用户名 回车
      只有加入WRITERS中的用户才能进行提交
      加入READERS中的用户只能读取
      同时在两个文件中的用户只能读取
      在writers文件中加入如下
          zxh
          lxw 
          administrator     

第5步,    配置CVS库模块文件——modules
       a.将MODUES文件设为可编辑状态
       b.在MOUDES 加入如下3行
         CVSRoot            CVSRoot
         大狼的工作目录 -a  lxwDIR
         开心的工作目录 -a  ZXHDIR
       c.保存,提交 COMMIT
第6步, 为2个用户分别上传工作目录
       选中LXW的工作目录'LXWDIR'       IMPORT MODULE 
       选中ZXH的工作目录'ZXHDIR'       IMPORT MODULE         
       注意:上传的目录不能为空目录,其下必须有文件(啥文件都行)
       上传成功后,删除这2个目录OR 改名
(补充一下分组的使用方法:
分组:将权限相同的用户划分到一组,这样方便维护。是角色的意思,分组使用在对模块访问权限的划分。
方法:
a.在服务器端 cvsroot 目录下新建文件 group
b.建立分组 group1,group2 ,group文件内容如下
group1:user1 user2 user3
  group2:user5 user6 user7
c.之后对组进行权限划分,和对单个用户方式一样,可以使组内用户和组具有相同的权限,如 选中模块,执行如下命令
   chacl -R default:n
      cvs chacl -R group1:rcw
      cvs lsacl 
可以使,用户 user1 user2 user3 同时具有对该模块的读写和控制的权限

第7步,下载目录目到本地做权限设置 CHECKOUT MODULE
       CHECKOUT MODULE        选择 大狼的工作目录  'LXWDIR'
       CHECKOUT MODULE        选择 开心的工作目录  'ZXHDIR'
    做法是这样的
      选择 菜单/remote/checkou moudule
            在打开窗口中 点击‘...’ 按钮
      在打开窗口中选择 大狼的工作目录
      ok 按钮
      确定 按钮

第8步 分别设置2用户(LXW;ZXH)对各自目录的访问权限
      选中模块 LXW ,在命令行输入如下3条命令,
      cvs chacl -R default:n
      cvs chacl -R LXW:rcw
      cvs lsacl
      选中模块 ZXH ,在命令行输入如下3条命令,
      cvs chacl -R default:n
      cvs chacl -R ZXH:rcw
      cvs lsacl
说明 加 ‘-R ’参数表示对模块的权限是递归的。解释一下:
如目录结构   dira
                               |---dira1
                               |---dira2
命令:cvs chacl default:n 只对 目录 dira 有效,而对子目录无效
      cvs chacl -R default:n    对目录dira及其下子目录都有效
                             
第9步 已经完成了设置 
      以用户 LXW OR ZXH 登陆WINCVS 只能CHECKOU 各自的模块 LXWDIR,ZXHDIR 
      进行相应的开发工作了

在执行命令cvs passwd -a -r cvsuser zxh         的时候
在本地目录 CVSROOT 目录下的PASSWD文件里没有生成相关的用户和密码
而在服务器 CVSROOT 目录下的PASSWD文件里生成了相关的用户和密码

如果是这样,是一种正常现象
原因是你没有把passwd 控制文件加入到 cvs版本 控制之中—文件checkoutlist里

软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd