Portál AbcLinuxu, 24. dubna 2024 11:15


Dotaz: Tomcat a oprávnění

Jiří Svoboda avatar 23.7.2008 14:24 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
Tomcat a oprávnění
Přečteno: 319×
Odpovědět | Admin
Rozhodl jsem se, že se naučím JSP (a související technologie). Něco jsem si už přečetl a dospěl k tomu, že je na čase rozjet Tomcata (Debian Etch, tedy zatím Tomcat 5.5).

Po nainstalování potřebných balíčků a vyřešení pár problémů mám běžícího Tomcata a pokud do příslušného adresáře nakopíruju soubor .war (zatím jsem zkoušel pouze dodaný sample.war), tak se tam sám rozbalí (autodeploy).

To je ale všechno. Aplikace není dostupná (Error 404) a v logu mám mj. následující:
Jul 23, 2008 2:03:51 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive sample.war
Jul 23, 2008 2:03:51 PM org.apache.catalina.startup.HostConfig deployWAR
SEVERE: Error deploying web application archive sample.war
org.apache.commons.logging.LogConfigurationException: java.security.AccessControlException: access denied (java.io.FilePermission /var/lib/tomcat5.5/webapps/sample/WEB-INF/classes/logging.properties read) (Caused by java.security.AccessControlException: access denied (java.io.FilePermission /var/lib/tomcat5.5/webapps/sample/WEB-INF/classes/logging.properties read))
        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:538)
        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:370)
        at org.apache.catalina.core.ContainerBase.getLogger(ContainerBase.java:380)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4114)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
        at org.apache.catalina.core.ContainerBase.access$0(ContainerBase.java:743)
        at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:143)
        at java.security.AccessController.doPrivileged(Native Method)
...
Strávil jsem dnes celý den googlováním a zkoušením vygooglovaného, ale bez výsledku. Je mi jasné, že tu jde o nějaká oprávnění. Dočetl jsem se, že Debian Etch má v Tomcatu oproti jiným distribucím defaultně nějak hodně ořezaná práva a že to dělá často potíže při nasazování různých aplikací. Zkoušel jsem dopisovat do .policy souboru na webech doporučované řádky jako:
grant codeBase "file:${catalina.home}/webapps/sample/-" {
  permission java.security.AllPersmission;
};
nebo
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
  permission java.io.FilePermission "${catalina.base}${file.separator}webapps${file.separator}SERVLET_NAME${file.separator}WEB-INF${file.separator}classes${file.separator}logging.properties", "read";
};
Vše bez jakéhokoliv výsledku.

Taky nechápu, proč mluví o nějakém souboru "logging.properties", když ten vůbec součástí aplikace není...

Nakonec jsem to dočasně rozjel alespoň tak, že jsem nastavil "TOMCAT5_SECURITY=no" (tedy vyřadil Security Managera), ale to asi není to pravé...
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Na otázku zatím nikdo bohužel neodpověděl.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.