Às vezes você precisa fazer o que precisa fazer.
Aqui está um patch que faz com que o tomcat seja executado como trabalho raiz:
--- init.d.old/tomcat6 2010-09-01 15:31:01.996208252 -0700
+++ init.d/tomcat6 2010-09-01 15:30:10.315146226 -0700
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/sh -x
#
# /etc/init.d/tomcat6 -- startup script for the Tomcat 6 servlet engine
#
@@ -141,6 +141,12 @@
cd \"$CATALINA_BASE\"; \
\"$CATALINA_SH\" $@"
+ cat >/etc/init.d/tomcat_exec.sh <<-EOT
+ #!/bin/bash
+ $TOMCAT_SH
+ EOT
+ chmod +x /etc/init.d/tomcat_exec.sh
+
if [ "$AUTHBIND" = "yes" -a "$1" = "start" ]; then
TOMCAT_SH="'$TOMCAT_SH'"
fi
@@ -151,7 +157,7 @@
chown $TOMCAT6_USER "$CATALINA_PID" "$CATALINA_BASE"/logs/catalina.out
start-stop-daemon --start -u "$TOMCAT6_USER" -g "$TOMCAT6_GROUP" \
-c "$TOMCAT6_USER" -d "$CATALINA_TMPDIR" \
- -x /bin/bash -- -c "$AUTHBIND_COMMAND $TOMCAT_SH"
+ -x /etc/init.d/tomcat_exec.sh
status="$?"
set +a -e
return $status