Tomcat - java.security.AccessControlException: Zugriff verweigert (logging.properties read)

Tomcat - java.security.AccessControlException: Zugriff verweigert (logging.properties read)

Problem

Nach dem Upgrade auf Tomcat Version 5.5.25 treten viele Fehler in der Sicherheitsrichtlinie auf:

Caused by: java.security.AccessControlException: access denied
      (java.io.FilePermission /usr/share/tomcat5.5-
            webapps/jsp-examples/WEB-INF/classes/logging.properties read)

Lösung

Der oben genannte Fehler wird durch die Richtliniendatei von Tomcat verursacht. Tomcat 5.5.25 hat viele Änderungen an der Richtliniendatei vorgenommen. Um dies zu beheben, müssen Sie einige Änderungen in der Richtliniendatei (03catalina.policy) vornehmen.

Beivi 03catalina.policy befindet sich die Datei normalerweise im Ordner policy.d

example@example-desktop:/etc/tomcat5.5/policy.d$ vi 03catalina.policy

folgendes Muster finden:

Datei: 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
};

GEÄNDERT, erteilen Sie alle Erlaubnis.

Datei: 03catalina.policy

grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
        permission java.security.AllPermission;
};

Fertig, starten Sie Tomcat neu.

Alternative…

Sie können die Berechtigung für Ihren Web-App-Pfad explizit aktivieren.

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";

voller Befehl ist

Datei: 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";
};