Гид по технологиям

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

• 6 min read • Linux • Обновлено 23 Nov 2025
Как узнать, когда файлы были использованы в Linux
Как узнать, когда файлы были использованы в Linux

Кратко: используя stat, ls и find, вы быстро определите, когда файл был прочитан, изменён или когда изменились права/владелец. В статье есть готовая шпаргалка команд, метод расследования, чек-листы для админа и домашнего пользователя, а также план действий при подозрительном доступе.

/files/c8da0c08-6c40-4d80-821e-b8930cbad582.jpg

Описание изображения: иллюстрация терминала Linux с файловой системой и метаданными файлов

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

Зачем это важно

Знание времён доступа и изменений файла помогает в двух основных сценариях:

  • Безопасность: понять, был ли файл прочитан или изменён неавторизованно.
  • Операционная диагностика: найти, кто и когда работал с конфигурацией или документами.

Опытному администратору это даёт ключи к выяснению «кто», «когда» и «что» произошло. Домашнему пользователю — шанс отследить, куда могли попасть личные файлы.

Важно: времена, которые показывают утилиты файловой системы, зависят от типа файловой системы и настроек (например, atime может быть отключён или изменён параметрами монтирования). Если нужна надёжная регистрация событий — используйте системные аудиты (auditd) в дополнение к этим методам.

Быстрый взгляд на stat

Команда stat показывает подробную информацию о файле: размер, тип, UID/GID, а также три ключевые временные метки.

Пример:

stat /etc

Вы увидите примерно такие поля: Access (последний чтение — atime), Modify (изменение содержимого — mtime), Change (изменение метаданных: права/владелец — ctime). Пояснение в одну строку:

  • atime — обновляется при чтении файла;
  • mtime — обновляется при изменении содержимого;
  • ctime — обновляется при изменении метаданных файла (включая права или смену владельца).

stat-min

Описание изображения: вывод команды stat для каталога /etc с указанием Access, Modify и Change

Когда вы не помните имя файла — ls придёт на помощь

Если имя файла забыто, ls поможет просмотреть каталог и понять, какие файлы и когда изменялись.

Основные варианты ls:

ls -a         # показать все файлы, включая скрытые
ls -l         # длинный формат (права, владелец, размер, дата)
ls --time-style=FORMAT  # кастомный формат даты/времени

Пример формата даты (в точности зависит от версии coreutils):

ls --time-style=+%D  # отображает дату в формате MM/DD/YY

Комбинации:

ls -al --time-style=+%D    # показать все файлы в длинном формате с пользовательской датой
ls -alS --time-style=+%D   # то же, отсортировано по размеру (большие — вверху)

lsfile-min

Описание изображения: пример вывода ls с правами, владельцем, размером и датой файлов в домашней директории

Совет: если в каталоге тысячи файлов, лучше фильтровать по шаблону или использовать find (см. ниже), чтобы не теряться в списке.

Параметр времени в ls

Для просмотра конкретного типа времени используйте опцию –time:

ls -l --time=atime  # покажет время последнего чтения
ls -l --time=mtime  # покажет время последней модификации содержимого
ls -l --time=ctime  # покажет время последнего изменения метаданных

Коротко:

  • atime — чтение;
  • mtime — изменение содержимого;
  • ctime — изменение прав/владельца или перемещение в файловой системе.

Найти нужные файлы с помощью find

Команда find гораздо гибче для поиска по времени, типу и прочим атрибутам.

Пример: показать файлы в /etc, отсортированные по времени модификации в обратном порядке (свежие сверху):

find /etc -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r

Разбор формата printf:

  • %TY-%Tm-%Td — год-месяц-день;
  • %TT — полное время с секундами;
  • %p — путь к файлу;
  • ‘\n’ — перевод строки.

Команда удобна для быстрой оценки «что изменилось недавно» в каталоге и его подпапках.

find-min

Описание изображения: вывод команды find с датой и временем для каждого найденного файла

