Script de Python para registrar el nombre, la fecha y el comando de cada comando que los usuarios hayan ingresado

Script de Python para registrar el nombre, la fecha y el comando de cada comando que los usuarios hayan ingresado

Quiero crear un script, posiblemente en Python, abierto a sugerencias, que registre cada comando escrito en el servidor. entonces registraría, usuario, marca de tiempo y comando.

es posible?

Respuesta1

1 - Podría haber diferentes enfoques para lograr esto en Python. Esteartículoo estoartículopuede ayudarle a registrar todos los comandos y luego podrá analizarlos usando Python.

2 - También puedes consultargrseguridadpara configurar el registro de Exec a nivel de kernel.

3 - Entonces puedes hacer algo como esto (código de análisis simple):

''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]

PD: Creo que el segundo es más fácil de seguir y muestra cómo analizarlo usando sed, lo cual también puedes hacerlo fácilmente en Python una vez que puedas registrar todos los comandos.

Respuesta2

Por favor verifique ~/.bash_history. Este registro se puede desactivar fácilmente.

información relacionada