Trusted Solaris 管理の概要

第 7 章 その他の Trusted Solaris のユーティリティ

この章では、プロファイルマネージャ、ファイルマネージャ、デバイス割り当てマネージャのほか、Trusted Solaris の管理に使用するさまざまなユーティリティプログラムの概要を説明します。

Trusted Solaris 環境で使用できる全コマンドについては、次の各マニュアルページを参照してください。Intro(1)、Intro(1M)、Intro(2)、 Intro(3)、Intro(4)、Intro(5)、Intro(7)、Intro(9)、 Intro(9F)。

プロファイルマネージャの使用法

プロファイルマネージャは、プロファイルの操作に使用するメインツールです。Trusted Solaris のデフォルトの実行プロファイルには、大概の組織の一般ユーザーや管理役割ユーザーに必要な機能が揃っています。アプリケーションの特権を変更したり、新しいアプリケーションを追加して特定ユーザーだけが使用できる特権を割り当てなければならない場合、また、プロファイルの変更や作成が必要な場合に、プロファイルマネージャを使用します。プロファイルマネージャを使用すると、次の図に示すように、tsolprof データベースの値を管理できます。

図 7-1 実行プロファイルの管理の仕組み

Graphic

プロファイルマネージャにはアプリケーションマネージャからアクセスします。プロファイルマネージャのメインウィンドウには、「アクション表示モード」、「コマンド表示モード」、「承認表示モード」の 3 種類の表示モードがあり、入力する情報に応じて異なったグラフィカルインタフェース構成の画面が表示されます。モードの選択は「表示 (View)」メニューから行います。次の図に、コマンドモードのプロファイルマネージャを示します。

図 7-2 プロファイルマネージャ

Graphic

プロファイルマネージャには次のような主要機能がありますが、表示モードによっては表示されない機能もあります。

次の図は、プロファイルマネージャで実行プロファイルを作成する方法を示しています。

図 7-3 プロファイルマネージャからプロファイルを作成する方法

Graphic

図 7-3 は、プロファイルマネージャで実行プロファイルを作成する方法を示しています。

Trusted NFS のマウント方法の概要

Trusted Solaris 環境でファイルシステムをマウントする方法は、標準 Solaris システムの場合とほとんど同じです。標準的なマウント情報はクライアントの vfstab ファイルに、共有情報はサーバーの dfstab ファイルに入力します。また、 mount(1M) コマンドで、動的にマウントの設定を行うこともできます。

Trusted Solaris 環境のマウント設定で特に異なる点は、次のとおりです。

マウントするセキュリティ属性の指定

vfstab_adjunct ファイルと -S オプションを付けた mount コマンドを使用すると、マウント時にセキュリティ属性を指定できます。

指定できるセキュリティ属性には次のものがあります。

ファイルマネージャを使用して特権とラベルを変更する

Trusted Solaris では、ほとんどのユーザーに、アクセス権の設定が許可されています。ただし、特権とラベルを変更できるのは、管理者と承認されたユーザーだけです。この節では、ファイルシステムに特権とラベルセキュリティ属性を設定するためのファイルマネージャの機能について説明します。なお、ファイルマネージャの詳細については、『Trusted Solaris ユーザーズガイド』の第 5 章「ファイルとディレクトリの管理」を参照してください。

Trusted Solaris 環境では、ファイルマネージャからもコマンド行からも、ファイルのプロパティを管理できます。

図 7-4 ファイル属性の管理方法

Graphic

ファイルマネージャのポップアップメニュー (次の図を参照) には、標準 Solaris にはない項目があります。Trusted Solaris 特有の項目は次の 2 つです。

図 7-5 ファイルマネージャのポップアップメニュー

Graphic

コマンド行からファイルのセキュリティ属性を変更する方法については、「コマンド行からファイルのセキュリティ属性を変更する」を参照してください。

ファイルシステムのセキュリティ属性の変更方法については、「ファイルシステムユーティリティ」を参照してください。

