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]

PS,我认为第二个更容易理解,并展示了如何使用 sed 来解析它,一旦你能够记录所有命令,你也可以在 Python 中轻松地做到这一点。

答案2

请检查 ~/.bash_history。可以轻松禁用此日志记录。

相关内容