Trusted Solaris 開発ガイド

特権デバッグ

特権デバッグモードについては、『Trusted Solaris 管理の手順』で説明しています。ここでは、特権デバッグを有効にする手順と、特権デバッグモードで runpd(1M) を使用してアプリケーションをテストする手順の概要を述べます。

  1. 特権デバッグモードは、必要な特権を持たないアプリケーションの実行を成功させ、どの特権が欠如しているかを示します。

  2. /etc/system ファイルで、tsol_privs_debug 変数を 1 に設定します。このファイルは ADMIN_LOW で、所有者はスーパーユーザー (root) です。

  3. /etc/syslog.conf ファイルで、kern.debug 行すなわち local0.debug 行のコメントを解除します。このファイルは ADMIN_LOW で、所有者は sys です。

  4. /var/log/privdebug.log ファイルが存在していなければ作成します。このファイルは ADMIN_HIGH で、所有者はスーパーユーザー (root) です。

  5. システムをリブートします。

  6. プロファイル内の runpd(1M) を使用して、管理役割を取得します。

  7. runpd(1M) コマンドを使用して、実行可能ファイルを起動し、欠如している特権がないか確認します。次のコマンド行は、Zelda の Confidential ホームディレクトリ内の実行可能ファイルを起動します。欠如している特権に関する情報が、コマンド行に表示されるとともに /var/log/privdebug.log ファイルに記録されます。


    phoenix# runpd /export/home/.MLD.Zelda/.SLD.2/executable
    
    runpd terminated with a status of 1
    
    process runpd pid 822 lacking privilege file_mac_search to 
    perform special method upon resource VNODE (Jan 29 12:45)
    
    process runpd pid 822 lacking privilege file_mac_read to 
    perform read method upon resource VNODE (Jan 29 12:45)
  8. /var/log/privdebug.log ファイル内の特権番号を解釈します。特権番号は、語句の特権の後に現れます。プロセス 822 には、file_mac_searchfile_mac_read に対応する特権番号 11 と 10 が欠如しています。


Jan 29 12:45:39 phoenix unix DEBUG: runpd pid 822 lacking 
privilege 11 to 5 79

Jan 29 12:45:39 phoenix unix DEBUG: runpd pid 822 lacking 
privilege 10 to 2 79