ファイルの特権の変更

ファイルマネージャのポップアップメニューから「特権 (Privileges)」オプションを選択すると、ファイルマネージャの「特権 (Privileges)」ダイアログボックスが表示されます (次の図を参照)。このダイアログボックスでは、ファイルマネージャで選択したファイルに許容された特権と強制された特権を指定できます。ファイルマネージャを使用してファイルに特権を割り当てる方法については、「許容された特権と強制された特権の割り当て」を参照してください。

図 7-6 ファイルマネージャの「特権 (Privileges)」ダイアログボックス

Graphic

ファイルのラベルの変更

ファイルマネージャのポップアップメニューから「ラベル (Labels)」オプションを選択すると、ファイルマネージャの「ラベル (Labels)」ダイアログボックスが表示されます (次の図を参照)。Trusted Solaris 環境の他のラベル関連ダイアログボックスと同様の操作で、選択したファイルの機密ラベルと情報ラベルを設定できます。

図 7-7 ファイルマネージャの「ラベル (Labels)」ダイアログボックス

Graphic

コマンド行からファイルのセキュリティ属性を変更する

この節では、ファイルのセキュリティ属性の取得と設定に使用するコマンドについて説明します。

getfattrflag と setfattrflag

getfattrflag(1) コマンドとsetfattrflag(1) コマンドでは、ファイル名を指定して、そのセキュリティ属性フラグを取得、設定することができます。セキュリティ属性フラグ情報を読み取れるのは、ユーザーがそのファイルのパスにある全ディレクトリに対して、検索権を持っている場合だけです。また、ファイルの必須読み取り権も必要です。

setfattrflag(1) コマンドを使用すると、ディレクトリをマルチレベルに設定したり、ディレクトリ名を公開オブジェクトに設定することができます。そのディレクトリやファイルの所有者でない場合は、FILE_OWNER 特権がないと公開属性フラグを変更することができません。

getfattrflag(1) コマンドを使用すると、指定したファイルやディレクトリのセキュリティ属性を確認することができます。

次の例では、もともと専有ファイルである myFile というファイルを、setfattrflag(1) コマンドで公開ファイルに変換しています。

% getfattrflag myFile
myFile: not a public object

% setfattrflag -p 1 myFile

% getfattrflag myFile
myFile: is a public object

getfpriv と setfpriv

getfpriv(1) コマンドとsetfpriv(1) コマンドでは、ファイルの特権 (強制された特権と許容された特権の両方) を取得、設定することができます。次の例では、myFile というファイルの現在の特権を取得した後、そのファイルに file_mac_read 特権を設定しています。

% getfpriv myFile
myFile FORCED: none ALLOWED: all

% setfpriv -s -f file_mac_read myFile

% getfpriv myFile
myFile FORCED: file_mac_read ALLOWED: all

getlabel と setlabel

getlabel(1) コマンドとsetlabel(1) コマンドでは、ファイルの機密ラベルを取得、設定することができます。

次の例では、myFile というファイルの初期の機密ラベルを取得し、再設定しています。

% getlabel myFile
myFile: ADMIN_LOW [C]

% setlabel -s SECRET myFile

% getlabel myFile
myFile: CONFIDENTIAL [S]

testfpriv

testfpriv(1) コマンドでは、ファイルに対応付けられた特権セットの確認や評価を行います。基本的には、特権の種類 (強制された特権または許容された特権)とファイルを指定すると、その特権がファイルの特権セットに含まれているかどうかが示されます。ファイルへの MAC 読み取りアクセス権が必要です。

ファイルシステムユーティリティ

この項では、ファイルシステムの操作方法について、標準 Solaris と Trusted Solaris との相違点を説明します。

ファイルシステムのセキュリティ属性

Trusted Solaris には、ファイルに関連するさまざまなセキュリティ属性があります。標準 Solaris で使用されているアクセス制御リスト (ACL) やファイルアクセス権のほかにも、次のような属性が用意されています。

