| ナビゲーションリンクをスキップ | |
| 印刷ビューの終了 | |
|
Trusted Extensions 開発者ガイド Oracle Solaris 10 1/13 Information Library (日本語) |
1. Trusted Extensions API およびセキュリティーポリシー
9. Solaris Trusted Extensions ラベル API のための試験的な Java バインディング
ファイルの機密ラベルを変更すると、そのファイルの新しいラベルに一致する新しいゾーンにそのファイルが移されます。
このコード例では、プロセスは CONFIDENTIAL ラベルで動作しています。プロセスを実行しているユーザーには、TOP SECRET 認可上限が割り当てられています。TOP SECRET ラベルは、CONFIDENTIAL ラベルよりも優位です。このプロセスは、機密ラベルを TOP SECRET にアップグレードします。アップグレードを正常に実行するためには、「Upgrade File Label」RBAC 承認がユーザーに必要です。
次のプログラムは upgrade-afile と呼ばれます。
#include <tsol/label.h>
main()
{
int retval, error;
m_label_t *fsenslabel;
char *string = “TOP SECRET”;
*string1 = “TOP SECRET”;
/* Create new sensitivity label value */
if ((retval = str_to_label(string, &fsenslabel, MAC_LABEL, L_DEFAULT, &err)) != 0) {
perror("str_to_label(MAC_LABEL, L_DEFAULT) failed");
exit(1);
}
/* Set file label to new value */
if ((retval = setflabel(“/export/home/zelda/afile”, &fsenslabel)) != 0) {
perror("setflabel(“/export/home/zelda/afile”) failed");
exit(1);
}
m_label_free(fsenslabel);
}
このプログラムの実行結果は、プロセスに渡されたファイルのラベルを基準にしたプロセスのラベルによって異なります。
このプログラムを実行する前後に、getlabel コマンドを使用してファイルのラベルを確認します。次に示すように、プログラム実行前の afile のラベルは CONFIDENTIAL です。プログラム実行後の afile のラベルは TOP SECRET です。
% pwd /export/home/zelda % getlabel afile afile: CONFIDENTIAL % update-afile % getlabel afile afile: TOP SECRET
ファイルを再格付けしたあとに CONFIDENTIAL とラベル付けされたウィンドウから getlabel コマンドを実行すると、それはもう表示されません。TOP SECRET とラベル付けされたウィンドウから getlabel コマンドを実行すると、再格付けしたファイルが表示されます。