簡単に言うと、 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 ディレクトリに入れる事を制限する訳ではありません。
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]