J2SEのプロパティファイル形式です。
SecurityManagerを設定します。SecurityManager設定ファイルによって,Java 2から導入されたセキュリティポリシーに基づくWebコンテナの実行時保護をします。例えば,次に示す現象を防止します。
なお,cjstartwebコマンドに,-securityオプションを付けることで,Webコンテナ実行時保護機能が有効になります。また,このファイルに不正な値を設定した場合,動作は保証されません。
Webコンテナサーバの稼働中に,このファイルの内容を変更した場合,変更した内容は,次回Webコンテナサーバを起動したときに反映されます。
使用されるポリシーファイルの内容を次に示します。
// (1)
// Grant all permissions to the java extensions
grant codeBase "file:${java.home}/lib/ext/-" {
permission java.security.AllPermission;
};
// (2)
// Grant all permissions to the java tools, etc
// Note: java.home is the jre, not the installation dir for the jdk
grant codeBase "file:${java.home}/../lib/*" {
permission java.security.AllPermission;
};
// (3)
// Grant all permissions to anything loaded from the
// EJB server itself
grant codeBase "file:${ejbserver.install.root}/lib/*" {
permission java.security.AllPermission;
};
grant codeBase "file:${tpbroker.java.home}/lib/*" {
permission java.security.AllPermission;
};
grant codeBase "file:${cosminexus.home}/DABJ/*" {
permission java.security.AllPermission;
};
grant codeBase "file:${cosminexus.home}/manager/lib/*" {
permission java.security.AllPermission;
};
grant codeBase "file:${cosminexus.home}/c4web/lib/*" {
permission java.security.AllPermission;
};
grant codeBase "file:${cosminexus.home}/c4web/exlib/*" {
permission java.security.AllPermission;
};
grant codeBase "file:${cosminexus.home}/jaxp/lib/*" {
permission java.security.AllPermission;
};
grant codeBase "file:${cosminexus.home}/CTM/lib/*" {
permission java.security.AllPermission;
};
grant codeBase "file:${cosminexus.home}/PRF/lib/*" {
permission java.security.AllPermission;
};
grant codeBase "file:${cosminexus.home}/wss/lib/*" {
permission java.security.AllPermission;
};
grant codeBase "file:${cosminexus.home}/XMLSEC/lib/*" {
permission java.security.AllPermission;
};
grant codeBase "file:${hntrlib.home}/classes/*" {
grant codeBase "file:${program.files.home}/Hitachi/HNTRLib2/classes/*" {
permission java.security.AllPermission;
};
// (4)
// webapp policy
grant codeBase "file:${webserver.install.root}/containers/${webserver.serverName}
/webapps/-" {
permission java.lang.RuntimePermission "loadLibrary.*";
permission java.lang.RuntimePermission "queuePrintJob";
permission java.net.SocketPermission "*", "connect";
permission java.io.FilePermission "<<ALL FILES>>", "read, write";
permission java.util.PropertyPermission "*", "read";
};
// (5)
// Grant minimal permissions to everything else:
grant {
permission java.util.PropertyPermission "*", "read";
permission java.lang.RuntimePermission "queuePrintJob";
permission java.net.SocketPermission "*", "connect";
};
記述例の(1)~(5)について説明します。
サーバをセットアップするときに生成されたweb.policyファイルには,Webコンテナサーバを動作させるために最低限必要な権限が記述されています。生成されたweb.policyファイルの記述行の削除および変更はしないでください。