ファイルシステム属性のコマンド

ファイルシステム属性の管理には、次のコマンドを使用します。

getfsattr

getfsattr(1M) コマンドは、指定したファイルのセキュリティ属性を表示します。

setfsattr

setfsattr(1M) コマンドは、既存または新規のファイルシステムにセキュリティ属性を設定します。setfsattr は、ファイルシステムのマウントを解除した状態で使用します。

newsecfs

newsecfs(1M) コマンドの機能は setfsattr コマンドの機能とほぼ同じです。新規のファイルシステムだけにセキュリティ属性を設定します。

Trusted Solaris でのファイルシステムのマウント

Trusted Solaris でのファイルシステムのマウント方法は、標準 Solaris の場合と若干異なります。ファイルシステムのマウント関連のコマンドには次のものがあります。

mount

Trusted Solaris 版の mount(1M) コマンドには、sys_mount 特権が必要です。また、マウント先とマウントされるデバイスには、必須および任意の読み取りアクセス権 (または無効化特権) が必要です。vfstab_adjunct ファイルの構成によっては、 proc_setsl と proc_setclr 特権の組み合わせが必要となる場合もあります。mount コマンドではマルチラベルディレクトリ (MLD) へのマウントが可能です。また、 -S という特別なオプションを使って、ファイルシステムのマウントに対応付けるセキュリティ属性を指定できます。このオプションを使用できるのは、指定した機密ラベルの認可上限が十分である場合だけです。

mountd

Trusted Solaris 版の mountd(1M) コマンドには、sys_nfs 特権が必要です。このコマンドでは、マルチラベルディレクトリ (MLD) へのマウントが可能です。

mount_ufs

Trusted Solaris 版の mount_ufs(1M) コマンドは、クォータをサポートしていません。このコマンドでは、-o を付けて、次の 2 つのオプションを指定できます。

mount_hsfs

Trusted Solaris 版の mount_hsfs(1M) コマンドを使用するには、sys_mount 特権が必要です。また、マウント先とマウントされるデバイスには、必須および任意の読み取りアクセス権 (または無効化特権) が必要です。vfstab_adjunct ファイルの構成によっては、 proc_setsl と proc_setclr 特権の組み合わせが必要となる場合もあります。

mount_tmpfs

Trusted Solaris 版の mount_tmpfs(1M) コマンドを使用するには、sys_mount 特権が必要です。また、マウント先とマウントされるデバイスには、必須および任意の読み取りアクセス権 (または無効化特権) が必要です。vfstab_adjunct ファイルの構成によっては、 proc_setsl と proc_setclr 特権の組み合わせが必要となる場合もあります。

mount_nfs

Trusted Solaris 版の mount_nfs(1M) コマンドでは、-S を付けて、次のオプションを指定できます。

share_nfs

Trusted Solaris 版の share_nfs(1M) コマンドでは、-S を付けて、次のオプションを指定できます。

share と unshare

share(1M) コマンドは、指定した種類のファイルシステムのリソースをマウント可能にします。unshare(1M) コマンドは、リソースのマウントを不能にします。Trusted Solaris 版では、どちらのコマンドにも sys_nfs 特権が必要です。

nfsstat

nfsstat(1M) コマンドを使用すると、カーネルに対する NFS インタフェースと RPC (遠隔手続き呼び出し) インタフェースに関する統計を表示できます。Trusted Solaris 版 nfsstat コマンドを -z オプション (統計を再度初期化する) と併せて使用する場合は、net_config 特権が必要です。

nfsd

nfsd(1M) (MFS デーモン) コマンドは、クライアントファイルシステムからの要求を処理します。Trusted Solaris 版 nfsd コマンドを実行するには、sys_nfs 特権と net_mac_read 特権が必要です。

プロセスコマンド

この項では、プロセスの操作に使用するコマンドについて説明します。

