catalina.policy
上传用户:zhangkaihu
上传日期:2008-02-20
资源大小:3690k
文件大小:7k
源码类别:

Web服务器

开发平台:

Java

  1. // ============================================================================
  2. // catalina.corepolicy - Security Policy Permissions for Tomcat 5
  3. //
  4. // This file contains a default set of security policies to be enforced (by the
  5. // JVM) when Catalina is executed with the "-security" option.  In addition
  6. // to the permissions granted here, the following additional permissions are
  7. // granted to the codebase specific to each web application:
  8. //
  9. // * Read access to the document root directory
  10. //
  11. // $Id: catalina.policy,v 1.13 2005/03/03 23:41:14 remm Exp $
  12. // ============================================================================
  13. // ========== SYSTEM CODE PERMISSIONS =========================================
  14. // These permissions apply to javac
  15. grant codeBase "file:${java.home}/lib/-" {
  16.         permission java.security.AllPermission;
  17. };
  18. // These permissions apply to all shared system extensions
  19. grant codeBase "file:${java.home}/jre/lib/ext/-" {
  20.         permission java.security.AllPermission;
  21. };
  22. // These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre
  23. grant codeBase "file:${java.home}/../lib/-" {
  24.         permission java.security.AllPermission;
  25. };
  26. // These permissions apply to all shared system extensions when
  27. // ${java.home} points at $JAVA_HOME/jre
  28. grant codeBase "file:${java.home}/lib/ext/-" {
  29.         permission java.security.AllPermission;
  30. };
  31. // ========== CATALINA CODE PERMISSIONS =======================================
  32. // These permissions apply to the launcher code
  33. grant codeBase "file:${catalina.home}/bin/commons-launcher.jar" {
  34.         permission java.security.AllPermission;
  35. };
  36. // These permissions apply to the daemon code
  37. grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
  38.         permission java.security.AllPermission;
  39. };
  40. // These permissions apply to the commons-logging API
  41. grant codeBase "file:${catalina.home}/bin/commons-logging-api.jar" {
  42.         permission java.security.AllPermission;
  43. };
  44. // These permissions apply to the server startup code
  45. grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
  46.         permission java.security.AllPermission;
  47. };
  48. // These permissions apply to the JMX server
  49. grant codeBase "file:${catalina.home}/bin/jmx.jar" {
  50.         permission java.security.AllPermission;
  51. };
  52. // These permissions apply to JULI
  53. grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
  54.         permission java.security.AllPermission;
  55. };
  56. // These permissions apply to the servlet API classes
  57. // and those that are shared across all class loaders
  58. // located in the "common" directory
  59. grant codeBase "file:${catalina.home}/common/-" {
  60.         permission java.security.AllPermission;
  61. };
  62. // These permissions apply to the container's core code, plus any additional
  63. // libraries installed in the "server" directory
  64. grant codeBase "file:${catalina.home}/server/-" {
  65.         permission java.security.AllPermission;
  66. };
  67. // The permissions granted to the balancer WEB-INF/classes directory
  68. grant codeBase "file:${catalina.home}/webapps/balancer/WEB-INF/classes/-" {
  69.         permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.util.digester";
  70.         permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.util.digester.*";
  71. };
  72. // ========== WEB APPLICATION PERMISSIONS =====================================
  73. // These permissions are granted by default to all web applications
  74. // In addition, a web application will be given a read FilePermission
  75. // and JndiPermission for all files and directories in its document root.
  76. grant { 
  77.     // Required for JNDI lookup of named JDBC DataSource's and
  78.     // javamail named MimePart DataSource used to send mail
  79.     permission java.util.PropertyPermission "java.home", "read";
  80.     permission java.util.PropertyPermission "java.naming.*", "read";
  81.     permission java.util.PropertyPermission "javax.sql.*", "read";
  82.     // OS Specific properties to allow read access
  83.     permission java.util.PropertyPermission "os.name", "read";
  84.     permission java.util.PropertyPermission "os.version", "read";
  85.     permission java.util.PropertyPermission "os.arch", "read";
  86.     permission java.util.PropertyPermission "file.separator", "read";
  87.     permission java.util.PropertyPermission "path.separator", "read";
  88.     permission java.util.PropertyPermission "line.separator", "read";
  89.     // JVM properties to allow read access
  90.     permission java.util.PropertyPermission "java.version", "read";
  91.     permission java.util.PropertyPermission "java.vendor", "read";
  92.     permission java.util.PropertyPermission "java.vendor.url", "read";
  93.     permission java.util.PropertyPermission "java.class.version", "read";
  94. permission java.util.PropertyPermission "java.specification.version", "read";
  95. permission java.util.PropertyPermission "java.specification.vendor", "read";
  96. permission java.util.PropertyPermission "java.specification.name", "read";
  97. permission java.util.PropertyPermission "java.vm.specification.version", "read";
  98. permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
  99. permission java.util.PropertyPermission "java.vm.specification.name", "read";
  100. permission java.util.PropertyPermission "java.vm.version", "read";
  101. permission java.util.PropertyPermission "java.vm.vendor", "read";
  102. permission java.util.PropertyPermission "java.vm.name", "read";
  103.     // Required for OpenJMX
  104.     permission java.lang.RuntimePermission "getAttribute";
  105. // Allow read of JAXP compliant XML parser debug
  106. permission java.util.PropertyPermission "jaxp.debug", "read";
  107.     // Precompiled JSPs need access to this package.
  108.     permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";
  109.     permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime.*";
  110.     
  111. };
  112. // You can assign additional permissions to particular web applications by
  113. // adding additional "grant" entries here, based on the code base for that
  114. // application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
  115. //
  116. // Different permissions can be granted to JSP pages, classes loaded from
  117. // the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
  118. // directory, or even to individual jar files in the /WEB-INF/lib/ directory.
  119. //
  120. // For instance, assume that the standard "examples" application
  121. // included a JDBC driver that needed to establish a network connection to the
  122. // corresponding database and used the scrape taglib to get the weather from
  123. // the NOAA web server.  You might create a "grant" entries like this:
  124. //
  125. // The permissions granted to the context root directory apply to JSP pages.
  126. // grant codeBase "file:${catalina.home}/webapps/examples/-" {
  127. //      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
  128. //      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
  129. // };
  130. //
  131. // The permissions granted to the context WEB-INF/classes directory
  132. // grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/classes/-" {
  133. // };
  134. //
  135. // The permission granted to your JDBC driver
  136. // grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
  137. //      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
  138. // };
  139. // The permission granted to the scrape taglib
  140. // grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
  141. //      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
  142. // };