前のトピック: Surrogate DO 機能のセットアップ次のトピック: パスワード攻撃の防止


SUDOレコードの定義

SUDO クラスのレコードには、コマンド スクリプトが格納されています。ユーザは、借用した権限でそのスクリプトを実行できます。 権限を利用できるかどうかは、スクリプトを実行する sesudo コマンドと SUDO レコードの両方で厳密に制御されます。

SUDO レコードでは、comment プロパティを特別な目的に使用します。通常、このような comment プロパティを data プロパティといいます。

data プロパティの値は、コマンド スクリプトです。必要に応じて、禁止(prohibited)または許可(permitted)するスクリプト パラメータ値を 1 つ以上追加します。 data プロパティ値全体は一重引用符で囲む必要があります。トロイの木馬の侵入を防ぐために、実行可能ファイルは完全パス名で参照する必要があります。

data プロパティの形式は、以下のとおりです。

data('cmd[;[prohibitedvalues][;permittedvalues]]')

prohibited および permitted の値のリストは省略できるため、data プロパティの値は以下のような簡単な値にすることもできます。

newres SUDO MountCd data('mount /dev/cdrom /cdr')

この例では、コマンドに指定されている簡単な値によって、sesudo MountCd コマンドで mount /dev/cdrom /cdr というスクリプトが実行されます。 特定のスクリプト パラメータ値が禁止されていないため、すべての値が許可されます。

ワイルドカードと強力な変数を使用すると、prohibited パラメータおよび permitted パラメータを柔軟に指定できるようになります。 使用できるワイルドカードは、UNIX の標準的なワイルドカードです。 使用できる変数は以下のとおりです。

変数

説明

$A

英字の値

$G

既存の CA ControlMinder グループ名

$H

ユーザのホーム パス パターン

$N

数値

$O

実行するユーザの名前

$U

既存の CA ControlMinder ユーザ名

$e

パラメータが指定されていない SUDO コマンド

$f

既存のファイル名

$g

既存の UNIX グループ名

$h

既存のホスト名

$r

UNIX の読み取り許可が付与された既存の UNIX ファイル名

$u

既存の UNIX ユーザ名

$w

UNIX の書き込み許可が付与された既存の UNIX ファイル名

$x

UNIX の実行許可が付与された既存の UNIX ファイル名

prohibited パラメータ値のリストをスクリプトに追加する場合は、以下のようにします。

permitted パラメータ値のリストをスクリプトに追加する場合は、以下の操作を行います。

したがって、data プロパティ全体の形式は、スクリプト、パラメータごとの prohibited 値、パラメータごとの permitted 値の順になります。

data('cmd;  
 param1_prohib1 param1_prohib2 ... param1_prohibN | ¥
 param2_prohib1 param2_prohib2 ... param2_prohibN | ¥
 ...
 paramN_prohib1 paramN_prohib2 ... paramN_prohibN ; ¥
 param1_permit1 param1_permit2 ... param1_permitN | ¥
 param2_permit1 param2_permit2 ... param2_permitN |
 ...
 paramN_permit1 paramN_permit2 ... paramN_permitN')