Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

smrsh(8) [debian man page]

SMRSH(8)						      System Manager's Manual							  SMRSH(8)

NAME
smrsh - restricted shell for sendmail SYNOPSIS
smrsh -c command DESCRIPTION
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 /usr/adm/sm.bin, 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 charac- ters ``', `<', `>', `;', `$', `(', `)', ` ' (carriage return), or ` ' (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/vaca- tion'', and ``vacation'' all actually forward to ``/usr/adm/sm.bin/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 direc- tory. Note that this does not restrict the use of shell or perl scripts in the sm.bin directory (using the ``#!'' syntax); it simply dis- allows 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
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 ``/usr/adm/sm.bin''). FILES
/usr/adm/sm.bin - 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 BSD SEE ALSO
sendmail(8) $Date: 2004/08/06 03:55:35 $ SMRSH(8)

Check Out this Related Man Page

whereis(1B)					     SunOS/BSD Compatibility Package Commands					       whereis(1B)

NAME
whereis - locate the binary, source, and manual page files for a command SYNOPSIS
/usr/ucb/whereis [-bmsu] [ -BMS directory... -f] filename... DESCRIPTION
The whereis utility locates source/binary and manuals sections for specified files. The supplied names are first stripped of leading path- name components and any (single) trailing extension of the form .ext, for example, .c. Prefixes of s. resulting from use of source code control are also dealt with. whereis then attempts to locate the desired program in a list of standard places: etc /sbin /usr/bin /usr/ccs/bin /usr/ccs/lib /usr/lang /usr/lbin /usr/lib /usr/sbin /usr/ucb /usr/ucblib /usr/ucbinclude /usr/games /usr/local /usr/local/bin /usr/new /usr/old /usr/hosts /usr/include /usr/etc OPTIONS
The following options are supported: -b Searches only for binaries. -B Changes or otherwise limits the places where whereis searches for binaries. -f Terminates the last directory list and signals the start of file names, and must be used when any of the -B, -M, or -S options are used. -m Searches only for manual sections. -M Changes or otherwise limits the places where whereis searches for manual sections. -s Searches only for sources. -S Changes or otherwise limit the places where whereis searches for sources. -u Searches for unusual entries. A file is said to be unusual if it does not have one entry of each requested type. Thus `whereis -m -u *' asks for those files in the current directory which have no documentation. EXAMPLES
Example 1: Finding files Find all files in /usr/bin which are not documented in /usr/share/man/man1 with source in /usr/src/cmd: example% cd /usr/ucb example% whereis -u -M /usr/share/man/man1 -S /usr/src/cmd -f * FILES
/usr/src/* /usr/{doc,man}/* /etc, /usr/{lib,bin,ucb,old,new,local} ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWscpu | +-----------------------------+-----------------------------+ SEE ALSO
chdir(2), attributes(5) BUGS
Since whereis uses chdir(2) to run faster, pathnames given with the -M, -S, or -B must be full; that is, they must begin with a `/'. SunOS 5.10 10 Jan 2000 whereis(1B)
Man Page