Команда журнала "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позволяет регистрировать любые изменения системного времени. Это потребует компиляции собственного ядра.

Связанный контент