我正在寻求有关如何将已执行的 Linux 命令记录到指定日志文件中并包含具体详细信息的指导。我的目标是创建一种机制(可能是守护程序或后台脚本),将用户执行的命令记录在指定的日志文件中。
我已经探索了auditd的使用,但它提供了比我需要的更详细的信息。具体来说,我有兴趣捕获有限的详细信息,例如用户名、时间戳和执行的命令。
任何人都可以提供有关如何在 Linux 环境中实现此日志记录功能的见解、建议或代码示例吗?
答案1
~/.bash_history
已经为您记录了所有命令。您的程序可以等到 发生变化bash_history
,同时也记录时间。当发生更改时,抓住它,并将其与更改发生的时间一起放入不同的日志文件中。您还可以使用whoami
命令或变量放置用户名$USER
。