次のコードは、file (ファイル) の CMW ラベル (FSA_LABEL) を取得し、それを buffer (バッファー) に返します。
#include <tsol/fsattr.h> #include <tsol/label.h> main() { char *file = "/export"; char buffer [3*1024], *string = (char *)0; int length, retval; length = sizeof(buffer); retval = getfsattr(file, FSA_LABEL, buffer, length); retval = bcltos((bclabel_t *)buffer, &string, 0, VIEW_INTERNAL); printf("/export CMW label = %s ¥n", buffer); }
printf 文によって、次のように出力されます。
/export CMW label = ADMIN_LOW [ADMIN_LOW]
FSA_ACLCNT - ファイルシステムアクセスのアクセス制御リスト (ACL) 数
FSA_DFACLCNT - ファイルシステムのデフォルト ACL 数
FSA_DFACL - ファイルシステムのデフォルト ACL
FSA_AFLAGS - ファイルシステムの属性フラグ。「ファイルシステムのセキュリティ属性フラグの取得と設定」を参照してください。
FSA_MLDPFX - ファイルシステムのマルチレベルディレクトリの接頭辞文字列
FSA_APSACNT - プロセス監査の事前選択マスク内のクラスの数
FSA_APSA - プロセス監査の事前選択マスク内のクラス。プロセスは、この情報を取得する場合、有効特権セット内で file_audit 特権を必要とする。詳細は、「特権と承認」を参照してください。
CMW ラベル、ファイルシステムのラベル範囲、ファイル特権、およびマルチレベルディレクトリにアクセスするプログラミングインタフェースの概要は、「Trusted Solaris 7 のセキュリティ機構」で述べています。詳細は、該当するそれぞれの章を参照してください。
アクセス制御リスト - アクセス制御リストは Solaris 7 の一部であるため、本書では説明していません。
監査の事前選択属性 - ファイルシステムに対する監査の事前選択属性は、システム管理者がコマンド行から setfsattr(1M) を使用して指定します。この事前選択属性は、ファイルのアクセス権ビットに対して監査を指定します。アクセス (読み取り、書き込み、実行) が試みられた場合に、そのファイルとディレクトリを監査できるようにファイルシステムを構成することができます。
プロセスに対する監査の事前選択属性は、システム管理者がコマンド行から auditconfig(1M) を使用して指定します。ファイルシステムの事前選択属性は、プロセスの事前選択属性を無効にします。たとえば、ファイルの読み取りについて監査されるプロセスは、読み取り監査を行わないことを指定するファイルシステム事前選択監査属性を持つファイルの読み取り時には監査されません。詳細は、『Trusted Solaris の監査管理』を参照してください。