Альтернативные подходы и дополнения

  • auditd: системный демон аудита (включая ausearch/ausearch), фиксирует события на уровне ядра и даёт более надёжную историю доступа.
  • inotify / inotifywait: подходит для реального времени (мониторинг доступа/изменений) на запущенной системе.
  • версии файловых систем и точки монтирования: на некоторых системах atime отключён из соображений производительности (relatime, noatime).

Когда эти методы не подходят: если диск был отмонтирован и смонтирован на другой машине с правками времени, локальные метаданные могут быть изменены — в таких случаях потребуется сырой анализ диска и forensic-инструменты.

Мини-методология расследования файлового инцидента

  1. Скопируйте и зафиксируйте образ (если инцидент критичен).
  2. Выполните stat и ls для подозрительных файлов и каталога.
  3. Используйте find для поиска недавно изменённых/прочитанных файлов.
  4. Проверьте системные логи и auditd (если включён).
  5. Сопоставьте временные метки с логами процессов и пользователей.
  6. При подтверждении — выполните план реагирования (см. ниже).

Важно: по возможности работайте с копией данных, чтобы не повредить следы.

Чек-листы по ролям

Администратор сервера:

  • Проверить stat для конфигурационных файлов (/etc, /var/www и т.д.).
  • Проанализировать find по временным окнам (последние 24 часа, 7 дней).
  • Проверить auditd/rsyslog и сопоставить PID/пользователей.
  • При необходимости — заблокировать доступ и зафиксировать образ диска.

Домашний пользователь:

  • Выполнить ls -al в папках с документами/фото.
  • Найти большие и недавно изменённые файлы (ls -alS).
  • Поиск по маске имени (find ~/ -type f -name “*.jpg” -printf …).

План действий при подозрительном доступе

  1. Изоляция: ограничьте сетевой доступ к серверу при серьёзных подозрениях.
  2. Сбор данных: снимите вывод stat/ls/find, скопируйте логи (/var/log) и, если нужно, сделайте образ диска.
  3. Анализ: сверка временных меток с логами служб и учётными записями.
  4. Восстановление: откат из резервной копии или откат прав/владельца.
  5. Уроки: включите auditd или настройте более строгие политики доступа.

Шпаргалка команд (cheat sheet)

stat <путь>                           # подробные метаданные файла
ls -al --time-style=+%D               # список с пользовательской датой
ls -l --time=atime                    # показать время последнего чтения
find /path -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r
auditctl -w /etc/passwd -p rwa -k passwd_watch  # аудит изменений
ausearch -k passwd_watch              # поиск по ключу аудита
inotifywait -m /path                  # мониторинг событий в реальном времени

Критерии приёмки

  • Вы можете показать время последнего чтения, изменения и изменения метаданных для файла с помощью stat.
  • Вы можете найти файлы, изменённые за указанный период, с помощью find и отфильтровать их по времени.
  • В случае подозрительного доступа у вас есть план сбора данных и первичных мер реагирования.

Короткий словарь терминов

  • atime — время последнего чтения;
  • mtime — время последней модификации содержимого;
  • ctime — время последнего изменения метаданных;
  • auditd — демон аудита для системного логирования событий.

Когда это даёт неверные результаты

  • Если файловая система смонтирована с опцией noatime, время доступа не обновляется.
  • Если метки времени были намеренно изменены (touch, пересоздание файлов), на уровне metadata это может ввести в заблуждение.
  • При работе с резервными копиями и переносами между машинами временные метки могут отличаться.

Заключение

Стандартные утилиты Linux — stat, ls и find — дают быстрый и прозрачный способ выяснить, кто и когда обращался к файлам. Для серьёзных расследований их стоит дополнять системным аудитом (auditd) и инструментами мониторинга в реальном времени (inotify). Следуя чек-листам и плану действий, вы сможете систематично собирать данные и корректно реагировать на подозрительную активность.

Важно: никогда не работайте напрямую на компрометированной системе без копий — работайте с образами и логами.

Спасибо за чтение. Какие инструменты используете вы? Поделитесь в комментариях — это поможет другим выбирать баланс между удобством и контролем.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро