Registrar el comando "fecha -s"

Registrar el comando "fecha -s"

Sé que el date -s <STRING>comando establece el tiempo descrito por la cadena STRING.

Lo que quiero es registrar el comando anterior cada vez que se use para configurar la hora en el archivo /tmp/log/user.log.

En mi distribución de Linux, el registro se realiza mediante syslog-ng. Ya tengo algunos registros ingresando /tmp/log/user.log.

Este es el contenido de /etc/syslog-ng/syslog-ng.conf en mi sistema para iniciar sesión/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); };

¿Qué debo hacer para que ese date -scomando también esté registrado?/tmp/log/user.log

Respuesta1

Los cambios de fecha no se registran de forma predeterminada, al menos no en Debian.

La opción más simple sería reemplazar /bin/date con un contenedor que imprima un mensaje de registro y loggerluego llame al ejecutable /bin/date real, por ejemplo

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

Aparte de eso, sé queseguridadle permite registrar cualquier cambio en la hora del sistema. Sería necesario compilar un kernel personalizado.

información relacionada