I’ve written a script that will process an ACL-like file and set a number of permissions on our RT server, but currently I have this only working for specific queues. How can I make this work for global rights? Currently, I have it working as such:
$groupName and $queueName are specified in the function parameters. Assume they’re correct.
$status and $msg are also defined globals.
my $groupObj = new RT::Group($currentUser);
my $queueObj = new RT::Queue($currentUser);
Load our RT queue
($status, $msg) = $queueObj->Load($queueName);
Do one of these based on the type of group:
($status, $msg) = $groupObj->LoadUserDefinedGroup($groupName);
($status, $msg) = $groupObj->LoadQueueRoleGroup(Queue => $queueObj->id, Type => $groupName);
($status, $msg) = $groupObj->LoadSystemInternalGroup($groupName);
($status, $msg) = $groupObj->PrincipalObj->GrantRight(
Right => $rightName,
Object => $queueObj);
I know that GrantRight takes a string “RightName” and an object to apply the right to and for. Can I use the same "$groupObj->PrinciplaObj->GrantRight(“RightName”, $object) to specify global rights? How do I get “global” into an object?
Internet System Administrator, Baker College