我们正在建立一个环境,我们应该能够跟踪谁在服务器中做了什么。我们通常专注于“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 上找到等效项。