ファイルを移動すると、CentOSディレクトリの「x」実行可能フラグが失われ、コンテンツにアクセスできなくなります。 [閉じる]

ファイルを移動すると、CentOSディレクトリの「x」実行可能フラグが失われ、コンテンツにアクセスできなくなります。 [閉じる]

概要:あるフォルダから別のフォルダにファイルを移動すると、保存先フォルダの実行可能プロパティが失われ、そのフォルダとそのコンテンツにアクセスできなくなります。

[元のStack Overflowに投稿されましたが、プログラミングの質問ではなくUnixとLinuxに再公開されました。]

サブフォルダがあり、親フォルダでドキュメントを処理した後、私のアプリケーション(Laravel、しかし問題は関係がないようです)は、このドキュメントをサブフォルダに移動する必要があります。ドキュメントを親フォルダからサブフォルダに移動すると、サブフォルダは「x」実行可能属性を失い、「drwxrwx---」から「drw-rw----」に変更されます。これによりコンテンツにアクセスできなくなり、将来の方向に移動できなくなります。子ファイルのファイルを一覧表示しようとすると、各ファイルに対して「ls:Access Denied」が報告され、その属性は「-?????????」と表示されます。

以下に、前後のソースディレクトリとターゲットサブディレクトリを示します。

# Source Before
drwxrwx---. 3 openapp nginx unconfined_u:object_r:httpd_sys_rw_content_t:s0   4096 Apr 11 13:42  dmarc_reports
# Source After
drwxrwx---. 3 openapp nginx unconfined_u:object_r:httpd_sys_rw_content_t:s0   4096 Apr 11 13:42  dmarc_reports

# Destination Before
drwxrwx---. 2 openapp nginx unconfined_u:object_r:httpd_sys_rw_content_t:s0    6 Apr 11 07:56  processed
# Destination After
drw-rw----. 2 openapp nginx unconfined_u:object_r:httpd_sys_rw_content_t:s0    6 Apr 11 13:42  processed

「chmod ug + xfolder_name」を使用してアクセス権をリセットすると、ファイルに再度アクセスできますが、別のファイル移動操作を実行すると問題が再発生します。実行が移動する方向、コードで実行するのか、シェルで mv を使用しているかにかかわらず、問題が発生します。これは、SELinuxを無効にして(setenforce 0を使用)、fapolicydを停止した場合にも発生します。

すべてのファイルとフォルダは、私のユーザーとアプリケーションとユーザーが属するnginxグループによって所有されています。ターゲットはソースのサブフォルダなので、同じファイルシステムにあります。

これは私を完全に混乱させました。 CentOS Stream 9を実行しています。前述のようにSELinuxの問題を解決しましたが、参考までにすべてのファイルには「system_u:object_r:httpd_sys_rw_content_t:s0」コンテキストがあり、フォルダには「unconfined_u:object_r:httpd_sys_rw_content_t:」コンテキストがあります。

どんなアイデアがありますか?

関連する場合、最初から(つまり、権限が変更された後)失敗したコード/コマンドは次のようになります。

// Laravel Instruction
Storage::move($fileLocation, $dest)

// Native PHP Instruction
rename(Storage::path($fileLocation), Storage::path($dest))

## Bash Instruction
mv <<original path>>/<<filename>> <<destination path>>/

いずれの場合も、ディレクティブは一度動作してからchmodを使用してディレクトリ権限を手動でリセットするまで、次のファイルで失敗します。

答え1

だから私は問題を解決し、馬鹿のように感じた。また、処理のためにファイルをフォルダに転送するcronジョブを毎分実行します。これはターゲットファイルの所有権と権限を設定し、私はファイルだけでなくすべてに権限を適用しました。一瞬一瞬起きているので、私の行動によって引き起こされるようです。権限の状態を詳しく見てくれた@NasirRileyに感謝します。これにより、私は何もしなくても権限が変更されたことを確認できました。

関連情報