ipcrm

ipcrm(1) コマンドを使用すると、メッセージ待ち行列、セマフォセット、共用メモリ ID のうちいずれかを削除できます。

ipcs

ipcs(1) コマンドは、アクティブなプロセス間通信機能に関する情報を出力します。オプションを使用しない場合は、メッセージ待ち行列、共用メモリ、現在システムでアクティブになっているセマフォが短形式で出力されます。

% ipcs
IPC status from <running system> as of Thu Dec 26 12:55:26 1996
Message Queue facility not in system.
Shared Memory:
Semaphores:
s      0 0x000187cf --ra-ra-ra-     root     root
s      1 0x000187ce --ra-ra-ra-     root     root

pattr

pattr(1) コマンドを使用すると、現在のプロセス、または PID で指定したプロセスの表示可能なプロセス属性フラグを表示できます。通常は表示できないフラグも、特権を使用すれば表示できるようになります。プロセス属性フラグには、次のセキュリティフラグが含まれます。

pclear

pclear(1) コマンドを使用すると、選択したプロセスが実行されているときの認可上限を表示できます。

# pclear -p 10546
10546:  ADMIN_HIGH

plabel

plabel(1) コマンドを使用すると、プロセスの CMW ラベル (機密ラベルと情報ラベルを結合したラベル) を表示できます。

# plabel -p 10546
10546:  ADMIN_LOW [ADMIN_LOW]

ppriv

ppriv(1) コマンドを使用すると、プロセスの有効な特権を表示できます。

# ppriv -p 10546
10546: file_chown, file_net_search, net_broadcast, net_mac_read,
net_reply_equal, sys_net_config, sys_trans_label

pprivtest

pprivtest(1) コマンドでは、指定した特権が現在有効かどうかを確認できます。

runpd

runpd(1M) コマンドは、特権に関連した問題点のデバッグに役立ちます。このコマンドを使用すると、実行中のプロセスに必要な特権を表示できます。コマンドの実行はトラステッドパスから行います。実行すると、priv_debug プロセス属性が設定され、指定したプログラムが実行されます。runpd の実行により、特権チェックログが生成され、priv_debug プロセス属性を継承します (priv_debug プロセス属性を設定できるのは、runpd などのトラステッドパスプログラムだけです)。

runpd は、コマンドごとに終了コードを返します。runpd コマンドを使用すれば、コマンドに欠落している特権のリストも表示できます。

ラベルユーティリティ

Trusted Solaris のユーザーと役割が使用できる認可上限、機密ラベル、情報ラベルのセットはすべて、label_encodings ファイルに定義されます (「ラベル」を参照)。ラベルは、内部処理では 16 進式で格納されていますが、ユーザー画面には、特に指定しない限り ASCII 形式で表示されます。

Trusted Solaris でラベルの管理に使用するコマンドは次の 3 つです。

chk_encodings

chk_encodings(1M) コマンドは、指定した label_encodings ファイルの構文と、そのセマンティクスを確認します。検出されたエラーは標準出力ファイルに書き込まれます。

atohexlabel

atohexlabel(1M) コマンドは、ASCII 形式ラベル (機密ラベル、情報ラベル、認可上限など) を標準の 16 進式ラベルに変換し、その結果を標準出力ファイルに書き込みます。ASCII 形式のラベルが指定されなかった場合は標準入力から読み取ります。

hextoalabel

hextoalabel(1M) コマンドは、16 進形式のラベル (機密ラベル、情報ラベル、認可上限など) を、標準の ASCII 形式ラベルに変換し、その結果を標準出力ファイルに書き込みます。16 進ラベルが指定されなかった場合は標準入力から読み取ります。

デバイスとドライバ

デバイスは、コンピュータからのデータのインポートやエクスポートの手段として使用されるため、セキュリティ保護されていなくてはなりません。Trusted Solaris 環境では、デバイスは実行プロファイルに割り当てた承認と、必須アクセス制御によって制御されます。割り当て可能なデバイスには、テープドライブ、フロッピーディスクドライブ、マイクロフォンなどがあります。

