Как мне узнать, кто был в системе в интервале? Я пробовал последний -t, но это не то, что я искал. Я хочу узнать, кто был в системе между 11 мая 10:00:00 и 15 мая 22:00:00, например.
решение1
Журналы/аудиты. Журналы — это самое лучшее.
Укажите, пожалуйста, вашу ОС.
В Linux вы можете использовать систему «аудита» для регистрации всех входов в систему. Например, это включено по умолчанию в Fedora. Записи появляются в системном журнале. Также есть специальный инструмент поиска ausearch
, который использует файл журнала. Я предполагаю, что журнал периодически архивируется (т. е. logrotate); по-видимому, инструмент ищет только в одном файле журнала. Входы в систему, вероятно, являются наиболее очевидным применением для этого; это упомянуто как первый пример в документации RHEL. Там говорится, что нужно использовать ausearch --message USER_LOGIN
. Диапазоны дат также полезны; соответствующие параметры — --start
и --end
.
В Debian вы можете установить аудит, но по умолчанию входы в систему записываются в /var/log/auth.log
. Я думаю, это в основном реализовано PAM.
По крайней мере, в Debian вам, вероятно, понадобится какой-то способ отличить его от шума, создаваемого заданиями cron (когда cron переключается на конкретного пользователя для выполнения задания).
Итак, как вы видите, моя первая строка максимально конкретна, не отвечая на вторую. Пожалуйста, помните, что "Unix & Linux" охватывает лес операционных систем, выпущенных за более чем 4 десятилетия, например, как в этом33-страничная диаграмма.