Вопрос: Как извлечь историю входа?


Мне нужно знать историю входа для конкретного пользователя (то есть время входа и выхода из системы) Как извлечь эту историю для определенного диапазона дат в Linux?


76
2017-08-28 08:00


Источник




Ответы:


Вы можете попробовать last команда:

last john 

Он распечатывает историю входа / выхода пользователя john. Принимая во внимание, что

last

распечатывает историю входа / выхода для всех пользователей.


109
2017-08-28 08:11



Это возвращает только значения для текущего месяца в большинстве дистрибутивов Linux. - ewwhite


Если вам нужно вернуться в историю более чем на один месяц, вы можете прочитать /var/log/wtmp.1 файл с last команда.

last -f wtmp.1 john покажет историю входа в систему в прошлом месяце для пользователя john,

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

last john | grep -E 'Aug (2[0-9]|30) ' чтобы показать 20-30 августа. Или что-то вроде:

last -f /var/log/wtmp.1 john | grep -E 'Jul (1[0-9]|2[0-9]|30) ' приобрести 10-30 июля для пользователя john,


38
2017-08-28 08:54





Как извлечь журнал регистрации для определенного диапазона дат в Linux?

Пример для перечисления всех пользователей с 25 по 28 августа:

last | while read line
do
    date=`date -d "$(echo $line | awk '{ print $5" "$6" "$7 }')" +%s`
    [[ $date -ge `date -d "Aug 25 00:00" +%s` && $date -le `date -d "Aug 28 00:00" +%s` ]] && echo $line
done
  • awk '{ print $5" "$6" "$7 }' для извлечения даты в соответствующем столбце из last вывод
  • +%s конвертировать datetime в эпоху Epoch
  • -ge стоять больше или равно
  • -le стоять меньше или равно

Вы также можете сделать это для конкретного пользователя с помощью last <username>,


17
2017-08-28 08:50



Это очень уродливое выражение. Не будет более чистым, чем last вывод довольно читабельны? - ewwhite
Ты можешь grep от «15 августа 09:00» до «25 августа 21:00»? - quanta
ОП не запрашивал диапазоны времени. - ewwhite
@ewwhite выражение выглядит красивым для меня, если вам не нравится внешний вид синтаксиса bash, это может быть не сайт для вас. - ekerner
@ekerner Ты прав. Я пойду куда-нибудь еще;) - ewwhite