Bonjour,
Je suis en train de mettre au point mon fichier catalina.policy pour lancer Tomcat 6 en mode sécurité.
J'ai aussi modifier le système de traces pour utiliser Log4J, et c'est à ce niveau là que ça coince. En effet, si je gère la configuration par fichier XML, Log4J ne trouve par la dtd, ce qui génére des WARN :
Code : Sélectionner tout - Visualiser dans une fenêtre à part startup.bat -security
Le problème vient d'un manque de FilePermission, car si j'ajoute une permission à tous les fichiers, ça fonctionne bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 log4j:WARN Could not find [log4j.dtd] using [org.apache.catalina.loader.StandardClassLoader@fc9944] class loader, parsed without DTD. log4j:WARN ...
J'aimerais trouver les FilePermission nécessaires au bon chargement de la dtd. Je pars du grant suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { permission java.io.FilePermission "<<ALL FILES>>", "read"; };
Quelle permission dois-je ajouter ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { permission java.io.FilePermission "${catalina.base}/lib/log4j.xml", "read"; permission java.io.FilePermission "${catalina.base}/logs", "read, write"; permission java.io.FilePermission "${catalina.base}/logs/*", "read, write"; };
Merci.
Partager