Provided by: sendmail-bin_8.15.2-3_amd64 bug


       smrsh - restricted shell for sendmail


       smrsh -c command


       The  smrsh  program  is intended as a replacement for sh for use in the ``prog'' mailer in
       sendmail(8) configuration files.  It sharply limits the commands that can be run using the
       ``|program''  syntax of sendmail in order to improve the over all security of your system.
       Briefly, even if a ``bad guy'' can get sendmail to run a program without going through  an
       alias or forward file, smrsh limits the set of programs that he or she can execute.

       Briefly,  smrsh  limits  programs to be in a single directory, by default /etc/mail/smrsh,
       allowing the system administrator to choose the set of acceptable  commands,  and  to  the
       shell  builtin  commands  ``exec'',  ``exit'', and ``echo''.  It also rejects any commands
       with the characters ``', `<', `>', `;', `$', `(', `)', `\r'  (carriage  return),  or  `\n'
       (newline) on the command line to prevent ``end run'' attacks.  It allows ``||'' and ``&&''
       to enable commands like: ``"|exec /usr/local/bin/filter || exit 75"''

       Initial pathnames on  programs  are  stripped,  so  forwarding  to  ``/usr/ucb/vacation'',
       ``/usr/bin/vacation'',  ``/home/server/mydir/bin/vacation'', and ``vacation'' all actually
       forward to ``/etc/mail/smrsh/vacation''.

       System administrators should be conservative about populating the sm.bin  directory.   For
       example,  a  reasonable additions is vacation(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.  Also, including mail filtering programs such as procmail(1) is a very bad idea.
       procmail(1) allows users to run arbitrary programs in their procmailrc(5).


       Compilation should be trivial on most systems.  You may need to use  -DSMRSH_PATH=\"path\"
       to  adjust  the  default  search  path  (defaults  to  ``/bin:/usr/bin:/usr/ucb'')  and/or
       -DSMRSH_CMDDIR=\"dir\"  to   change   the   default   program   directory   (defaults   to


       /etc/mail/smrsh - default directory for restricted programs on most OSs

       /var/adm/sm.bin - directory for restricted programs on HP UX and Solaris

       /usr/libexec/sm.bin  - directory for restricted programs on FreeBSD (>= 3.3) and DragonFly



                                   $Date: 2013-11-22 20:52:00 $                          SMRSH(8)