この節では、レガシーアプリケーションのセキュリティを強化する方法について説明します。レガシーアプリケーションを Solaris 管理コンソールに追加するときは、『Solaris のシステム管理 (基本編)』 の「Solaris Management Console にツールを追加する」を参照してください。
レガシーアプリケーションにセキュリティ属性を追加するときは、コマンドに追加する場合と同じ方法で追加します。「権利プロパティ (Rights property)」ダイアログボックスの「コマンド (Commands)」タブにある「拒否されたコマンド (Commands Denied)」列に、コマンドまたはそのディレクトリを追加する必要があります。次に、そのコマンドを「許可されたコマンド (Commands Permitted)」列に移動します。
スクリプト内のコマンドに setUID ビットを設定して実行する場合は、セキュリティ属性を同じ権利プロファイル内のそのコマンドに追加します。権利ツールを使用して権利プロファイルを作成または変更する方法を参照してください。
承認を必要とするスクリプトを作成するには、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 承認がユーザーに与えられているかどうかをテストするには、solaris.admin.usermgr.write、solaris.admin.usermgr.* 、solaris.admin.*、および solaris.* という文字列を確認する必要があります。
プログラムを作成している場合は、getauthattr() 関数を使用して、承認をテストします。