ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как определить, когда файл был создан в Linux

Как определить, когда файл был создан в Linux

Файлы играют ключевую роль для вашей операционной системы, поскольку они имеют решающее значение для бесперебойной работы и правильной работы. Знание даты создания файла системных файлов иногда важно по соображениям безопасности, поскольку оно сообщает вам, когда файл был фактически создан. Например, если кто-то внес изменения в какой-либо системный файл, то вы можете легко найти, что какие-то изменения были внесены. Вы можете найти время создания любого файла с помощью утилиты под названием «debugfs», но для использования этой команды вам нужно сначала найти номер инода файла, который является уникальным номером, присваиваемым каждому новому файлу, когда он был создан первым, поэтому для которые сначала создают тестовый файл, набрав.

$ touch testfile.txt

 

После этого найдите индекс файла, набрав:

$ stat testfile.txt

 

Или вы также можете ввести:

$ ls -i testfile.txt

 

После получения номера инода вам нужно ввести следующую команду, чтобы получить информацию о диске:

$ sudo fdisk -l

На приведенном выше изображении /dev — это файл устройства, который присутствует в корневом каталоге, тогда как sda5 — это жесткий диск, принадлежащий ОС Linux, как показано ниже, и вы можете получить информацию об этом конкретном каталоге, набрав.

$ sudo debugfs -R 'stat <719790>' /dev/sda5

 

На выводе «crtime» указывает время создания определенного файла, и наряду с этим вы также можете увидеть «ctime», «atime» и «mtime».

Таким образом, mtime покажет вам время, когда файл был изменен или модифицирован в последний раз. Например, вы могли что-то добавить в файл, удалить что-то из файла или изменить содержимое файла.

Следующим является atime , представляющий, когда в последний раз к файлу обращались или читали, например, вы могли открыть файл или использовать команду cat для чтения содержимого файла. Файл не был изменен или изменен каким-либо образом.

ctime не относится к изменениям содержимого файла. Скорее, это относится к моменту, когда информация о файле была обновлена, например, изменения в правах доступа к файлу.

Теперь давайте попробуем найти время создания любого системного файла, например «systemd», а для этого вам нужно сначала найти номер инода, набрав.

$ stat /etc/systemd

 

Как видите, номер инода для файла «systemd» — 131200, поэтому, чтобы найти время создания файла, вам нужно ввести .

$ sudo debugfs -R 'stat <131200>' /dev/sda5

 

Точно так же вы можете найти временную метку создания файла для нескольких файлов, написав одну команду:

$ stat /etc/systemd /etc/sysctl.d

 

Если вас интересует, когда созданные файлы были изменены в последний раз, вы можете сделать это, набрав:

$ ls -l

 

Если вы ищете конкретный файл, вам необходимо следовать общему синтаксису ниже:

$ ls -l file_name

 

Например:

$ ls -l testfile.txt

 

Точно так же вы можете увидеть это, когда отметка времени, когда файл был изменен, и его содержимое изменилось, набрав:

$ ls -lc testfile.txt

$ ls -lu testfile.txt

 

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

Вывод

В ОС Linux может быть несколько пользователей, и знание времени создания файла иногда важно, особенно для системных администраторов. Разные пользователи обладают разным опытом, поэтому для целей аудита необходимо знать, какой пользователь создает файл какого типа из соображений безопасности, поскольку он также может содержать вирусы.

Exit mobile version