Registrar o comando "data -s"

Registrar o comando "data -s"

Eu sei que o date -s <STRING>comando define o tempo descrito pela string STRING.

O que eu quero é registrar o comando acima sempre que ele for usado para definir a hora no arquivo /tmp/log/user.log.

Na minha distribuição Linux, o log é feito por syslog-ng. Já tenho alguns logs entrando em /tmp/log/user.log.

Este é o conteúdo de /etc/syslog-ng/syslog-ng.conf no meu sistema para fazer login/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); };

O que devo fazer para que date -so comando também esteja logado/tmp/log/user.log

Responder1

As alterações de data não são registradas por padrão, pelo menos não no Debian.

A opção mais simples seria substituir /bin/date por um wrapper que imprima uma mensagem de log usando e loggerdepois chame o executável /bin/date real, por exemplo

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

Fora isso, eu sei dissosegurançapermite que você registre quaisquer alterações na hora do sistema. Seria necessário compilar um kernel personalizado.

informação relacionada