ubuntuusers.de

Tomcat Fehlermeldung: java.security.AccessControlException: access denied

Status: Ungelöst | Ubuntu-Version: Ubuntu 9.10 (Karmic Koala)
Antworten |

the_clapper

Anmeldungsdatum:
3. Juli 2009

Beiträge: 134

Hallo, ich bin komplett grün hinter den Ohren was Serverdienste angeht. Ich versuche im Tomcat eine Anwendung namens "geo network" zu starten und die liefert mir folgende Fehlermeldung:

exception

javax.servlet.ServletException: Exception raised
	jeeves.server.JeevesEngine.init(Unknown Source)
	jeeves.server.sources.http.JeevesServlet.init(Unknown Source)
	javax.servlet.GenericServlet.init(GenericServlet.java:212)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:616)
	org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269)
	java.security.AccessController.doPrivileged(Native Method)
	javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
	org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301)
	org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
	org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:115)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
	java.lang.Thread.run(Thread.java:636)

root cause

java.security.AccessControlException: access denied (java.io.FilePermission /home/test/geonetwork/web/geonetwork/../../data/tmp read)
	java.security.AccessControlContext.checkPermission(AccessControlContext.java:342)
	java.security.AccessController.checkPermission(AccessController.java:553)
	java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
	java.lang.SecurityManager.checkRead(SecurityManager.java:888)
	java.io.File.exists(File.java:748)
	java.io.File.mkdirs(File.java:1195)
	jeeves.server.JeevesEngine.initGeneral(Unknown Source)
	jeeves.server.JeevesEngine.loadConfigFile(Unknown Source)
	jeeves.server.JeevesEngine.init(Unknown Source)
	jeeves.server.sources.http.JeevesServlet.init(Unknown Source)
	javax.servlet.GenericServlet.init(GenericServlet.java:212)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:616)
	org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269)
	java.security.AccessController.doPrivileged(Native Method)
	javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
	org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301)
	org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
	org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:115)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
	java.lang.Thread.run(Thread.java:636)

Verstehe ich es richtig, dass es Probleme mit den Nutzerrechten des Verzeichnisse in dem geonetwork liegt gibt? /home/test/geonetwork

Wenn ja, gibt es ein default Verzeichnis, in das man Anwendungen oder Code legen sollte, damit Tomcat keine Probleme bekommt?

uname

Anmeldungsdatum:
28. März 2007

Beiträge: 6030

Wohnort: 127.0.0.1

Normalerweise packt man Webserver-Zeug z.B. nach /var/www. Schau vielleicht mal unter

/etc/apache2/sites-available/default

oder so ähnlich nach. Zudem sollte der Ordner dann dem Webserver-Benutzer gehören. Das wäre dann wahrscheinlich der Benutzer "www-data" und die Gruppe "www-data". Versuche nicht im ersten Schritt mit irgendwelchen Testbenutzern rumzuarbeiten.

Zur Konfiguration nutze sudo bzw. werde mit

sudo -s

zu "root". Auch kannst du anschließend "www-data" werden.

su - www-data
Antworten |