デバイス割り当て機能は、Solaris の SunSHIELD 基本セキュリティモジュール (Basic Security Module、BSM) によって提供されています。これについては、『SunSHIELD 基本セキュリティモジュール』の第 4 章「デバイスの割り当て」を参照してください。ラベル範囲には、Trusted Solaris 独自のものが使用されます。

データのインポートやエクスポートを制御する手段は、デバイス割り当ての結果、確定します。Trusted Solaris 環境では、まず管理者がデータのインポートとエクスポートに使用するデバイスを決め、/etc/security/device_maps/etc/security/device_allocate の 2 つのファイルに定義します。

ユーザーがデバイスを割り当てるときは、デバイス割り当てマネージャを使用します。デバイス割り当てマネージャでデバイスをマウントし、デバイス clean スクリプトを実行してデバイスを使用可能にし (「デバイス clean スクリプト」を参照)、割り当てを行います。デバイスを使用した後も、デバイス割り当てマネージャから割り当てを解除します。この場合は、別のデバイス clean スクリプトを実行し、使用したデバイスのマウントと割り当てを解除します。

デバイス割り当てマネージャを使用してデバイスを管理する

デバイス割り当てマネージャは、フロントパネルのスタイルマネージャの上にある「トラステッド・デスクトップ (Trusted Desktop)」サブパネルから起動します。デバイス割り当てマネージャは、デバイス割り当て承認を持つユーザーが、デバイスの割り当てと割り当て解除のためだけに使用できます。デバイス割り当てマネージャの「デバイスの管理 (Device Administration)」ボタンを使用して、デバイスが現在別のユーザーに割り当てられているかどうかを確認したり、デバイスの管理を行うことは、一般ユーザーには許可されていません。このボタンは、承認されたユーザーと管理者だけが使用できます。次の図は、デバイス割り当てマネージャの管理ツールの一覧です。

図 7-8 デバイス割り当てマネージャの管理ダイアログボックス

Graphic

デバイス割り当てマネージャの「管理」ダイアログボックス

デバイス割り当てマネージャのメインウィンドウで「デバイスの管理 (Device Administration)」ボタンをクリックすると、「管理 (Administration)」ダイアログボックスが表示されます。このダイアログボックスでは、デバイスを選択した後、そのデバイスの状態を確認できます。「再利用 (Reclaim)」ボタンをクリックすると、現在エラー状態のデバイスが使用できる状態になります。「解除 (Revoke)」ボタンをクリックすると、選択したデバイスがビジー (割り当て済み) 状態から使用可能な (割り当て解除) 状態になります。これらのボタンを使用するには、「デバイスの解除または再設定」の承認が必要です。

デバイス割り当てマネージャの「構成」ダイアログボックス

「構成 (Configuration)」ダイアログボックスを使用するには、「デバイスの属性を構成」の承認が必要です。「管理 (Administration)」ダイアログボックスの「構成 (Configuration)」ボタンをクリックすると、「構成 (Configuration)」ダイアログボックスが表示されます。このダイアログボックスでは、デバイスラベル範囲内での最下位および最上位機密ラベルの設定、新しいデバイス clean プログラム (デバイスをクリーンアップするプログラム) の指定、デバイスを使用できるユーザーの指定などができます。

デバイス割り当てマネージャの「承認」ダイアログボックス

「構成 (Configuration)」ダイアログボックスの「承認 (Authorizations)」ボタンをクリックすると、「承認 (Authorizations)」ダイアログボックスが表示されます。ここでは、デバイスを使用するために必要な承認を指定できます。

デバイス割り当てのセキュリティポリシー

