Tomcat – java.security.AccessControlException:アクセスが拒否されました(logging.properties read)
問題
Tomcatバージョン5.5.25にアップグレードした後、セキュリティポリシーで多くのエラーが発生し始めました。
Caused by: java.security.AccessControlException: access denied (java.io.FilePermission /usr/share/tomcat5.5- webapps/jsp-examples/WEB-INF/classes/logging.properties read)
溶液
上記のエラーはTomcatのポリシーファイルが原因で発生します。Tomcat5.5.25はポリシーファイルを大幅に変更しました。 修正するには、ポリシーファイル(03catalina.policy)にいくつかの変更を加える必要があります…
vi 03catalina.policy
を発行します。ファイルは通常、policy.dフォルダーにあります。
example@example-desktop:/etc/tomcat5.5/policy.d$ vi 03catalina.policy
次のパターンを見つけます:
ファイル:03catalina.policy
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { permission java.util.PropertyPermission "java.util.logging.config.class", "read"; permission java.util.PropertyPermission "java.util.logging.config.file", "read"; //...omitted for readability };
これに変更され、すべての許可を与えます。
ファイル:03catalina.policy
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { permission java.security.AllPermission; };
完了、Tomcatを再起動します。
あるいは…
Webアプリのパスへのアクセス許可を明示的に有効にできます。
permission java.io.FilePermission "${catalina.base}${file.separator} webapps${file.separator}YOUR_PATH_HERE${file.separator}WEB-INF ${file.separator}classes${file.separator}logging.properties", "read";
完全なコマンドは
ファイル:03catalina.policy
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { permission java.util.PropertyPermission "java.util.logging.config.class", "read"; permission java.util.PropertyPermission "java.util.logging.config.file", "read"; //...omitted for readability permission java.io.FilePermission "${catalina.base}${file.separator}webapps$ {file.separator}YOUR_PATH_HERE${file.separator}WEB-INF${file.separator} classes${file.separator}logging.properties", "read"; };