Как удалить файл без разрешений?


22

Хакер удалил файл в моем каталоге tmp, который вызывает проблемы. Ничего страшного, кроме создания ГБ записей error_log, потому что их скрипт не работает. Однако файл, который они используют для выполнения, не имеет разрешений, и даже как ROOT, я не могу удалить или переименовать этот файл.

----------  1 wwwusr wwwusr 1561 Jan 19 02:31 zzzzx.php

root@servername [/home/wwwusr/public_html/tmp]# rm zzzzx.php
rm: remove write-protected regular file './zzzzx.php'? y
rm: cannot remove './zzzzx.php': Operation not permitted

Я также пытался удалить с помощью inode

root@servername [/home/wwwusr/public_html/tmp]# ls -il

...
1969900 ----------  1 wwwusr wwwusr 1561 Jan 19 02:31 zzzzx.php

root@servername [/home/wwwusr/public_html/tmp]# find . -inum 1969900 -exec rm -i {} \;

rm: remove write-protected regular file './zzzzx.php'? y
rm: cannot remove './zzzzx.php': Operation not permitted

Как мне удалить этот файл?


15
Если бы я был тобой, я бы хотел разорвать этот ящик. У него явно есть, по крайней мере, одна дыра в безопасности, и это достаточно плохо, так что кто-то может писать новые файлы с пользовательскими правами вне корня документа, и, кроме того, ему удается заставить PHP / Apache попытаться загрузить его. Мой друг, ты по-королевски Если вы хотите вернуть этот ящик, вы должны сбросить его с орбиты. Это единственный способ быть уверенным .
Уоррен Янг

Спасибо, Уоррен. На самом деле это новая коробка, перемещающая учетные записи, которые никогда не были скомпрометированы ранее. Я пытаюсь выяснить, какие настройки отличаются (оба поля CPanel).
Брэдли

2
Тот факт, что операционная система является последней и свежей, не означает, что компромисс невозможен. Обнаруженная сегодня ошибка в ОС, поставляемой 6 месяцев назад, может сохраняться годами, так как люди продолжают устанавливать старые ОС с компакт-дисков, которые постоянно стареют. Даже если есть патч для недостатка, окно между установкой и обновлением позволяет компромисс. Если оставить в стороне, если я ошибаюсь, что какой-то плохой актер поместил этот файл в вашу систему, добросовестный системный администратор должен хотя бы попытаться объяснить свое присутствие другим способом.
Уоррен Янг

Ответы:


26

Возможно, файл заблокирован с помощью атрибутов файла .

Как корень, делай

lsattr zzzzx.php

Атрибуты a(режим добавления) или i(неизменяемые) присутствующие помешают вашему rm. Если они там, то

chattr -ai zzzzx.php
rm zzzzx.php

должен удалить ваш файл.


Я бы не стал называть их расширенными атрибутами файлов, так как это может привести к путанице с расширенными атрибутами файлов, которые установлены setfxattrи используются для хранения атрибутов ACL или SELinux ....
Стефан Шазелас

@ Стефан Чазелас - хорошо. Работают ли простые «атрибуты файла» у вас?
ire_and_curses

1
Я не могу придумать ничего лучшего. Раньше они были атрибутами файлов ext2, но теперь они поддерживаются другими FS в Linux, такими как xfs из btrfs, поэтому их больше нельзя так называть.
Стефан Шазелас

3

К сожалению, Уоррен писал не как ответ, а как комментарий; Я не могу подчеркнуть, что он полностью прав.

Удаление / изменение одного файла не решит вашу РЕАЛЬНУЮ проблему; это заставит исчезнуть ОДИН симптом. Переведите коробку в автономный режим, возьмите образ для последующей экспертизы и переустановите с более новой версией (надеюсь, с новыми исправлениями безопасности) того, что вы использовали.

Я повторяю: удаление файла не является исправлением .


7
Я не опубликовал ответ, потому что мой комментарий не отвечает на заданный вопрос.
Уоррен Янг

Хех ... Полагаю, я все еще слишком плохо знаком со стековым обменом. Я бы предпочел, чтобы я проголосовал за то, что «не отвечаю», а не сказал, что нужно сказать; D
tink

Вопрос не в том, чтобы решить эту проблему, а в том, чтобы удалить файл без прав доступа. И это интересный вопрос!
Вим

5
@tink: Это то, для чего нужны комментарии : говорить то, что нужно сказать, но это не ответ на вопрос.
Уоррен Янг

Очевидно, это действительно отвечает на вопрос, который был задан. Стирание диска приведет к удалению файла! Обычно это не разумный метод удаления файла, но в этом случае это наиболее разумный способ, поскольку он одновременно решает основную проблему. (Более того, даже если это не дает буквального ответа на вопрос, как он был задан в явном виде - что он делает! - нет ничего плохого в том, чтобы опубликовать решение реальной проблемы ОП .)
Элия ​​Каган
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.