Я ищу способ проверить, когда была создана определенная папка, а также определенный файл. Является ли это возможным?
Моя система использует файловую систему ext3.
Большое спасибо!
Большинство Unix-подобных операционных систем не хранят время создания файла или каталогов. Вы можете получить их время модификации, время последнего доступа и время изменения inode с помощью команд ls
и stat
.
Но есть некоторые сторонние инструменты, которые мы можем видеть в других ответах. И, похоже, у FreeBSD есть такая возможность. См. Комментарий @Graham Perrin, который идет к , который отвечает .
Вы можете использовать сторонний инструмент для выполнения этой работы: я думаю о OSSEC , который способен контролировать содержимое каталога и изменение файла.
Предполагая, что вы используете ext4, вы можете видеть, когда был создан файл. Файловая система ext4 хранит это как crtime
.
Вы можете получить эту информацию с помощью команды debugfs .
Вот скрипт , который вы можете запустить с привилегиями суперпользователя, чтобы напечатать crtime файла. (Обратите внимание, что он требует ruby и содержит ошибку в первой строке: #!/usr/bin/env ruby
)
Грубым методом «старой школы» для ext3 является метод «Tripwire» (я назвал его из коварного продукта Tripwire): создайте список файлов, затем повторите его, запустите diff. Чем чаще вы создаете и просматриваете свой список, тем ближе вы будете знать, когда каталоги были созданы и удалены.
Два способа создать такой список - использовать: ls
или использовать lsof
. Вам нужно только сохранить различия. Если вы знаете, что пользовательский или конкретный родительский каталог не слишком велик, вы можете запускать его каждую секунду или чаще (поскольку sleep занимает десятичное число) в цикле.