将 shell 中使用的命令保存到文件中

将 shell 中使用的命令保存到文件中

有人要连接到我的服务器并在终端中输入一些命令。但是完成工作后,他删除了bash_history

我正在寻找一种方法将输入终端的每个命令保存在一个文件中,以便如果bash_history删除,这些命令将自动保存在另一个文件中。

答案1

正确的答案是启用auditd类似规则-a exit,always -F arch=b64 -F euid=0 -S execve。这不会捕获所有内容,但差不多了。您还必须密切监视审计日志文件,因为它们会快速增长。

您可能可以通过设置HISTFILE记录到只写的目录来接近目标。HISTFILE如果用户知道发生了什么,则可以重新定义。您需要调查在目录上设置 ACL 以使其变为只读。这是可能的,我已经这样做了,但我不会尝试重新创建setfacl必要的内容。

最终答案是,如果您不信任用户,他们现在应该有权访问您的服务器。如果没有太多信任,他们绝对不应该拥有特权访问权限。

相关内容