Ищу программу для отслеживания пользователей из CLI. Может быть, в настоящее время есть какое-то решение, которое анализирует файлы журналов и файлы .bash_history, чтобы распечатать сводку того, что они сделали, когда они вошли в журнал и т.д.?
Я думаю, что вы здесь ищете функциональность аудита, которая является частью Linux. Совершенно неприятно заниматься настройкой, но это позволит вам отслеживать все, что происходит, на выбранном вами уровне. Все выполняемые команды и их аргументы, все файлы, в которые записываются и т. Д. Если задействовано ядро, вы можете перехватить вызов.
Краткое руководство по этому поводу см. http://www.novell.com/documentation/sled10/pdfdoc/auditqs_sp2/auditqs_sp2.pdf
редактировать Я потратил несколько минут, играя с auditd, и придумал для вас этот рецепт:
auditctl -a entry,always -F arch=`arch` -F euid!=0 -S execve
Это будет регистрировать каждое выполнение программы в журнале аудита (при условии, что auditd запущен и настроен). Он не будет регистрировать что-то вроде установки "FOO = bar" в качестве переменной в bash, но он будет регистрировать vim $FOO
показывая, что vim использовался для открытия bar
. Это также отловит все, что запускается в сценарии, вызываемом vim и т. Д. Я добавил фильтр, чтобы исключить все, что запускается root, потому что существует ряд автоматизированных процессов, которые быстро загромождают вещи в моей системе. Вы можете установить его на uid / euid> = 1000 (обычная отправная точка для пользователей, а не для системных учетных записей).
Достойная документация представляла собой сочетание http://www.novell.com/documentation/sled10/pdfdoc/audit_sp2/audit_sp2.pdf и man auditctl
.
Я вижу 3 разных способа делать то, что вы хотите:
Лично я предпочитаю использовать процессный учет для мониторинга такого рода деятельности. Он также наиболее похож на то, что вы ищете (сводка команд, сводка входа в систему ...).