如何在启动时以不同用户身份启动Tomcat?我已尝试以下命令,但它提示输入密码。
su -c "/etc/tomcat/bin/catalina.sh start" tomcat
我使用的是 Tomcat 7.0.40 和 Ubuntu 12.04。
最佳答案
创建配置文件tomcat.conf
并将其放在/etc/init
下
/etc/init
包含 Upstart 使用的配置文件
tomcat.conf
将如下所示(注意:将 JAVA_HOME
和 CATALINA_HOME
替换为您的自己):
description "Tomcat Server"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
respawn limit 10 5
# run as non privileged user
# add user with this command:
## adduser --system --ingroup www-data --home /opt/apache-tomcat apache-tomcat
# Ubuntu 12.04: (use 'exec sudo -u apache-tomcat' when using 10.04)
setuid apache-tomcat
setgid www-data
# adapt paths - Replace with your Paths:
env JAVA_HOME=/usr/lib/jvm/jdk1.7.0_13/
env CATALINA_HOME=/home/mohammed/apache-tomcat-7.0.27/
# adapt java options to suit your needs:
env JAVA_OPTS="-Djava.awt.headless=true -Xms512M -Xmx1024M -server -XX:+UseParallelGC"
exec $CATALINA_HOME/bin/catalina.sh run
# cleanup temp directory after stop
post-stop script
rm -rf $CATALINA_HOME/temp/*
end script
关于tomcat - 如何在启动时以非 root 身份启动 Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16549285/