技术开发 频道

Rational ClearCase权限设置

【IT168 技术文章】

   一、pvob

  不需要特别设置,只要把组改为项目的private组就可以了

M:\>ct desc vob:\pvob_ss3b
versioned object base "\pvob_ss3b"
  VOB storage host:pathname "svr-pzgl:D:\CCStorage\vob\pvob_ss3b.vbs"
  VOB storage global pathname "\\svr-pzgl\vob\pvob_ss3b.vbs"
  VOB ownership:
    owner CORP\ccadmin
    group SVR-PZGL\ss3b_private


  二、private vob

  1、首先,将私有VOB的主组改为项目的private组

M:\>ct desc vob:\cvob_ss3b_private
versioned object base "\cvob_ss3b_private"
  VOB ownership:
    owner CORP\ccadmin
    group SVR-PZGL\ss3b_private
  2、将private vob的目录也同样修改(改组)

M:\ccadmin_proj_ss3b_int>ct desc cvob_ss3b_private
directory version "cvob_ss3b_private\.@@\main\0"
  created 2007-07-20T10:54:54+08 by CCAdmin (ccadmin.clearcaseusers@svr-pzgl)
  Element Protection:
    User : CORP\ccadmin : rwx
    Group: SVR-PZGL\ss3b_private : rwx
    Other:          : rwx
  element type: directory
  3、进入private vob的目录,将其中的组件目录权限修改如下

M:\ccadmin_proj_ss3b_int\cvob_ss3b_private>ct desc portal
directory version "portal@@\main\proj_ss3b_Int\2"
  Element Protection:
    User : CORP\ccadmin : rwx
    Group: SVR-PZGL\ss3b_private : rwx
    Other:          : ---
  element type: directory


  三、public vob

  1、首先,将public VOB的主组改为项目的public组

M:\ccadmin_proj_ss3b_int>ct desc vob:\cvob_ss3b_public
versioned object base "\cvob_ss3b_public"
  VOB storage host:pathname "svr-pzgl:D:\CCStorage\vob\cvob_ss3b_public.vbs"
  VOB storage global pathname "\\svr-pzgl\vob\cvob_ss3b_public.vbs"
  VOB ownership:
    owner CORP\ccadmin
    group SVR-PZGL\ss3b_public


  2、将public vob的目录也同样修改

M:\ccadmin_proj_ss3b_int>ct desc cvob_ss3b_public
directory version "cvob_ss3b_public\.@@\main\0"
  created 2007-07-20T10:54:22+08 by CCAdmin (ccadmin.clearcaseusers@svr-pzgl)
  Element Protection:
    User : CORP\ccadmin : rwx
    Group: SVR-PZGL\ss3b_public : rwx
    Other:          : rwx
  element type: directory

  3、进入public vob的目录,将其中的组件目录权限修改如下

M:\ccadmin_proj_ss3b_int\cvob_ss3b_public>ct desc admintest
directory version "admintest@@\main\proj_ss3b_Int\3"
  Element Protection:
    User : CORP\ccadmin : rwx
    Group: SVR-PZGL\ss3b_public : rwx
    Other:          : ---
  element type: directory


  四、vdir vob

  1、

M:\ccadmin_proj_ss3b_int>ct desc vob:\cvob_ss3b_vdir
versioned object base "\cvob_ss3b_vdir"
  VOB storage host:pathname "svr-pzgl:D:\CCStorage\vob\cvob_ss3b_vdir.vbs"
  VOB storage global pathname "\\svr-pzgl\vob\cvob_ss3b_vdir.vbs"
  VOB ownership:
    owner CORP\ccadmin
    group SVR-PZGL\ss3b_public


  2、将vdir vob的目录也如下修改

M:\ccadmin_proj_ss3b_int\cvob_ss3b_vdir>ct desc ss3broot
directory version "ss3broot@@\main\proj_ss3b_Int\CHECKEDOUT" from \main\proj_ss3b_Int\3 (r
eserved)
  Element Protection:
    User : CORP\ccadmin : rwx
    Group: SVR-PZGL\ss3b_public : rwx
    Other:          : rwx
  element type: directory

  3、进入vdir vob的目录,将其中的组件目录权限修改如下

