Context:
Requirements
Question
What steps should I take in order to:
If users must have SSH to your server, a useful tool to protect your server root is chroot - this will let you give them the apparent functionality of server root, without actually giving them the crown jewels.
Alternatively, as you use virtual machines anyway, why not provide them with virtual server instances?
Both of these will allow you to run monitoring tools (such as tripwire) in order to check for changes to files. Logging should be done outside the users' environment.
With entries in /etc/sudoers you can limit what activities users are allowed to carry out under su.
External links referenced by this document: