summaryrefslogtreecommitdiff
path: root/smrsh/smrsh.0
blob: 95a3dbfd2c117b4e03efcecd2cf2962df9e98d8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66



SMRSH(8)                                                 SMRSH(8)


NNAAMMEE
       smrsh - restricted shell for sendmail

SSYYNNOOPPSSIISS
       ssmmrrsshh --cc command

DDEESSCCRRIIPPTTIIOONN
       The  _s_m_r_s_h program is intended as a replacement for _s_h for
       use in the ``prog'' mailer  in  _s_e_n_d_m_a_i_l(8)  configuration
       files.   It  sharply  limits  the commands that can be run
       using the ``|program'' syntax  of  _s_e_n_d_m_a_i_l  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, _s_m_r_s_h lim-
       its the set of programs that he or she can execute.

       Briefly, _s_m_r_s_h limits programs  to  be  in  the  directory
       /usr/adm/sm.bin,  allowing  the  system  administrator  to
       choose the set of acceptable commands.   It  also  rejects
       any  commands with the characters ``', `<', `>', `|', `;',
       `&', `$', `(', `)', `\r' (carriage return), or `\n'  (new-
       line)  on the command line to prevent ``end run'' attacks.

       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 ``/usr/adm/sm.bin/vacation''.

       System  administrators  should be conservative about popu-
       lating /usr/adm/sm.bin.  Reasonable  additions  are  _v_a_c_a_-
       _t_i_o_n(1),  _p_r_o_c_m_a_i_l(1),  and the like.  No matter how brow-
       beaten you may be, never include any shell  or  shell-like
       program  (such  as _p_e_r_l(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.

CCOOMMPPIILLAATTIIOONN
       Compilation should be trivial on most  systems.   You  may
       need  to  use -DPATH=\"_p_a_t_h\" to adjust the default search
       path  (defaults  to   ``/bin:/usr/bin:/usr/ucb'')   and/or
       -DCMDBIN=\"_d_i_r\"  to  change the default program directory
       (defaults to ``/usr/adm/sm.bin'').

FFIILLEESS
       /usr/adm/sm.bin - directory for restricted programs

SSEEEE AALLSSOO
       sendmail(8)








                             11/02/93                           1