動作していたファイル アップロード JSP を取得しましたが、現在は動作していません。サーバーの入れ替えとソフトウェアの更新(tomcat5からtomcat6など)を行った後、現在は機能していません。コードは次のとおりです。
FileOutputStream fileOut = new FileOutputStream(savePathFile);
fileOut.write(dataBytes, startPos, (endPos - startPos));
ファイルは 1 行目の new FileOutputStream(…) (ファイルサイズは 0) で作成されますが、2 行目の .write で例外がスローされます。ファイルの所有者/グループは tomcat/tomcat です。
したがって、Tomcat には適切な権限が必要です。
また、Tomcat Java アクセス許可ポリシー (catalina.policy) を調べて、正しい FilePermissions があるかどうかを確認しました。それらはそこになかったので、追加しました:
grant codeBase "file:${catalina.home}/webapps/myapp/-" {
permission java.io.FilePermission "/var/lib/tomcat6/webapps/myapp/photographs", "read, write";
}
しかし、違いはありませんでした。次に、セキュリティオプションを有効にしてTomcatが起動されていないと言われました。
tomcat6.conf:SECURITY_MANAGER="false"
他にどこを見ればいいのかわからない。明確な質問がいくつかあります。
ユーザー tomcat がこのディレクトリに対して実際に持っている権限 (rwx) を確認するにはどうすればよいですか?
セキュリティ オプションを有効にして tomcat が実行されているかどうかを確認するにはどうすればよいですか?
許可については、次のように読む必要があります。
grant codeBase "file:${catalina.home}/webapps/myapp/admin/-" {
upload.jsp ファイルは webapps/myapp/admin ディレクトリにあるので?
助けてくれてありがとう、フランク