记录“date -s”命令

记录“date -s”命令

我知道该date -s <STRING>命令设置了字符串描述的时间STRING

我想要的是每当使用上述命令设置时间时将其记录到文件中/tmp/log/user.log

在我的 Linux 发行版中,日志记录由 完成syslog-ng。我已经有一些日志进入了/tmp/log/user.log

这是我的系统中用于登录的 /etc/syslog-ng/syslog-ng.conf 的内容/tmp/log/user.log

destination d_notice  { file("/tmp/log/user.log");};

filter f_filter10   { level(notice) and not facility(mail,authpriv,cron); };

log { source(s_sys); filter(f_filter10); destination(d_notice); };

我应该怎么做才能让该date -s命令也登录到/tmp/log/user.log

答案1

默认情况下不记录日期更改,至少在 Debian 上不记录。

最简单的选择是将 /bin/date 替换为一个包装器,该包装器使用打印日志消息logger然后调用真正的 /bin/date 可执行文件,例如

mv /bin/date /bin/date.real
cat << 'EOF' >/bin/date
#!/bin/bash
logger -p user.notice "date run by $UID: $*"
/bin/date.real
EOF
chmod +x /bin/date

除此之外,我知道grsecurity允许您记录系统时间的任何更改。这需要编译自定义内核。

相关内容