Я использую Debian 9.1 с KDE и хотел бы запустить автоматический поиск и удаление, чтобы полностью удалить все файлы, «которые были удалены, но чей дескриптор файла не был закрыт».

Я все еще новичок в GNU/Linux, и я прочитал, что такие файлы представляют угрозу безопасности (то есть вредоносные программы, использующие это для сокрытия своего присутствия).

Видимо, команда ls показывает такие файлы с "счетчиком ссылок 0", а это не то, что я прошу.

1 ответ1

2

Вы что-то не так поняли.

полностью удалить все файлы, которые были удалены

Ну ... если файл удален, он удаляется.

Если вы хотите, чтобы удаление файлов сделало недействительными все дескрипторы, это будет невозможно. Слишком много программ и миллионы строк кода полагаются на эту семантику. Что касается возможности предотвратить удаление открытых файлов, как это делает Windows, то же самое: слишком много вещей в мире Linux полагаются на это.

Ручное принудительное закрытие файловых дескрипторов во внешнем процессе, например. с GDB или скриптовыми решениями с ним, может привести к сбою процесса или сделать что-то еще хуже. Недействительные дескрипторы на стороне ядра имеют те же проблемы (и требуют модификации ядра).

Короче говоря, нет нормального способа сделать это.

И я бы не назвал это угрозой безопасности. Если вредоносная программа использует это, чтобы что-то скрыть, вредоносная программа уже находится на вашем компьютере и может создавать и удалять файлы. Тогда у вас гораздо больше проблем, чем это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .