Copyright (c) 1993 Eric P. Allman. All rights reserved.
Copyright (c) 1993
The Regents of the University of California. All rights reserved.
By using this file, you agree to the terms and conditions set
forth in the LICENSE file which can be found at the top level of
the sendmail distribution.
@(#)smrsh.8 8.7 (Berkeley) 5/19/1998
Briefly, smrsh limits programs to be in the directory /usr/libexec/sm.bin, allowing the system administrator to choose the set of acceptable commands. It also rejects any commands with the characters `\`', `<', `>', `|', `;', `&', `$', `(', `)', `\er' (carriage return), or `\en' (newline) on the command line to prevent ``end run'' attacks.
Initial pathnames on programs are stripped, so forwarding to ``/usr/bin/vacation'', ``/home/server/mydir/bin/vacation'', and ``vacation'' all actually forward to ``/usr/libexec/sm.bin/vacation''.
System administrators should be conservative about populating /usr/libexec/sm.bin. Reasonable additions are vacation (1), procmail (1), and the like. No matter how brow-beaten you may be, never include any shell or shell-like program (such as perl (1)) in the sm.bin directory. Note that this does not restrict the use of shell or perl scripts in the sm.bin directory (using the ``#!'' syntax); it simply disallows execution of arbitrary programs.