lshell lets you restrict a user's shell environment to limited sets of commands, choose to enable or disable any command over SSH (e.g. SCP, SFTP, rsync, etc.), log user's commands, implement timing restrictions, and more.
A switch was made from the deprecated popen2 to subprocess for Python 2.6 compatibility. This version also corrects the missing built-in commands when the 'allowed' list was set to 'all'. The "export" built-in function was added for exporting shell variables.