Solaris のシステム管理 (セキュリティサービス)

ProcedureRBAC プロパティーをレガシーアプリケーションに追加する方法

レガシーアプリケーションは、コマンドまたはコマンドのセットです。セキュリティー属性は、権利プロファイルのコマンドごとに設定します。その後、権利プロファイルを役割に含めます。役割を引き受けるユーザーは、セキュリティー属性を指定したレガシーアプリケーションを実行することができます。

Solaris 管理コンソールにレガシーアプリケーションを追加する方法については、『Solaris のシステム管理 (基本編)』「Solaris 管理コンソールにツールを追加する」を参照してください。

始める前に

権利プロファイルのコマンドのセキュリティー属性を変更するには、Primary Administrator の役割を引き受けているか、スーパーユーザーに切り替えている必要があります。

  1. Solaris 管理コンソールの「ユーザー」ツールを使用します。

    コンソールの起動については、「Solaris 管理コンソールで役割を引き受ける方法」を参照してください。左側の区画の指示に従って、「権利」の権利プロファイルを変更します。詳細は、オンラインヘルプを参照してください。

  2. レガシーアプリケーションを実装するコマンドにセキュリティー属性を追加します。

    レガシーアプリケーションにセキュリティー属性を追加するときは、コマンドに追加する場合と同じ方法で追加します。セキュリティー属性を指定したコマンドを権利プロファイルに追加する必要があります。レガシーコマンドに対して、euid=0 または uid=0 のセキュリティー属性を指定します。手順の詳細については、「権利プロファイルを作成または変更する方法」を参照してください。

  3. レガシーアプリケーションを権利プロファイルに追加したあと、権利プロファイルを役割のプロファイルリストに含めます。

    権利プロファイルを役割に追加する方法については、「役割のプロパティーを変更する方法」を参照してください。


例 9–23 スクリプトのコマンドへのセキュリティー属性の追加

スクリプトのコマンドが setuid ビットまたは setgid ビットセットを持つ必要がある場合、実行可能なスクリプトおよびコマンドに対して、権利プロファイルでセキュリティー属性を追加する必要があります。その後、権利プロファイルを役割に含め、含めた役割をユーザーに割り当てます。ユーザーが、役割を引き受け、スクリプトを実行すると、コマンドはそのセキュリティー属性で実行されます。

セキュリティー属性をコマンドまたはシェルスクリプトに追加する方法については、「権利プロファイルを作成または変更する方法」を参照してください。



例 9–24 スクリプトまたはプログラム内の承認の確認

承認用のスクリプトを用意するには、auths コマンドに基づいたテストを追加する必要があります。このコマンドの詳細については、auths(1) のマニュアルページを参照してください。

たとえば、次の行では、$1 引数に指定した承認がユーザーに与えられているかどうかをテストします。


if [ `/usr/bin/auths|/usr/xpg4/bin/grep $1` ]; then
        echo Auth granted
else
        echo Auth denied
fi

万全を期すために、テストにはワイルドカードを使用する別の承認を確認する論理を含めるようにしてください。たとえば、solaris.admin.usermgr.write 承認がユーザーに与えられているかどうかをテストするには、次の文字列を確認します。

プログラムを作成している場合は、getauthattr() 関数を使用して、承認をテストします。