web-dev-qa-db-ja.com

Tomcatのアクセス許可の問題

buntuガイド に従ってTomcat 7をインストールしました。サーバーは動作しており、「動作します!」 http://localhost:8080/のページ。

次に、Netbeansを使用して独自のwebappをセットアップします。 Java EE 6およびTomcat 7で新しいWeb Projectを生成しました。ユーザーは/var/lib/Tomcat7/conf/Tomcat-users.xmlファイルが適切に構成されています。

プロジェクトを実行するとすべてが問題ないように見えますが、ブラウザを開くと 500エラー と表示されます。

  • Tomcatの出力 は、Tomcat7/logsにアクセスしようとする許可エラーに言及し、
  • IDEログTomcat7/confにアクセスしようとしています。

ファイルの許可:

lucio@lucio-pc:/$ ll /var/lib/Tomcat7/logs
lrwxrwxrwx 1 root root 17 jul 24 18:07 /var/lib/Tomcat7/logs -> ../../log/Tomcat7/
lucio@lucio-pc:/$ ll /var/log/Tomcat7/
total 136
drwxr-x---  2 Tomcat7 adm      4096 ago 28 10:50 ./
drwxrwxr-x 15 root    syslog   4096 ago 28 09:29 ../
-rw-r--r--  1 Tomcat7 Tomcat7   800 ago 26 17:23 catalina.2014-08-26.log.gz
-rw-r--r--  1 Tomcat7 Tomcat7  5173 ago 27 21:59 catalina.2014-08-27.log
-rw-r--r--  1 Tomcat7 Tomcat7 31285 ago 28 10:36 catalina.2014-08-28.log
-rw-r--r--  1 Tomcat7 root    44192 ago 28 10:36 catalina.out
-rw-r--r--  1 Tomcat7 Tomcat7    45 ago 26 16:19 localhost.2014-08-26.log.gz
-rw-r--r--  1 Tomcat7 Tomcat7     0 ago 27 11:15 localhost.2014-08-27.log
-rw-r--r--  1 Tomcat7 Tomcat7   433 ago 28 09:49 localhost.2014-08-28.log
-rw-r--r--  1 Tomcat7 Tomcat7  7435 ago 26 17:23 localhost_access_log.2014-08-26.txt
-rw-r--r--  1 Tomcat7 Tomcat7     0 ago 27 11:15 localhost_access_log.2014-08-27.txt
-rw-r--r--  1 Tomcat7 Tomcat7 15186 ago 28 09:58 localhost_access_log.2014-08-28.txt

ファイルにアクセスできない理由がわかりません。ユーザーとグループTomcat7にファイルへのアクセス許可があることがわかります。ファイルに対する特権を必要とするJVMのユーザーはいますか?

前述のようにファイルの所有権を変更しようとしました here ですが、まったく変更されません。


/etc/default/Tomcat7 ファイルには以下が含まれます。

Tomcat7_USER=Tomcat7
Tomcat7_GROUP=Tomcat7

だから、Tomcat7ユーザーとして実行されていると思います。


ユーザーをTomcat7グループに追加しました:

Sudo usermod -aG Tomcat7 $USER

そして、マシンを再起動しましたが、問題は解決しません。

9
Lucio

ここで2つの問題に気付きました。

エラーログの2行が目立ちました。

SEVERE: Cannot find specified temporary folder at /var/lib/Tomcat7/temp  

そして:

Java.io.FileNotFoundException: /var/lib/Tomcat7/conf/Tomcat-users.xml (Permission denied)

Lucioで少し診断してTomcat-users.xmlファイルはTomcatが所有しているのではなく、rootが所有していることがわかりました。次のコマンドを実行して、許可を適切なものに変更します。

Sudo chown Tomcat7:Tomcat7 /var/lib/Tomcat7/conf/Tomcat-users.xml

また、次のように、Tomcat権限で/var/lib/Tomcat7/tempフォルダーを作成します。

Sudo mkdir /var/lib/Tomcat7/temp && Sudo chown -R Tomcat7:Tomcat7 /var/lib/Tomcat7/temp

最後に、/var/lib/Tomcat7/logsユーザー/グループがTomcat7を所有することにより、ログを修正する必要があります。 /var/log/Tomcat7/は、Tomcat7ユーザーANDグループによっても所有される必要があります。

9
Kaz Wolfe