Does anyone know of a way to prevent a user from running certain commands? For example, I would like to prevent users from copying data to and from the server without going through our SVN repo. (svn export vs scp)
On Linux (and on Mac OS being a unix-like system) you could use acl which extends the standard permissions based on "Owner User", "Owning Group User" and "Others". So you could create an extra group called eg "testers" that have disabled the execution bit for binary that you want to exclude.
Of course that doesn't prevent users the ability to install some software on their home directory.
Here Is it possible to prevent SCP while still allowing SSH access? you have a discussion that may result useful too
You can't (reliably) prevent users from launching a specific list of commands.
You can restrict users to only be able to run a specific list of commands. (Invoke bash with the
Another (more viable) option is to make the deployment area only writable by a specific UID, and force the users to use