Я думаю, что lastlog не будет очень полезен, так как JH заявляет, что у него только есть одна учетная запись, с несколькими реальными пользователями, входящими в систему с различными ключами (Интересно почему; Вы потеряете ценную информацию об авторе в SVN тот путь).
Так или иначе, по крайней мере, в моих системах (Debian/Ubuntu), sshd не регистрируется, ключ раньше входил в систему по умолчанию, но кажется, что возможно вынудить это сделать так, при помощи "LogLevel, Подробного" или что-то к тому эффекту в sshd_config. Вы могли затем писать/использовать простой синтаксический анализатор для журналов и сохранить ключи, используемые, и определить на основе этого информацию, в которой Вы нуждаетесь.
Есть несколько способов сделать это: grep, sed, awk, ...
Вы можете получить номер строки соответствующего шаблона одним из следующих способов:
grep - n шаблон -m 1 вход | вырезать -d: -f1
awk '/ pattern / {print NR}' input | head -1
и выведите от этой строки до конца файла:
$ sed -n "$ (awk '/ 02 \ / 04 \ / 2002: 11: 30: 41 / {print NR}' ввод | голова -1), $ p "
ввод
или:
$ awk 'NR> = line_number' line_number = $ (grep -n 02/04/2002: 11: 30: 41
-м 1 вход | cut -d: -f1) input
Вы также можете использовать grep -A
( - after-context
) или tail
, ...
Если вы можете сделать с помощью внешнего вспомогательного инструмента попробуйте dateutils . Он поставляется с командой dgrep
, которая делает то, что вы хотите:
dgrep '>=2002-04-02' -i '%d/%m/%Y' < yourfile
=>
02/04/2002:11:30:41
03/04/2002:11:30:41
04/04/2002:11:30:41
05/04/2002:11:52:25
06/04/2002:11:52:25