「

これまでに見たことのない状況があり、検索しても見つけることができませんでした。所有者またはグループの所有者が表示または編集できないPHPファイルがあります。奇妙なことに、Apacheできるファイルを読み取って処理するので、私の知る限りでは破損していません。また、sudo(つまり、root として) 表示および編集することもできます。

私が発見したのは、最初の行に があるファイル<?php(PHP ファイルではよくあることです) はすべてこの動作を示すということです。ホーム ディレクトリでこれをテストしました。

$ vi henry.txt

テキストを入力して保存します。問題ありません。ファイルを表示できます:

$ cat henry.txt
Test

ファイルを再度編集し ( vi henry.txt)、<?php最初の行に を入れて、Test2 行目まで押し下げます。次に、保存して終了します。これで次のようになります。

$ cat henry.txt
cat: henry.txt: Operation not permitted

しかし:

$ sudo cat henry.txt
<?php
Test

ファイルを再度編集し (sudo vi henry.txt自分として編集できないため)、<?php行を削除します。保存して終了します。次に:

$ cat henry.txt
Test

実際、<?phpアクセスをブロックするのに full は必要ありません。単に<?そこに置くだけで済みます。

なぜそうなるのか、まったくわかりません。何かアイデアがあれば、ぜひ教えてください。参考までに、これは Red Hat Enterprise Linux 8 です。SELinux を無効にしてみましたが、違いはありませんでした。

編集: ファイルの所有権 (私) と権限を示すコンソール出力がさらに追加されました。動作はホーム ディレクトリと /tmp で同じです。

[hartley_h@webnix07 ~]$ cd /tmp
[hartley_h@webnix07 tmp]$ echo "Test" > henry.txt
[hartley_h@webnix07 tmp]$ ls -l henry.txt
-rw-r-----. 1 hartley_h domain users 5 Oct 29 15:44 henry.txt
[hartley_h@webnix07 tmp]$ cat henry.txt
Test
[hartley_h@webnix07 tmp]$ echo "<?php" > henry.txt
[hartley_h@webnix07 tmp]$ ls -l henry.txt
-rw-r-----. 1 hartley_h domain users 6 Oct 29 15:45 henry.txt
[hartley_h@webnix07 tmp]$ cat henry.txt
cat: henry.txt: Operation not permitted

関連情報