Как я могу найти файлы, в которых ctime и mtime различаются?
Иногда сайт взламывают, и злоумышленник скрывает новые или измененные файлы, изменяя дату файла (mtime). Обычно они устанавливают это на не последнюю дату.
Используя что-то вроде
find . -type f -ctime -3 -exec ls -ls {} \;
Я могу найти файлы, которые были изменены или добавлены за последние 3 дня, даже если mtime был изменен с помощью touch
или другие хитрости.
Проблема в том, что часто это приводит к длинному списку файлов, которые были изменены в результате обычной деятельности.
Моя идея такова: если я могу найти файлы, которые имеют "странный" ctime-mtime, мониторинг будет проще. По моему мнению, если я могу найти файлы с mtime> ctime или с очень разными mtime и ctime, это значительно упрощается.
Есть ли способ сделать это с find
?
0 ответов
Перечислить все файлы в текущем каталоге, где дата изменения (stat -c %Y) отличается от даты изменения (stat -c %Z)
stat -c %n#%Y#%Z * | awk -F# '{if ($2 != $3) print $1}'
и для тех, кто не хочет разбираться перед выполнением
find . -type f -exec stat -c %n#%Y#%Z {} \; | awk -F# '{if ($2 != $3) print $1}'