我想创建一个脚本,可能是用 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。可以轻松禁用此日志记录。