前のトピック: ユーザ レコードまたはグループ レコード更新の exit

次のトピック: selang exit に渡すことができる引数

用意されている selang exit スクリプトのしくみ

CA Access Control には、スクリプトが用意されています。これをマスタ スクリプトとして使用し、現在の selang のコマンドの種類およびステータスに応じて他のプログラムを呼び出すことができます。 CA Access Control の一部として用意されている exit スクリプトは ACInstallDir/exits/lang_exit.sh です(ここで、 ACInstallDir は CA Access Control のインストール ディレクトリです)。このスクリプトは以下のように実行されます。

  1. CA Access Control では、スクリプトの 3 つのパラメータに値が自動的に設定されます。

パラメータ

指定可能な値

クラス

USER | GROUP

ACTION

CREATE | MODIFY | DELETE

STAGE

PRE | POST

これらのパラメータが示す内容は、CA Access Control の処理対象がユーザまたはグループのいずれであるか、ユーザまたはグループに対して行われる処理が作成、削除、または変更のいずれであるか、selang のコマンドが実行前(PRE)または実行後(POST)のいずれであるかです。

スクリプトは、呼び出すプログラムにパラメータ値を渡すことができます。

パラメータ

指定可能な値

EXEC_RV

UNIX コマンドの戻り値を受け取ります。戻り値は、コマンドが成功したか失敗したかの判断に使用されます。

PRE コマンドの場合、戻り値は常に 0 になります。 POST コマンドの場合、戻り値を使用して exit を実行するか省略するかを決定できます。

このパラメータの使用例については、ACInstallDir/samples/exits_src ファイルを参照してください。

  1. CLASS パラメータおよび STAGE パラメータを使用して、適切なディレクトリにあるプログラムが検索されます。
    ACInstallDir/exits/USER_PRE/
    ACInstallDir/exits/USER_POST/
    ACInstallDir/exits/GROUP_PRE/
    ACInstallDir/exits/GROUP_POST/
    
  2. ファイル名が大文字の S で始まる以下の形式で、適切なアクションを参照するすべてのプログラムが、適切なディレクトリから選択されます。
    Snnaction_string
    

    ここで、nn はプログラムの実行順序を定義する 2 桁の 10 進数、action は CREATE、MODIFY、または DELETE のいずれか、string は説明文字列です。

  3. 該当するすべてのプログラムが、名前の 2 文字目および 3 文字目にある数値の順序に従って実行されます。

例: UNIX exit スクリプト

ユーザを削除します。ACInstallDir/exits/USER_PRE/ ディレクトリには以下のファイルがあります。

ユーザを削除するコマンドを発行した場合、ユーザを作成するのではなく削除するので、1 つ目のプログラムは実行されません。 最初の S の後の 2 桁の数字に基づいて、2 つ目と 3 つ目のプログラムが順に実行されます。