If you want an audit trail, enforce the use of sudo - prohibit su.
If you want an audit trail that includes commands users execute (when they su to other accounts), force Sudo but also force using a logging shell wrapper like Rootsh or Sudosh. The main difference between the two AFAIK is that Sudosh has session playback capabilities. If you want to expand on that make the wrapper log to syslog and log to a remote syslog host.
You also may want to use a file integrity checker like Aide, Samhain or even tripwire to monitor changes. Top it off with a tool to monitor services for changes (like Monit). I have the most important configs under a revision system which makes it easy to check change info and revert back in case it gets fscked up.
Last edited by unSpawn; 02-15-2007 at 07:19 AM.
Reason: more is more.