Prevent use of certain commands
To control which users can execute certain commands on HCL VersionVault objects, you can create a pair of trigger types.
- One type controls the use of the command on element-related objects
- Another type controls the use of the command on type objects
Both trigger types use the –nuser flag to specify the users who
are allowed to use the command.
Tip: You cannot
use triggers to prevent a command from being used on an object that is not
element related or a type object. For example, you cannot create a trigger
type to prevent operations on VOB objects or replica objects.
For a list of commands that can be triggered, see the events_ccase and mktrtype reference pages.
For example, the following commands create two trigger types that prevent all users except stephen, hugh, and emma from running the chmaster command on element-related objects and type objects in the current VOB:
cleartool mktrtype –element –all –preop chmaster –nusers stephen,hugh,emma \
–execunix 'Perl –e "exit –1;"' –execwin 'ccperl –e "exit (–1);"' \
–c "ACL for chmaster" elem_chmaster_ACL
cleartool mktrtype –type –preop chmaster –nusers stephen,hugh,emma \
–execunix 'Perl –e "exit –1;"' –execwin 'ccperl –e "exit (–1);"' \
–attype –all –brtype –all –eltype –all –lbtype –all –hltype –all \
–c "ACL for chmaster" type_chmaster_ACL
When user tony tries to run the chmaster command on a restricted object, the command fails. For example:
cleartool chmaster –c "give mastership to london" london@/vobs/dev \
/vobs/dev/acc.c@@/main/lex_dev
cleartool: Warning: Trigger "elem_chmaster_ACL" has refused to let
chmaster proceed.
cleartool: Error: Unable to perform operation "change master" in
replica "lex" of VOB "/vobs/dev".