更新をダウンロードして war ファイルを展開するベンダー アプリケーションがあります。Oracle アプリケーション サーバー 9i を実行している UNIX アプリケーション サーバーに war ファイルを展開しています。war ファイルをデプロイするときは、以前のインストールを削除してから、新しい war ファイルをデプロイすると思います。war ファイルを展開するときに、クラスやその他のファイルの unix ファイルのアクセス許可を手動で設定する必要がある場合があります。これは、すべての UNIX ユーザー ID が必要なプロセスを実行できるようにするためです。これを行うより良い方法はありますか?
3 に答える
OASについてはよくわかりませんが、warファイルから解凍されたファイルは、OASを実行しているユーザーが所有し、アクセスしていると思います。それは正しくありませんか?実際に何が起こっているのか、なぜこれが問題なのかについてもう少し説明していただけますか?
以下の追加コメントに続いて...
セキュリティモデルが完全に正しくないようです。OASとそのデータをdbaグループに関連付けますが、OAS(およびそのデータ)の一部の依存関係はそのグループに含まれていません。私はいくつかの提案があります:
- OASとその依存関係の新しいグループを作成し、dbaグループのどのユーザーもそのグループに含まれる必要があるかを評価します。必要に応じて、OASユーザーもdbaグループに保持します。
- デプロイが完了するのを待ち、権限を変更するスクリプトを使用して、warファイルをデプロイします。
- 依存関係を修正します。これは、warファイル内の一部のクラスを、アプリケーションコンテキストの外部の別の場所にデプロイし、そこで参照する必要があるように思えます。次に、バッチプロセスユーザーとOASユーザーを追加する新しいより適切なグループを作成できます。
いくつかのヒント: war/jar 内でファイルのパーミッションを設定する方法はありません。
権限は、oracleas ユーザーの umask によって異なります。それを変更すると、すべて設定されます。
戦争をパッケージ化しておく方法はありますか?
Steven の回答に対するあなたのコメントに基づいて、war ファイルをデプロイするユーザーに対して を設定umask
するのはどうですか? 000
(これは oracleas になります。umask 変数は、多くの場合、そのユーザーの .profile に設定されます。) umask (現在はおそらく 027 に設定されています) は、ファイルのアクセス許可をマスクします。000 は何もマスクアウトしないため、他のユーザーのアクセス許可になります。