Скрипт Python для регистрации имени, даты и команды каждой команды, введенной пользователем

Скрипт Python для регистрации имени, даты и команды каждой команды, введенной пользователем

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

Это возможно?

решение1

1 - В Python могут быть разные подходы к достижению этой цели. Этостатьяили этостатьяможет помочь вам зарегистрировать все команды, а затем вы сможете выполнить анализ с помощью Python.

2 - Вы также можете проверитьGrsecurityдля настройки ведения журнала Exec на уровне ядра.

3 - Затем вы можете сделать что-то вроде этого (простой код синтаксического анализа):

''A very simple log parser for ssh connections to display IP address and their User name'''

SSH_LOG_FILE_NAME = '/var/log/secure'

for line in open(SSH_LOG_FILE_NAME):
  if "sshd" in line:
    if "Accepted" in line:
      print "Connection is accepted from "
      print "User: ", line.split()[8], "IP: ", line.split()[10]
    if "session closed" in line:
      print "Connection is closed from "
      print "User: ", line.split()[10]

P.S. Я думаю, что второй вариант более прост для понимания и показывает, как проанализировать его с помощью sed, что вы также можете легко сделать в Python, если сможете регистрировать все команды.

решение2

Пожалуйста, проверьте ~/.bash_history. Это ведение журнала можно легко отключить.

Связанный контент