Tomcat7インスタンスがtomcat7(またはその他の)ユーザーとして実行されていることを確認するための推奨される方法は何ですか?
上部に「su tomcat7」を変更tomcat7-instance/bin/startup.sh
しtomcat7-instance/bin/shutdown.sh
て追加できると思います。
Tomcat6では、環境変数だったと思いますTOMCAT6_USER
。
Tomcat7インスタンスがtomcat7(またはその他の)ユーザーとして実行されていることを確認するための推奨される方法は何ですか?
上部に「su tomcat7」を変更tomcat7-instance/bin/startup.sh
しtomcat7-instance/bin/shutdown.sh
て追加できると思います。
Tomcat6では、環境変数だったと思いますTOMCAT6_USER
。
回答:
最も一般的な方法は、以下を使用して標準tomcat7
パッケージをインストールし、apt-get
それを使用して開始することです。
sudo service tomcat7 start
/etc/default/tomcat7
この抜粋でわかるように、デフォルトのユーザーとグループが構成されています。
# Run Tomcat as this user ID. Not setting this or leaving it blank will use the
# default of tomcat7.
TOMCAT7_USER=tomcat7
# Run Tomcat as this group ID. Not setting this or leaving it blank will use
# the default of tomcat7.
TOMCAT7_GROUP=tomcat7
/etc/default/tomcat7
か?
編集:以下のコメントを読んでください!このソリューションは、すべての状況に適用できるわけではありません。
受け入れられた答えは素晴らしいですが、私はUbuntu 14.04でTomcat 7を実行しているため、すべてを実行するために実行する必要がある追加の作業がいくつかありました。
/etc/default/tomcat7
。ユーザーとグループを変更すると、古いユーザーを使用してサービスを停止することはできなくなります。ファイル内のユーザーとグループを変更する /etc/default/tomcat7
フォルダー/var/log/tomcat7
とそのすべてのファイルの所有権を変更する必要があります。すべてのadmユーザーがログを読み取ることができるように、admグループを保持することには利点があることに注意してください。
sudo chown -R newuser:adm /var/log/tomcat7
フォルダの所有権を変更する /var/lib/tomcat7/webapps
sudo chown -R newuser:newgroup /var/lib/tomcat7/webapps
Ubuntu 14.04のポート80/443で実行している場合は、authbindファイルの所有権を変更する必要があります。
sudo chown newuser /etc/authbind/byport/80
sudo chown newuser /etc/authbind/byport/443
作業フォルダーの所有権を変更する
sudo chown newuser:adm /var/cache/tomcat7
sudo chown -R newuser:newgroup /var/cache/tomcat7/Catalina
設定ファイルを読み取り可能にします。ここには2つのオプションがあります。新しいユーザーをtomcat7グループに追加するには、次のようにします。
sudo usermod -a -G tomcat7 newuser
...または設定ファイルの所有権を変更します。
sudo chown -R :newgroup /var/lib/tomcat7/conf/*
ログファイル構成ファイルなど、Webアプリがアクセスしている他のファイルがある場合は、それらのファイルの所有権も変更する必要があります。
編集2:tomcat 8とUbuntu 18.04にアップグレードした後、別のユーザーとしてtomcatを実行すると別の問題が発生しました。スクリプトで/etc/init.d/tomcat8
は、次の行がtomcatユーザーのホームフォルダーを変更しているように見えますが、別のユーザーを使用している場合、結果は適切ではありません。
usermod --home /var/lib/tomcat8 $TOMCAT8_USER > /dev/null 2>&1 || true
この行を削除またはコメントアウトすることにより、新しいtomcatユーザーのホームフォルダーが変更されるのを回避できます。