如何在没有.bash_history文件的情况下保护Linux中所有用户的历史记录

如何在没有.bash_history文件的情况下保护Linux中所有用户的历史记录

我们正在建立一个环境,我们应该能够跟踪谁在服务器中做了什么。我们通常专注于“last”命令和 bash_history 文件,但它并不能完美地帮助我们。即执行命令的同一用户仍然可以从 bash_history 文件中删除条目。所以追踪它变得越来越困难。

有没有可能完全保护他们的命令历史记录的方法?

答案1

不要依赖.bash_history。启用会计(阅读accton(8)和朋友),然后仅通过 授予人们管理员权限sudo。发出sudo日志命令,并将日志发送到远程计算机。

答案2

有没有可能完全保护他们的命令历史记录的方法?

是的,用户有一种可能的方法来完全保护他们的命令历史记录。他们应该这样做

unset HISTFILE

并且它们完全受到保护,不会受到任何人监视其历史记录,因为它们将不再被写入光盘。

答案3

我遇到了一种情况,用户会编辑和/或删除他的 .bash_history 以掩盖他的踪迹。

我推出的一个简单解决方案是使用 chattr +a ,它只允许附加文件,而不能编辑或删除文件。此外,只有 root 用户可以设置或取消设置。

要部署到所有当前用户,请 su 到 root 并运行:

chattr +a /home/*/.bash_history

为了吸引所有新用户,我编写了一个简单的脚本,每 30 分钟运行一次此命令。

请记住,如果要删除用户,则必须先更改此目录,然后才能删除该用户的目录。这是通过运行以下命令来完成的:

chattr -a /home/username/.bash_history

事实证明它非常有效。现在,我只需要在 AIX 上找到等效项。

相关内容