Comando “date -s” do log

1

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

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

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

Este é o conteúdo do /etc/syslog-ng/syslog-ng.conf no meu sistema para fazer login em /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 o comando date -s também esteja conectado em /tmp/log/user.log

    
por LinuxPenseur 21.12.2010 / 09:10

1 resposta

1

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 logger , em seguida, chama o executável real / bin / date, 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

Além disso, eu sei que o grsecurity permite que você registre qualquer alteração na hora do sistema. Isso exigiria a compilação de um kernel personalizado.

    
por 21.12.2010 / 10:39