Rational ClearCase 权限要求的Tirgger

环境:WINDOWS clearcase v7.0
使用CCRC 客户端且不使用环境变量设置主组,用户使用的是CC服务器上的本地组(CC服务器不是域控制器服务器),现在要求实现权限控制机制,要求如下:
1、对某个目录可能存在三种权限的用户:
(1)完全控制,包括读写、CI、CO的权限
(2)只具有查看的权限,即只能查看文件夹下的内容、但不能进行CI,CO等操作
(3)不能查看,即不能查看文件夹下的内容

2、我已经考虑并测试了我的方法:不能满足:
我在当前目录外再嵌套一层目录,设置外目录的权限为750,指向的用户组为包含以上权限(1)(2)的用户的新创建的组,然后在对内目录设置775权限,其中设置的组是(1)类用户所在组,现在发现这样并不能满足需求,出现的问题是:当(1)类的用户在当前目录下增加文件并加到源控制时,该文件的组被设置成domain users。由此造成(2)类用户对该文件也具有了CI、CO操作的权限。

——————————————————————————————————————

解决方式:

changeGroup.pl是修改文件的主组继承上级目录的perl文件,请将文件保存到CC Server共享目录下,然后修改下面trigger中的路径及vob名称。
cleartool mktrtype -element -all -postop mkelem -execwin "ccperl //server/ccstg_c/changeGroup.pl" -nc ChangeGroup@vob:/XXXX

changeGroup.pl


$filepath_temp = $ENV{CLEARCASE_PN};

#取得新元素的上级目录地址
if ($filepath_temp=~/.*///g){
$folder=$&;
}
$folder=~s///$//;

#取得上级目录所属的组名

$folder_group=`cleartool des -fmt %[group]p $folder`;

#改变新元素所对应的属组

system("cleartool protect -chgrp /"$folder_group/" /"$filepath_temp/"");

你可能感兴趣的:(clearcase)