Solaris 9 12/03 ご使用にあたって

アプリケーションサーバーがすべてのインスタンスを root として開始するため、root 以外のユーザーにも root アクセス権が許可される (バグ ID: 4780076)

Sun ONE Application Server を Solaris インストールの一部としてインストールした場合、アプリケーションサーバーの起動時に次の問題が考えられます。

Sun ONE Application Server のインストール時に /etc/init.d/appserv スクリプトおよび /etc/rc*.d/ ディレクトリ内の S84appserv および K05appserv スクリプトへのシンボリックリンクがインストールされます。これらのスクリプトにより、アプリケーションサーバーインストールの一部として定義されたアプリケーションサーバーインスタンスおよび管理サーバーインスタンスすべてが、Solaris システムの起動および停止時に自動的に開始および停止されます。

/etc/init.d/appserv スクリプトには、次のコードが含まれます。

case "$1" in
'start')
    /usr/sbin/asadmin start-appserv
    ;;
'stop')
    /usr/sbin/asadmin stop-appserv
    ;;

asadmin start-appserv コマンドを実行すると、すべての管理ドメインで定義された管理サーバーインスタンスおよびアプリケーションサーバーインスタンスが、Solaris システムの起動時に開始されます。システムの起動スクリプトおよび停止スクリプトは root で実行されるため、各アプリケーションサーバーインスタンスおよび管理サーバーインスタンスの起動スクリプトも root で実行されます。インスタンスレベルの起動スクリプトの名前は startserv で、instance-dir/bin/startserv に存在します。root 以外のユーザーがインスタンスを所有可能であるため、コマンドを root ユーザーで実行するように、root 以外のユーザーが startserv スクリプトを変更できます。

インスタンスで特権設定されたネットワークポートが使用される場合、インスタンスの startserv スクリプトを root で実行する必要があります。ただし、一般的には、インスタンスの構成内で run as user (実行するユーザー) を設定します。これは、root ユーザーによるインスタンスの初回起動後に、指定されたユーザーでインスタンスが実行されるようにするためです。

回避方法: 環境に応じて、次のいずれかを実行します。

起動時の考慮事項: 指定したアプリケーションサーバー管理ドメインまたはアプリケーションサーバーインスタンスが自動的に開始されるように、Solaris ソフトウェアの起動スクリプトを変更する場合、以下を考慮してください。

asadmin コマンド行インタフェースで使用可能な startup コマンドおよび shutdown コマンドの詳細は、『Sun ONE Application Server 7 管理者ガイド』を参照してください。