この項では、プロセスの操作に使用するコマンドについて説明します。
ipcrm
ipcs
pattr
pclear
plabel
ppriv
pprivtest
runpd
ipcrm(1) コマンドを使用すると、メッセージ待ち行列、セマフォセット、共用メモリ ID のうちいずれかを削除できます。
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(1) コマンドを使用すると、現在のプロセス、または PID で指定したプロセスの表示可能なプロセス属性フラグを表示できます。通常は表示できないフラグも、特権を使用すれば表示できるようになります。プロセス属性フラグには、次のセキュリティフラグが含まれます。
トラステッドパスフラグ
特権デバッグ用フラグ
フラグ
ラベル表示フラグ (外部表示または内部表示)
ラベル変換フラグ
% pattr Trusted Path (1 bit): Enabled/Disabled Privilege Debugging (1 bit): Enabled/Disabled Label Translation (15 bits): Specific flag (Enabled/Disabled) Label View (2 bits): Internal/External NET_TCB (1 bit): Enabled/Disabled
pclear(1) コマンドを使用すると、選択したプロセスが実行されているときの認可上限を表示できます。
# pclear -p 10546 10546: ADMIN_HIGH
plabel(1) コマンドを使用すると、プロセスの CMW ラベル (機密ラベルと情報ラベルを結合したラベル) を表示できます。
# plabel -p 10546 10546: ADMIN_LOW [ADMIN_LOW]
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(1) コマンドでは、指定した特権が現在有効かどうかを確認できます。
runpd(1M) コマンドは、特権に関連した問題点のデバッグに役立ちます。このコマンドを使用すると、実行中のプロセスに必要な特権を表示できます。コマンドの実行はトラステッドパスから行います。実行すると、priv_debug プロセス属性が設定され、指定したプログラムが実行されます。runpd の実行により、特権チェックログが生成され、priv_debug プロセス属性を継承します (priv_debug プロセス属性を設定できるのは、runpd などのトラステッドパスプログラムだけです)。
runpd は、コマンドごとに終了コードを返します。runpd コマンドを使用すれば、コマンドに欠落している特権のリストも表示できます。
-p - トラステッドパスのプロセス属性を持つコマンドを実行する
システム上で runpd を使用して特権のデバッグを有効にするには、 /etc/system の tsol:tsol_privs_debug カーネル変数を 1 に設定し、/etc/syslog.conf ファイルから kern.debug とlocal0.debug エントリのコメントを解除する必要があります。
runpd コマンドの動作は正式に確定できていないため、Trusted Solaris のマイナーリリースで変更される可能性があります。