デバイスの割り当てに関するセキュリティポリシーは変更可能です。ポリシーの変更は、device_policy(4) ファイルを編集して行います。これについては、『Trusted Solaris 管理の手順』の第 15 章「デバイスの管理」を参照してください。

割り当てコマンド

デバイス割り当てマネージャを使用できない場合は、次に説明するコマンドを使用して、割り当て可能なデバイスを管理することができます。これらのコマンドはユーザー用ではありません。

allocate

allocate(1M) コマンドの割り当て機構を利用して、デバイスの所有権を管理することができます。認定されたユーザー 1 人がデバイスを使用している間、他のユーザーが、そのデバイスを使用することはできなくなります。

deallocate

deallocate(1M) コマンドは、このコマンドを実行したユーザーに割り当てられているデバイスの割り当てを解除します。解除されるのは、device_deallocate(4) ファイルに定義されたデバイス、あるいは、そのデバイスに対応するデバイス特殊ファイルに定義されたデバイスです。deallocate コマンドは、デバイスに対応付けられた全デバイス特殊ファイルの所有権とアクセス権を取り消し、そのデバイスに対するユーザーのアクセス権も無効にします。スーパーユーザーが、別のユーザーのデバイスに対するアクセス権を解除する場合などに使用されます。

割り当て解除 (強制的な解除も含む) を行うと、device_deallocate(4) の内容に応じて、適切なデバイスのクリーンアッププログラムが実行されます。クリーンアッププログラムは通常、/etc/security/lib ディレクトリに格納されています。

list_devices

list_devices(1M) コマンドは、指定された識別情報に従って、システム内の割り当て可能なデバイスを一覧表示します。

リストには、デバイスと、そのデバイスに対応するすべてのデバイス特殊ファイルが表示されます。オプションのデバイス引数を使用しない場合は、関連するデバイスがすべて表示されます。

dminfo

dminfo(1M) コマンドは、デバイスマップファイルのデバイスエントリに関する情報を表示します。

add_drv

add_drv(1M) コマンドは、新しくインストールしたデバイスの情報をシステムに通知する場合に使用します。add_drv コマンドを使用するには、sys_devices 特権が必要です。

rem_drv

rem_drv(1M) コマンドは、削除されたデバイスの情報をシステムに通知する場合に使用します。rem_drv コマンドを使用するには、sys_devices 特権が必要です。

デバイス clean スクリプト

デバイス clean スクリプトは、次の 2 つのセキュリティ条件に対応した特別なスクリプトです。

デバイス割り当てデータベース

デバイス割り当ての構成には、次のファイルを使用します。

device_allocate

device_allocate(4) ファイルは、割り当て可能な物理デバイスごとに、承認情報と必須アクセス制御情報を保持します。各エントリには、次の情報が定義されます。

device_deallocate

デバイス割り当て解除機構では、システムブート、ユーザーのログアウト、タイムアウト後の強制ログアウトなどのイベントが発生したときに、デバイスの割り当てを強制的に解除するか、そのままにしておくか、またはユーザーに判断させるかが判断されます。device_deallocate(4) ファイルは、このようなイベントが発生した際、ユーザーがまだ割り当て解除していないデバイスに、デバイス割り当て解除オプションを指定します。

各デバイスの割り当て解除オプションのエントリには次の項目が定義されます。

device_maps

device_maps(4) ファイルは、物理デバイス名とデバイス特殊ファイルを対応付けします。各デバイスのエントリには次の項目が定義されます。

デバイスラベル範囲

割り当て可能なデバイスには、それぞれに機密ラベル範囲が設定されます。デバイスがユーザーに割り当てられている間は、データのインポートやそのユーザーのプロセス機密ラベルが使用されます。

ラベル範囲を持つデバイスには、テープドライブ、フロッピーディスクドライブ、CD-ROM ドライブ、プリンタなどがあります。

デバイスドライバセキュリティ

ndd(1M) コマンドは、選択した構成パラメータを特定のカーネルドライバで管理するためのコマンドです。このコマンドでドライバパラメータを設定するには、SYS_NET_CONFIG 特権の継承が必要です。

