Время и дата в bash history

Bash History Pic Примечания
Делаем более информацивным вывод bash history

Время и дата в bash history

   Часто при обращении клиентов с какими-то проблемами на серверах возникает вопрос, а кто и какие команды выполнял в операционной системе перед тем, как произошел инцидент. Для этого мы используем время в Bash History. По умолчанию в bash список последних команд ограничен 500-ми строками и показывает в bash history только команды, которые выполнялись под пользователем, под которым в данный момент выполняется команда

Что такое Bash History

   Bash History — это журнал команд, вводимых пользователем в оболочке Bash. Он позволяет быстро повторить ранее введённые команды, сэкономив время на их повторный ввод. Однако, по умолчанию в history записываются только команды, без указания времени и даты их выполнения. Это может быть неудобно, если необходимо узнать, когда именно была выполнена конкретная команда.

Зачем нужна запись времени и даты

Добавление времени и даты в bash history может быть полезным в следующих случаях:

  • Отладка и анализ: Вы можете понять, в какой момент была выполнена команда.
  • Безопасность: Легче отслеживать действия пользователей, что важно для аудита.
  • Удобство: Если команда вызвала ошибку, вы сможете сопоставить её с другими событиями в системе.

Как включить запись времени и даты в bash history

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

Шаги настройки для Debian и Gentoo:

для Debian

Открываем для редактирования файл /etc/bash.bashrc

И добавляем в него следующий код:

Здесь:

  • %F — выводит дату в формате YYYY-MM-DD.
  • %T — выводит время в формате HH:MM:SS.

При этом надо не забыть установить утилиту pstree, что бы показывались пользователи выполнившие команды через sudo :

для Gentoo

Создаем файл /etc/bash/bashrc.d/20-history.bash

и добавляем в него следующий код :

Здесь:

  • %F — выводит дату в формате YYYY-MM-DD.
  • %T — выводит время в формате HH:MM:SS.

После этого нам нужно зайти заново и мы увидем совсем другой вывод информации по команде history

Полезные команды для работы с Bash History

  • Поиск по истории:
    Нажмите Ctrl+R и начните вводить искомую команду. Bash будет искать соответствия в истории.
  • Очистка истории:
    Для удаления всех записей из истории выполните:
  • Сохранение истории в файл вручную:

Вывод

   Добавление времени и даты в bash history — это простой, но эффективный способ сделать работу в терминале более удобной и безопасной. Настройка занимает всего несколько минут, но может значительно облегчить анализ выполненных команд в будущем. Используйте эти настройки, чтобы сделать ваш рабочий процесс более прозрачным и организованным.

Оцените автора
Серверное администрирование
Добавить комментарий