条件付きアクセス制御リストの使用
ファイルアクセスに使用するプログラムを条件として、ファイルへのアクセス権を指定することができます。このようにファイル アクセスを条件付きにすることを、Program Pathing と呼びます。
cminderpim14jp
ファイルアクセスに使用するプログラムを条件として、ファイルへのアクセス権を指定することができます。このようにファイル アクセスを条件付きにすることを、Program Pathing と呼びます。
注:
ファイルにアクセスする条件として指定されたプログラムがシェル スクリプトの場合、そのシェル スクリプトの 1 行目は「#!/bin/sh」である必要があります。シェル スクリプトでは、「#!/bin/sh」の行はコメントとして扱われて処理されないため、# . /home/test/test.sh または # sh /home/test/test.sh のような方法でシェル スクリプトを実行しないでください。以下のコードは、パスワード変更プログラム /bin/passwd を使用するすべてのプロセスに対して、/etc/passwd ファイルの更新を許可する例です。/bin/passwd 以外から行われた、/etc/passwd ファイルに対するアクセスの試みは、すべてブロックされます。
newres FILE /etc/passwd owner(nobody) defaccess(R) authorize FILE /etc/passwd gid(users) access(U) via(pgm(/bin/passwd))
この newres コマンドは、/etc/passwd ファイルを CA ControlMinder に定義し、ファイルの所有者を含むすべてのユーザに対してファイルの読み取りを許可します。下の authorize コマンドは、/bin/passwd プログラムの制御下でアクセスが行われた場合に、すべてのユーザにファイルへのアクセスを許可します。この方法でパスワード ファイルを保護すると、ユーザが /bin/passwd プログラムを使用していない場合は、トロイの木馬による /etc/passwd ファイルへのエントリの追加や、users グループのユーザによるパスワード ファイルの更新がブロックされます。
条件付きアクセス リストは、データベース管理システム(DBMS)のファイルに対するアクセスを制御する場合にも役に立ちます。通常は、データベース ベンダによって提供されているプログラムやユーティリィティを使用した場合にのみ、ユーザが DBMS ファイルにアクセスできるようにします。以下のコマンドについて考えてみましょう。
authorize FILE /usr/dbms/xyz uid(*) via(pgm(/usr/dbms/bin/pgm1)) access(U) authorize FILE /usr/dbms/xyz uid(*) via(pgm(/usr/dbms/bin/pgm2)) access(U)
この 2 つの authorize コマンドは、DBMS のバイナリ ディレクトリにあるプログラム pgm1 または pgm2 のいずれかによってアクセスが行われた場合、DBMS システムのファイルである xyz へのアクセスを、すべての CA ControlMinder ユーザに許可します。ユーザのオペランドにアスタリスクが使用されていることに注意してください。このアスタリスクは、CA ControlMinder に定義されているすべてのユーザを指定します。このアスタリスクの使用は、デフォルト アクセスの概念に類似していますが、デフォルト アクセスは CA ControlMinder に定義されていないユーザにも適用される点で異なります。CA ControlMinder データベースで定義されていないユーザに対しては _undefined グループを使用できます。