Provided by: manpages-ja_0.5.0.0.20210215+dfsg-1_all bug

名称

       smrsh - sendmail用に制限されたシェル

書式

       smrsh -c command

解説

       smrsh  は、 sendmail(8) の設定ファイルで、 sh の代わりに ``prog'' メーラとして使用する事を
       目的としています。 smrsh は、システムの全体的なセキュリティを改善するために、 sendmail  の
       ``|program''  書式により起動する事ができるコマンドを制限します。  つまり、もし ``悪者'' が
       alias ファイルや forward ファイルを経由せずに sendmail  からプログラムを実行する事ができた
       としても、  smrsh を使えば、彼(あるいは彼女)が実行できるプログラムを制限する事ができるので
       す。

       簡単に言うと、 smrsh は、実行可能なプログラムを単一のディレクトリに存在するものと、 シェル
       組み込みコマンドの  ``exec'', ``exit'', ``echo'' だけに限定します。 このディレクトリは、デ
       フォルトでは、/usr/libexec/sm.bin です。  これにより、システム管理者は利用可能なコマンドを
       選択する  事ができます。  更に、 smrsh は、``end run'' 攻撃を防ぐために、コマンド行に ``',
       `<', `>', `;', `$', `(', `)', `\r' (復改文字), `\n' (改行文字)  の文字を含むコマンドは実行
       しません。 ``||'' と ``&&'' は、許可されており、次のようなコマンドを使用可能です: ``"|exec
       /usr/local/bin/procmail -f- /etc/procmailrcs/user || exit 75"''

       プログラム名の前にあるパス名は全て取り除かれるため、                ``/usr/bin/vacation'',
       ``/home/server/mydir/bin/vacation'',                ``vacation''                などは全て
       ``/usr/libexec/sm.bin/vacation'' と解釈されます。

       システム管理者は、  sm.bin  ディレクトリに置くプログラムを選ぶ際には慎重な  判断をすべきで
       す。適切な物としては、 vacation(1) や procmail(1) などがあげられるでしょう。いかなる要望が
       あっても、シェルや、 perl(1) などのシェルに似たプログラムを sm.bin  に入れてはいけません。
       これは、単に任意のプログラムを実行する事を制限するだけで、  ``#!''書式を用いた、シェルスク
       リプトや perl スクリプトを sm.bin ディレクトリに入れる事を制限する訳ではありません。

コンパイル

       コンパイルはほとんどのシステムでつまらないものです。 デフォルトのサーチパス  (デフォルトで
       は``/bin:/usr/bin'')  を変更するためには、-DPATH=\"path\" を 使用する必要があり、また、 デ
       フォルトのプログラムディレクトリ (デフォルトでは ``/usr/libexec/sm.bin'') を変更するために
       は、-DCMDBIN=\"dir\" を 使用する必要があります。

関連ファイル

       /usr/libexec/sm.bin - 制限されたプログラム用のディレクトリ

関連項目

       sendmail(8)

                                   1Date: 2000/12/15 19:50:46 1                          SMRSH(8)