tomcat - 如何在启动时以非 root 身份启动 Tomcat

标签 tomcat ubuntu

如何在启动时以不同用户身份启动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_HOMECATALINA_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/

相关文章:

java - 如何为 SQL Server 2008 配置 Tomcat 7 以便在 java servlet 程序中使用?

Tomcat 管理器不要求登录

apache-flex - Ubuntu 上的 Adob​​e Flex 开发

unix - 在 netbeans 6.9.1 上安装 inconsolata

tomcat - ColdFusion 10 实例/Tomcat 以可预测的时间间隔死亡(死亡白屏)

tomcat - 嵌入式Tomcat的缺点

java - 如何注册可以被多个WAR共享的bean(Spring boot + Tomcat)

ubuntu - 我们可以从同一台机器/服务器托管 yum 和 apt repo 吗?

laravel - 如何从我的本地计算机访问远程 Elasticsearch 服务器(在 Google Compute Engine 上)

ruby - 安装 RVM 后找不到 Ruby 1.9.2