kstat(3K) コマンドを使用すると、ドライバが受け取った割り込み回数やNFS 操作の実行回数など、カーネルドライバの統計を表示できます。このタイプの情報には雑音が多く、変調が困難で、記録された操作の実行時の速度に依存するため、使用可能な隠しチャネルを使用します。この状況が受け入れられない場合は、インストール時に /dev/kstat の機密ラベルを ADMIN_LOW から ADMIN_HIGH に変更する必要があります。さらに、/dev/kstat の読み取りや書き込みを行うプログラムを ADMIN_HIGH で実行するか、file_mac_read または file_mac_write 特権を取得して実行する必要があります。

/dev/kstat の機密ラベルを変更するには、/etc/security/tsol/minor_perm.adjunct ファイルを編集して、kstat を ADMIN_HIGH に設定するコマンド行のコメントを外します。この行は、"#kstat:kstat0x7777777..." で始まっています。

/dev/kstat にアクセスし、ADMIN_HIGH または特権を使用して実行しなくてはならないコマンドには次のものがあります。netstatin.rwhodcachefslogcachefsstatnfsstatfuseriostatmpstatprtdiagpsrinforpc.rstatsadsendmailvmstatwlux

その他のユーティリティ

adminvi

adminvi(1M) コマンドは vi コマンドの一種で、テキスト編集環境に制約を加えることができます。シェルコマンドの実行や、コマンド行に指定されていないファイルへの書き込みを禁止する以外は、vi と全く同じです。

rdate

rdate(1M) コマンドは、リモートホストからシステム日付を設定するためのコマンドです。正しく実行するには、sys_config 特権の継承が必要です。

sendmail

sendmail(1M) コマンドは、メッセージの送信に使用されます。Trusted Solaris 版では、セキュリティ条件に対応できるよう変更されています。

次の守秘オプションが追加されています。

sysh

システムシェルの sysh(1M) は、Bourne シェル sh(1) の一種で、rc スクリプトから実行されるコマンドの特権の制御に使用されます。sysh では、どのコマンドでも実行できますが、コマンドの実行時に使用される特権、UID、GID、機密ラベルは、プロファイルから取得されます。

システムシェルは、トラステッドパス属性を持つプロセスからしか実行できません。

使用法の詳細については、sh(1) のマニュアルページを参照してください。sysh シェルから setprof コマンドと clist コマンドを実行する方法は次のとおりです。

tar

Trusted Solaris 環境で tar(1) を使用すると、拡張セキュリティ属性と MLD や SLD の情報が含まれる tarfile を作成、処理、抽出するための関数修飾子 T が提供されます。tarfile の作成または更新中に MLD が検出されると、MLD は tar プロセスの機密ラベルと特権に従って並べられます。

Trusted Solaris 1.2 システムで作成された tarfile の処理や抽出時には、別の関数修飾子が提供されます。関数修飾子 d は、関数文字 tx だけに組み合わせることができます。

tar を使用する際、MAC の制約が適用されます。作成、更新、抽出操作時に実施されるアクセス検査を無効にするには、適切な特権が必要となります。

tarfile の作成または更新には、次の特権が 1 つ以上必要になります。 file_mac_read、file_mac_write、file_mac_search、file_dac_read、file_dac_write、file_dac_search、sys_trans_label。

復元するためには特権が必要な拡張セキュリティ属性は、適切な特権があれば復元されます。したがって、tarfile から確実にファイルを抽出し、拡張セキュリティ属性を復元するには、次の特権が 1 つ以上必要になります。 file_mac_read、file_mac_write、file_dac_read、file_dac_write、file_setdac、file_setid、file_chown、file_owner、file_downgrade_sl、file_downgrade_il、file_upgrade_sl、file_upgrade_il、file_setpriv、file_audit、sys_devices、sys_trans_label。