RSH(C) XENIX System V RSH(C)
Name
rsh - Invokes a restricted shell (command interpreter).
Syntax
rsh [ flags ] [ name [ arg1 ... ] ]
Description
rsh is a restricted version of the standard command
interpreter sh(C). It is used to set up login names and
execution environments whose capabilities are more
controlled than those of the standard shell. The actions of
rsh are identical to those of sh, except that changing
directory with cd, setting the value of $PATH, using command
names containing slashes, and redirecting output using >
and >> are all disallowed.
When invoked with the name -rsh, rsh reads the user's
.profile (from $HOME/.profile). It acts as the standard sh
while doing this, except that an interrupt causes an
immediate exit, instead of causing a return to command
level. The restrictions above are enforced after .profile
is interpreted.
When a command to be executed is found to be a shell
procedure, rsh invokes sh to execute it. Thus, it is
possible to provide to the end user shell procedures that
have access to the full power of the standard shell, while
restricting him to a limited menu of commands; this scheme
assumes that the end user does not have write and execute
permissions in the same directory.
The net effect of these rules is that the writer of the
.profile has complete control over user actions, by
performing guaranteed setup actions, then leaving the user
in an appropriate directory (probably not the login
directory).
rsh is actually just a link to sh and any flags arguments
are the same as for sh(C).
The system administrator often sets up a directory of
commands that can be safely invoked by rsh.
See Also
sh(C), profile(M)
Page 1 (printed 2/7/91)