Можно ли это знать? Например, когда они были удалены, каким пользователем и т. Д .; или любая информация относительно файлов полностью стерта
Если удалить, вы имеете в виду «перемещен в корзину», да и нет. Вы всегда будете знать, кто переместил файл в корзину, потому что он окажется в их корзине. Вы не будете знать, когда он был перемещен в корзину, потому что операции перемещения не обновляют временную метку файла.
Если удалить, вы имеете в виду rm
или «Пустой мусор», нет. Файловые системы ext2 / 3/4 не предназначены для удаления как функции, и поэтому не хранят метаинформацию, как вы ищете.
Конечно, если вы выполняете регулярное резервное копирование, вы можете экстраполировать временное окно для удаления.
Если вас интересует конкретный файл или каталог, можно использовать inotifywait
, но он не скажет вам, кто это сделал. Кроме того, уведомления не будут различать обычную запись в файл и заполнение файла мусором или его усечение.
Например:
$ inotifywait -q /var/tmp/junk & sleep 2; touch /var/tmp/junk
/var/tmp/junk OPEN
$ inotifywait -q /var/tmp/junk & sleep 2; cat /etc/hosts > /var/tmp/junk
/var/tmp/junk MODIFY
$ inotifywait -q /var/tmp/junk & sleep 2; cat /dev/null > /var/tmp/junk
/var/tmp/junk MODIFY
$ inotifywait -q /var/tmp/junk & sleep 2; rm /var/tmp/junk
/var/tmp/junk ATTRIB
Обратите внимание, что без опции --monitor
inotify даже команда rm
отображается только как действие ATTRIB
, поскольку rm
сначала проверяет разрешения для файла.
Возможно, это даже не близко к тому, что вы ищете, но это может быть полезно. Сравнение с резервными копиями, предложенными djeikyb , даст вам гораздо более подробную информацию.