SMRSH
Section: Maintenance Commands (8)
Updated: %Date: 2000/12/15 19:50:46 %
Index
JM Home Page
roff page
名称
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)
Index
- 名称
-
- 書式
-
- 解説
-
- コンパイル
-
- 関連ファイル
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 16:46:45 GMT, November 24, 2023