Запуск Tomcat с менеджером безопасности - CentOS

Я видел эту тему прежде, и решение, данное работы.

Однако это не помещается в мои потребности, так как это предоставляет доступ для чтения к каждому каталогу путем установки этого catalina.policy:

grant {
permission java.security.AllPermission;
};

Так, мой вопрос: существует некоторый способ определить, какой файл или ресурс требуют, но отклоняют, когда я снимаю это предоставление?

Вот журнал, который может быть полезным, и появляется, когда данный Grant удален:

java.security. AccessControlException: доступ запрещен (java.security. SecurityPermission getProperty.package.definition) в java.security. AccessControlContext.checkPermission(AccessControlContext.java:323) в java.security. AccessController.checkPermission(AccessController.java:546) в java.lang. SecurityManager.checkPermission(SecurityManager.java:532) в java.security. Security.getProperty (безопасность java:725) в org.apache.catalina.security. SecurityConfig.setSecurityProperty(SecurityConfig.java:117) в org.apache.catalina.security. SecurityConfig.setPackageDefinition(SecurityConfig.java:106) в org.apache.catalina.startup. Embedded.setSecurityProtection (Встроенный java:990) в org.apache.catalina.startup. Встроенный. (Встроенный java:130) в org.apache.catalina.startup. Встроенный. (Встроенный java:115) в org.apache.catalina.startup. Catalina. (Catalina.java:58) в sun.reflect. NativeConstructorAccessorImpl.newInstance0 (Собственный метод) в sun.reflect. NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) в sun.reflect. DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) в java.lang.reflect. Constructor.newInstance (Конструктор java:513) в java.lang. Класс newInstance0 (Класс java:355) в java.lang. Class.newInstance (Класс java:308) в org.apache.catalina.startup. Bootstrap.init (Начальная загрузка java:225) в org.apache.catalina.startup. Bootstrap.main (Начальная загрузка java:410)

Заранее спасибо!

0
задан 23 May 2017 в 15:41
1 ответ

Я нашел это , это часть документации Tomcat, которая позволила мне отладить результаты блокировки Security Manager.

Экспорт CATALINA_OPTS = -Djava.security .debug = all ", при вызове при запуске Catalina, распечатывать каждую попытку доступа, которую выполняет Tomcat, и результат этой попытки.

Поскольку система загружает множество файлов, и этот метод журнала генерирует очень большие файлов, я предпочел не регистрировать его и запустил свою виртуальную машину вручную, распечатав вывод на моем экране.

Я запустил свою JVM в командной строке следующим образом:

/usr/local/java/jdk6/bin/java -server 
-Duser.timezone=America/Sao_Paulo -XX:MaxPermSize=128m -Xms30m -Xmx1024m 
-Djava.endorsed.dirs=/var/tomcat/7.0/endorsed 
-classpath :/var/tomcat/7.0/bin/bootstrap.jar 
-Djava.security.manager 
-Djava.security.policy==/var/tomcat/7.0/conf/catalina.policy 
-Dcatalina.base=/var/tomcat/7.0 -Dcatalina.home=/var/tomcat/7.0 
-Djava.security.debug=all
-Djava.io.tmpdir=tmpdir org.apache.catalina.startup.Bootstrap 
-config dir/to/xml.conf start
0
ответ дан 5 December 2019 в 11:48

Теги

Похожие вопросы