GNU Rush 2.0 (Restricted User Shell), designed for use in systems with reduced remote access, which require restriction of user actions, is released. Rush makes it possible to determine which command line functions a user can use and what resources are provided to him (memory size, processor time, etc.).
For example, Rush can be used to remotely launch programs in a chroot environment, which helps increase security when providing access through programs such as sftp-server or scp, which by default have access to the entire file system. Another useful feature of Rush is to support sending a notification to another process about the end of a user session via a network or Unix socket. All connections through Rush are tracked and logged. To view a list of active users and their connection history, rushwho and rushlast utilities are offered.
In the new release, the configuration processing code has been completely rewritten and a new syntax of the file with the settings has been proposed (the old syntax support has been retained for backward compatibility). The new syntax offers new control structures and processing instructions for various operations.