【问题标题】:Watch for variable change注意变量变化
【发布时间】:2020-08-16 20:36:27
【问题描述】:

我正在尝试记录用户在我们服务器上运行的所有命令,然后将它们发送到一个集中式日志服务器。

为此,我创建了一个 rsyslog 记录器,它使用 history 命令将所有内容写入一个文件 (/var/log/commands.log)。然后我使用 filebeat 将日志发送到日志服务器。我的问题是有人能够unset HISTFILE 这将停止记录。我不太担心有人在做echo "" > .bash_history,因为我会立即将日志发送到另一台服务器。

它不应该是万无一失的,因为一切都可以被智取,但我仍然想改进它。是否可以为 HISTFILE 的更改创建审计监视?或者创建某种监听器,每当用户取消设置 HISTFILE 时,它会立即将其设置回来并提醒我?我应该创建一些每 5 秒设置一次 HISTFILE 的守护进程吗?

非常感谢!

顺便说一句,我知道可以使用 auditd 记录命令,但它记录了系统也运行的命令,这使一切变得混乱。

【问题讨论】:

  • 感谢回复,会不会阻止用户做unset HISTFILE
  • 我需要所有用户都不能unset HISTFILE,或者,能够知道何时有人运行unset HISTFILE
  • HISTFILE 是一个环境变量,它只是指向~.bash_history。如何为变量设置只读?
  • 已解决,谢谢!

标签: linux bash unix ssh centos


【解决方案1】:

解决了,

创建了一个文件:/etc/profile.d/histfile.sh

并在其中放入:

HISTFILE="${HOME:-~}/.bash_history"
readonly HISTFILE

【讨论】:

    猜你喜欢
    • 2020-08-27
    • 2016-04-28
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多