Posts Tagged ‘AccuRev alerts’

AccuRev admin tricks – SCM law enforcement

March 12th, 2008 by jtalbott

Here’s an AccuRev Tech Tip you might not have been aware of to help with your software configuration management law enforcement. As you know, the AccuRev TimeSafe architecture guarantees that every single transaction ever executed is going to be fully traceable, a blessing to those who care about auditing, perhaps regulatory compliance, or even just wanting to be able to see who has been up to what.

But what if you want to know what has *not* been done? Huh? What the heck am I talking about? I’m actually referring to commands that are not executed because you’ve put security in place to prevent them. So even though the offending users don’t get their way, perhaps someone might want to know who is trying to upset the apple cart or merely have the ability to apprise the user of organizational best practices.

One way to do this is through email. Let’s say you’re implementing the default set of commands that AccuRev limits to Administrative users, and someone unauthorized tries to create a new user. Put the following into the proper place in the server_admin_trig trigger:


  if ( `$::AccuRev ismember $principal "$admingrp"` == 0 ) {
       print TIO "Execution of '$command' disallowed:\n";
       print TIO "You are not in the $admingrp group.\n";
       system("simple_email", $arg1, $arg2);  # insert this line #
       close TIO;
       exit(1);
  }

Now, whenever someone who isn’t allowed tries to create a user, you can get a nice email that says:

To: anyone_who_cares
Subject: AccuRev alert
Body: User “jtalbott” tried to run the “mkuser” command. That’s 10 demerits. Put him on double-secret probation!

…or something similarly amusing. What you’re basically doing is sending your desired parameters into the simple_email script. You can write your simple_email script using whatever language you want, as long as it’s accessible in the local path, and naturally it would be reusable. Now, for virtually any operation in AccuRev that you want to know about, whether you want to know if it succeeds or fails, you can get notified about it. You’re certainly not limited to email either. simple_email could send text messages, page someone, basically any form of communication you prefer that can be coded.

It really is that easy. I highlighted a certain example, but there are many practical applications. How do you think you would be able to take advantage of this in your organization? Or if you’re already doing it, what kind of things are you communicating?