Ubuntu/tomcat6で /etc/init.d/tomcat6 start 時にsyslogに大量のエラーメッセージがでるのだが

Sep 16 02:28:07 ****** jsvc.exec[32503]: Could not load Logmanager "org.apache.juli.ClassLoaderLogManager"
Sep 16 02:28:07 ****** jsvc.exec[32503]: java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
<<< 中略 >>>
Sep 16 02:28:07 ****** jsvc.exec[32503]: ^Iat org.apache.commons.daemon.support.DaemonLoader.load(DaemonLoader.java:139)

/var/lib/tomcat6/conf/policy.d配下にある03catalina.policyを以下の様に変更したらエラーメッセージが出力されなくなった。

grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {

 	permission java.lang.RuntimePermission "setContextClassLoader"; ← これを追加

どうも、tomcat-juli.jarからログ出力しようとする時にsetContextClassLoader()を呼び出しているのに、その権限を与えられていなくて、例外発生しまくりだったのかな??

Tomcat6の起動時にポリシーファイルを再生成している件

CATALINA_HOME=/usr/share/$NAME
### 中略 ###
# Directory for per-instance configuration files and webapps
CATALINA_BASE=/var/lib/$NAME
### 中略 ###
POLICY_CACHE="$CATALINA_BASE/work/catalina.policy"
### 中略 ###
cat $CATALINA_BASE/conf/policy.d/*.policy \
	>> "$POLICY_CACHE"

最終的に使用されるポリシーファイルは/var/lib/work/catalina.policyと。

メモ

変数名
CATALINA_HOME /usr/share/tomcat6
CATALINA_BASE /var/lib/tomcat6


末尾が「/-」の codeBase は、ディレクトリのすべてのファイル (クラスファイルと JAR ファイルの両方)、および再帰的にそのディレクトリのサブディレクトリにあるすべてのファイルを表します。