CentOS 6.10 64ビットで許可拒否エラーが発生します。
「#」は root レベルのユーザープロンプトを示します。
# cd /tmp
# chmod 777 file*
# /bin/ls -l file*
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_00.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_01.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_02.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_03.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_04.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_05.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_06.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_07.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_08.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_09.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_10.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_11.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_12.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_13.dat
-rwxrwxrwx 1 apache apache 824 Sep 17 17:15 file_14.dat
-rwxrwxrwx 1 apache apache 1 Sep 17 17:15 file_15.dat
# cat file* > file.dat
cat: file_00.dat: Permission denied
cat: file_02.dat: Permission denied
# /bin/ls -l file.dat
-rw-rw-r-- 1 root root 10713 Sep 17 17:32 file.dat
ファイル全体のサイズは10713、つまり824 * 13 + 1です。これは、「00」および「02」ファイルを除くすべてのファイルが正常にコピーされたことを意味します。成功したコピーは12361バイト、824 * 15 + 1でなければなりません。しかし、2つのファイルの間に違いはありません。ただ、マシンがそのファイルを読むことを拒否するだけです。
「chmod 777」コマンドは重複しており、状況を強調する役割のみを行います。コマンドを実行する前に、許可は「-rw-r--r--」形式であり、これは依然として許可拒否エラーが発生してはいけません。
いいえ」。権限の問題があるため、理論的にはSelinuxが介入してはいけませんが、たとえそれでもなぜ2つのファイルだけを選択するのでしょうか?
これらのファイルの作成を繰り返すと、他のファイルセットを読み取ることができないものが選択されます。誰にもこれについての説明と解決策はありますか?
修正する:
ファイル生成プロセスを修正しました。以前は、大規模なスプレッドシートをアップロードできるように、XLSXファイルを複数のチャンクに分割したJavaScriptクライアントからデータを受け取りました。サーバーはチャンクをBase64として受け取り、各チャンクをバイナリにデコードし、最後のXLSXファイルに接続するために一時ファイルに保存します。
これで実行される作業は、各一時ブロックをbase64(100%ASCII)として保存することです。すべてのチャンクがアップロードされたら、各ファイルを読み、それからこれをバイナリにデコードして、最終XLSXファイルに追加します。
うまくいきます。私の考えでは、私たちはそれを残すと思います。
テストでBase64チャンクを読み取り、バイナリにデコードしてから保存するためのクイック3行プログラムを作成しました。それから結果を読もうとします。何か合わせてみて?バイナリファイルに対する権限が拒否されました。
明らかに、ファイルを読み取れないようにする一種のデータパターンです。~へ文書。
このアプローチでは問題は解決しましたが、まだバイナリデータのスキーマがどのように見えるかを知りたいです。~へファイル生成「権限が拒否されました」エラー外部。
ベストアンサー1
最終更新
私たちのサービスプロバイダがRed-Hat Linuxアンチウイルスプログラムを実行したことがわかりました。明らかに私はこれを実現できませんでした。
ウイルス対策ソフトウェアをオフにすると、すべてのファイルを魔法のように読み取ることができます。もう一度開くと、選択したファイルの一部が特定のウイルスシグネチャと一致することがわかりました。
抗ウイルス剤しなければならない実行ファイルに注意してください。 (問題が発生したとき、ファイルは元のモード644にありました)
そこしなければならないエラーメッセージが異なります。
ああ、まあ。これからBase64を使用してファイルをエンコードすると、問題が解決します。
助けてくださった皆様にもよろしくお願いします。