bugfix> tomcat > 投稿

公式ソースからTomcat 7.0.76をCentOs 7マシンにインストールしましたが、Tomcatに書き込みアクセス権をまったく取得できません。コード内の何かがディスクへの書き込みまたはディレクトリの作成を行うたびに、Permission Denied Errorが発生します。

たとえば、ディレクトリを作成する場合、次のエラーが表示されます。

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'application': Invocation of init method failed; nested exception is org.ehcache.StateTransitionException: Directory couldn't be created: /usr/share/tomcat/myDir

自分でディレクトリを作成し、このディレクトリ内のファイルに書き込みたい場合、次のエラーが表示されます。

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'application': Invocation of init method failed; nested exception is org.ehcache.StateTransitionException: Location isn't writable: /usr/share/tomcat/myDir

私はすでに試しました:

chown -R tomcat:tomcat /usr/share/tomcat
chmod -R 775  /usr/share/tomcat/

tomcatサービスはtomcatユーザーで実行されています

$ top | grep tomcat
 PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
2725 tomcat    20   0   21,7g   2,2g  24612 S   0,9  7,1   2:28.16 java

それは ll からの出力です

$ ll  /usr/share/tomcat/
insgesamt 8,0K
drwxrwxr-x. 2 tomcat tomcat 4,0K 24. Mai 18:48 bin
lrwxrwxrwx. 1 tomcat tomcat   11 24. Mai 18:48 conf -> /etc/tomcat
lrwxrwxrwx. 1 tomcat tomcat   22 24. Mai 18:48 lib -> /usr/share/java/tomcat
lrwxrwxrwx. 1 tomcat tomcat   15 24. Mai 18:48 logs -> /var/log/tomcat
drwxrwxr-x. 5 tomcat tomcat 4,0K 24. Mai 19:54 resources
lrwxrwxrwx. 1 tomcat tomcat   22 24. Mai 18:48 temp -> /var/cache/tomcat/temp
lrwxrwxrwx. 1 tomcat tomcat   23 24. Mai 18:48 webapps -> /var/lib/tomcat/webapps
lrwxrwxrwx. 1 tomcat tomcat   22 24. Mai 18:48 work -> /var/cache/tomcat/work

注:同じTomcatバージョンの別のCentOs 7マシンに同じ.warファイルをデプロイしましたが、すべて正常に機能しました。

回答 1 件
  • SELinuxがこの許可の拒否を担当している可能性があります。 setenforce permissive で無効にしてみてください 、問題が解決する場合は、SELinuxポリシーを正しく調整してください。この場合、おそらく、それが動作している最初のサーバーにコピーする必要があります。ただし、このサーバーでSELinuxが無効になっていない限り、じゃない 実稼働環境で推奨されます。

あなたの答え