CentOS、JBossEAP環境のJavaアプリケーションを作っています。
このアプリケーションにはファイルを出力する機能があります。
Aspose.Cellsという製品を使って、PDFやExcelを生成します。
おおむね、以下のような流れの処理です。

  1. File.createTempFile()を使って一時ファイルのパスを作る
  2. 一時ファイルのFileOutputStreamを作る (new FileOutputStream())
  3. Aspose.CellsにこのFileOutputStreamや流し込むデータなどを渡し、帳票ファイルの中身を書き込んでもらう
  4. FileOutputStreamclose
  5. 一時ファイルのFileInputStreamを作る (new FileInputStream())
  6. 一時ファイルから永続化のためDBにファイルをコピーする

この処理において、なぜか「パスワード付きPDF」や「パスワード付きExcel」を作った場合のみ、5でFileNotFoundException(メッセージ:許可されていない操作です)が発生します。
パスワード付きか否かは、Aspose.Cellsへ渡すオプションであり、少なくともこちらで書いているコードは、このオプション設定以外は全く同じです。

更に調査を進めたところ、問題の一時ファイルについては、CentOS上からroot権限でもってcpコマンドやstringsコマンドでアクセスしようとした場合にも、「許可されていない操作です」というエラーが発生することが分かりました。
movermはできます。
moveしたファイルをcpしようとしても、「許可されていない操作です」になります。

分かっているのはここまでです。
もちろん最終的にはこれを解決する必要があるのですが、まず知りたいのは、このファイルがどのような状態のものなのか、です。
ファイル自体の権限を確認したところ、rw-r--r--です。
少なくとも読み込みはできる権限だと思うのですが、なぜあのようなエラーが起きるのでしょうか?

同じディレクトリ内にある他のファイル(パスワード無しのPDFなど)は問題が起きないので、ディレクトリではなくファイル自体の問題ではないかと推測していますが。
なお、この一時ファイルの生成に使っているディレクトリは、/tmpです。
/tmpディレクトリの権限設定は、rwxrwxrwtです。

Linuxのファイルアクセス権限周りに疎いので、まずキーワードだけでも、この状態のファイルを表す説明を探しています。

====================================================
追加で調査した内容がありますので追記します。

問題のエラーが起きるファイルですが、Aspose.Cells以外の手段で作成したパスワード付きPDFでも発生します。
更に、そのPDFファイルをバイナリエディタで開き、ファイル先頭の"%PDF-"の部分のみを削除したところ、エラーが起きなくなりました。