M:\ccadmin_proj_ss3b_int\cvob_ss3b_vdir\ss3broot>ct desc PNTS.res
version "PNTS.res@@\main\proj_ss3b_Int\1"
  Element Protection:
    User : CORP\ccadmin : r--
    Group: SVR-PZGL\ss3b_public : r--
    Other:          : ---
  element type: compressed_file

M:\ccadmin_proj_ss3b_int\cvob_ss3b_vdir\ss3broot>ct desc admintest
symbolic link "admintest" -> ../../cvob_ss3b_public/admintest
  created 2007-07-20T11:36:03+08 by CCAdmin (ccadmin.clearcaseusers@svr-pzgl)
  Protection:
    User : CORP\ccadmin : rwx
    Group: SVR-PZGL\ss3b_public : rwx
    Other:          : rwx

  总结:

  权限设置主要用到两个命令

  1、protectvob

  这个命令将vob看作一个整体,不需要视图就可以执行,主要用于修改用户物理上对VOB的操作权限
  可以修改vob的拥有者和主组以及增删能访问vob的组

  例如:

ct protectvob -chgrp SVR-PZGL\plat_public D:\CCStorage\vob\cvob_plat_public.vbs

  或者

ct protectvob -chgrp SVR-PZGL\plat_public \\svr-pzgl\vob\cvob_plat_public.vbs


  2、protect

  这个命令对vob里面的对象(元素、元数据等)进行权限设置,
  可以设置用户对对象的修改权限,比如目录的访问,文件的修改、增加以及元数据的修改

  例如:

cleartool protect -chgrp SVR-PZGL\plat_public -r dirname
cleartool protect -chmod 440 filename
ct protect -chown username actitvty:import@\pvob_plat

  改流的所有者

cleartool protect -chown 20030095 stream:plat_Integration@\pvob_plat


  3、CQ Web服务器如果看不到活动的变更集,可能是因为缺少动态视图squidward_dyn_view,创建一个即可

  权限问题:VOB和VIEW的访问控制机制

  CC的访问控制机制和UNIX比较相似。OWNER拥有最高权限,Group内的成员有检出、检入权限。Other的权限仅限于只读。

  权限控制步骤:

  首先对用户和组的划分,操作系统对组的数量有一定的限制,主组可统一在DS中控制,也可以通过设置客户端的环境变量来实现——设置trigger来统一object owner和所属的主组。

  名词解释:

  用户和组:CC本身没有自己的用户和组的帐号管理机制。依赖于操作系统,通过用户在操作系统中的登录鉴别用户,并由此得到CC操作权限的用户身份和组成员的资格。UNIX和WINDOWS都提供了可以让CC分布式运行所需的用户名和组名的网际数据库,UNIX使用NFS,windows使用域服务系统

  主组:一个用户可能属于一个或多个组的成员。因此需要靠他的主要组来区别。在UNIX中,主组是在用户登录时的NIS的PASSWD数据库中定义的。windows中主组是在域用户帐号建立就指定了。对于人员加入了多个组的情况,可以将环境变量CLEARCASE_PRIMARY_GROUP设置为正确的主要组。出于使用CC的目的,通过设置以上环境变量可以不通过域用户管理器或者MMC中的活动目录用户管理就可以管理主组。


  有特权的用户和组:一个典型的CC用户群包括以下两种用户:

  1、普通用户:他们有权限来修改和删除CC的资源、这些资源是该用户自己或者是他的所属的组创建的。
  2、特权用户:他们有无限制的权限来创建,修改,删除所有的CC资源。NT上就是CCADMIN组的成员。

  CC服务进程用户:albd_server进程是一个特殊的进程。这个用户需要是CC管理组成员,才能够拥有特别权限

0
相关文章