88 lines
2.8 KiB
Groff
88 lines
2.8 KiB
Groff
.\" Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers.
|
|
.\" All rights reserved.
|
|
.\" Copyright (c) 1993 Eric P. Allman. All rights reserved.
|
|
.\" Copyright (c) 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" By using this file, you agree to the terms and conditions set
|
|
.\" forth in the LICENSE file which can be found at the top level of
|
|
.\" the sendmail distribution.
|
|
.\"
|
|
.\"
|
|
.\" %Id: smrsh.8,v 8.11 1999/06/09 16:51:07 ca Exp %
|
|
.\"
|
|
.\" %FreeBSD: src/contrib/sendmail/smrsh/smrsh.8,v 1.3.6.1 2000/08/27 17:31:24 gshapiro Exp %
|
|
.\"
|
|
.\" jpman %Id: smrsh.8,v 1.3 1997/09/04 18:05:48 horikawa Stab %
|
|
.\"
|
|
.TH SMRSH 8 11/02/93
|
|
.SH 名称
|
|
smrsh \- sendmail用に制限されたシェル
|
|
.SH 書式
|
|
.B smrsh
|
|
.B \-c
|
|
command
|
|
.SH 解説
|
|
.I smrsh
|
|
は、
|
|
.IR sendmail (8)
|
|
の設定ファイルで、
|
|
.I sh
|
|
の代わりに ``prog'' メーラとして使用する事を目的としています。
|
|
.I smrsh
|
|
は、システムの全体的なセキュリティを改善するために、
|
|
.I sendmail
|
|
の ``|program'' 書式により起動する事ができるコマンドを制限します。
|
|
つまり、もし ``悪者'' が alias ファイルや forward ファイルを経由せずに
|
|
sendmail からプログラムを実行する事ができたとしても、
|
|
.I smrsh
|
|
を使えば、彼(あるいは彼女)が実行できるプログラムを制限する事ができるのです。
|
|
.PP
|
|
簡単に言うと、
|
|
.I smrsh
|
|
は、実行可能なプログラムを /usr/libexec/sm.bin ディレクトリに存在するもの
|
|
と、シェル組み込みコマンドの ``exec'', ``exit'', ``echo''
|
|
だけに限定します。これにより、システム管理者は利用可能なコマンドを選択する
|
|
事ができます。
|
|
更に、
|
|
.I smrsh
|
|
は、``end run'' 攻撃を防ぐために、コマンド行に
|
|
`\`', `<', `>', `;', `$', `(', `)', `\er' (復改文字),
|
|
`\en' (改行文字)
|
|
の文字を含むコマンドは実行しません。
|
|
``||'' と ``&&'' は、許可されており、次のようなコマンドを使用可能です:
|
|
``"|exec /usr/local/bin/procmail -f- /etc/procmailrcs/user || exit 75"''
|
|
.PP
|
|
プログラム名の前にあるパス名は全て取り除かれるため、
|
|
``/usr/bin/vacation'', ``/home/server/mydir/bin/vacation'', ``vacation''
|
|
などは全て ``/usr/libexec/sm.bin/vacation'' と解釈されます。
|
|
.PP
|
|
システム管理者は、
|
|
/usr/libexec/sm.bin に置くプログラムを選ぶ際には慎重な
|
|
判断をすべきです。適切な物としては、
|
|
.IR vacation (1)
|
|
や
|
|
.IR procmail (1)
|
|
などがあげられるでしょう。いかなる要望があっても、シェルや、
|
|
.IR perl (1)
|
|
などのシェルに似たプログラムを
|
|
sm.bin
|
|
に入れてはいけません。
|
|
これは、単に任意のプログラムを実行する事を制限するだけで、
|
|
``#!''書式を用いた、シェルスクリプトや perl スクリプトを
|
|
sm.bin
|
|
ディレクトリに入れる事を制限する訳ではありません。
|
|
.SH コンパイル
|
|
コンパイルはほとんどのシステムでつまらないものです。
|
|
デフォルトのサーチパス
|
|
(デフォルトでは``/bin:/usr/bin'')
|
|
を変更するためには、\-DPATH=\e"\fIpath\fP\e" を
|
|
使用する必要があり、また、
|
|
デフォルトのプログラムディレクトリ
|
|
(デフォルトでは ``/usr/libexec/sm.bin'')
|
|
を変更するためには、\-DCMDBIN=\e"\fIdir\fP\e" を
|
|
使用する必要があります。
|
|
.SH 関連ファイル
|
|
/usr/libexec/sm.bin \- 制限されたプログラム用のディレクトリ
|
|
.SH 関連項目
|
|
sendmail(8)
|