"

"

У меня ситуация, с которой я никогда раньше не сталкивался и не смог найти ее в своем поиске. У меня есть файл PHP, который не может просматриваться или редактироваться владельцем или владельцем любой группы. Как ни странно, Apacheможетпрочитать и обработать файл, так что он не поврежден, насколько я могу судить. Также его можно просматривать и редактировать с помощью sudo(т. е. как root).

Я обнаружил, что любой файл, который имеет <?phpв первой строке (что довольно распространено для файлов PHP), демонстрирует такое поведение. Я только что проверил это в своем домашнем каталоге:

$ vi henry.txt

Я вставляю туда текст и сохраняю. Никаких проблем. Я могу просмотреть файл:

$ cat henry.txt
Test

Я снова редактирую файл ( vi henry.txt) и вставляю <?phpпервую строку, сдвигая Testвниз на вторую строку. Затем сохраняю и выхожу. Теперь:

$ 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чтобы заблокировать доступ. Просто поставьте <?там, и это будет сделано.

Я совершенно не понимаю, почему это может быть. Буду очень признателен за любые идеи. Если это имеет значение, это Red Hat Enterprise Linux 8. Я пробовал отключать SELinux, но это не помогло.

EDIT: Больше консольного вывода, показывающего владельца файла (меня) и разрешения. Поведение идентично в моем домашнем каталоге и в /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

Связанный контент