2008年8月27日水曜日

Tomcat5.5 のセキュリティ設定

Tomcatをアップグレードして起動した際に下記のようなエラーがでます。
SEVERE: Error unregistering mbean
java.security.AccessControlException: access denied (java.io.FilePermission /var/lib/tomcat5.5/webapps/HttpSpeed/WEB-INF/classes/logging.properties read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkRead(SecurityManager.java:871)
at java.io.File.exists(File.java:731)
at org.apache.naming.resources.FileDirContext.file(FileDirContext.java:828)
at org.apache.naming.resources.FileDirContext.lookup(FileDirContext.java:211)
at org.apache.naming.resources.ProxyDirContext.lookup(ProxyDirContext.java:294)
at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:1924)
at org.apache.catalina.loader.WebappClassLoader.findResource(WebappClassLoader.java:936)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:299)
at org.apache.juli.ClassLoaderLogManager$2.run(ClassLoaderLogManager.java:273)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.juli.ClassLoaderLogManager.getClassLoaderInfo(ClassLoaderLogManager.java:270)
at org.apache.juli.ClassLoaderLogManager.getLogger(ClassLoaderLogManager.java:175)
at java.util.logging.Logger.getLogger(Logger.java:275)
at com.sun.jmx.trace.TraceManager.getLogger(TraceManager.java:166)
at com.sun.jmx.trace.TraceManager.isSelected(TraceManager.java:197)
at com.sun.jmx.trace.Trace.isSelected(Trace.java:84)
at com.sun.jmx.mbeanserver.Repository.isTraceOn(Repository.java:68)
at com.sun.jmx.mbeanserver.Repository.contains(Repository.java:471)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.isRegistered(DefaultMBeanServerInterceptor.java:593)
at com.sun.jmx.mbeanserver.JmxMBeanServer.isRegistered(JmxMBeanServer.java:598)
at org.apache.commons.modeler.Registry.unregisterComponent(Registry.java:612)
at org.apache.catalina.core.StandardWrapper.stop(StandardWrapper.java:1706)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:893)
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1180)
at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1151)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:313)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1055)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1067)
at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448)
at org.apache.catalina.core.StandardService.stop(StandardService.java:510)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.stop(Bootstrap.java:307)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.commons.daemon.support.DaemonLoader.stop(DaemonLoader.java:200)




もし内部の試験サーバであれば下記でセキュリティ設定を解除でOK。
/etc/init.d/tomcat5.5
--
TOMCAT5_SECURITY=no


もしきっちり設定したいならJavaのPolicyファイルへ下記追加
#sudo vim /etc/tomcat5.5/policy.d/99examples.policy
grant {
permission javax.management.MBeanTrustPermission "register";
};

grant codeBase "file:${catalina.home}/webapps/gprs/-" {
permission java.security.AllPermission;
}

2 件のコメント:

Unknown さんのコメント...

本当に助かりました。
2日なやんでやっと解決です。
有難う御座います。

Cavalierski さんのコメント...

お役にたててなによりです;ー)