O'Reilly logo

Sendmail, 3rd Edition by Bryan Costales

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

The smrsh Program

The sendmail program normally runs any program it finds in the user’s ~/.forward file. A cracker can attack any user, including root, by having permission to modify the user’s ~/.forward file. Consider the following modifications, for example:

\user
|"/usr/ucb/vacation user"                                OK
|"/tmp/x.sh"                                             an attack!
|"cp /bin/sh /home/george/.x; chmod u+s /home/george/.x"an attack!

As an aid in preventing such attacks, V8.1 sendmail first offered the smrsh (sendmail restricted shell) program. V8.7 sendmail offered the smrsh feature (see Section 5.8.2) as an easy way to install smrsh with your mc configuration file.

Build smrsh

The smrsh program is supplied in source form with the sendmail distribution in the smrsh directory. The README file in that directory describes how to compile and install smrsh, and tells how it can be used with all versions of sendmail. Note that the instructions we give you here refer to V8.9 and above.

To build smrsh just execute the following in the smrsh directory:

% ./Build

There is very little to tune inside smrsh at build time. You might wish to predefine ALLOWSEMI as a way to allow semicolons inside command-lines, but this is not recommended because it makes the job of smrsh harder and less secure. In the rare event you need to allow semicolons, however, you can add the following line to your m4 build file:

APPENDDEF(`conf_smrsh_ENVDEF', `-DALLOWSEMI')

You might also want to change the directory where smrsh will look for its approved executable ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required