Agradeço aos meus amigos serverfault
pelas respostas.
Acho que encontrei uma resposta para minha pergunta com toda sua ajuda. Mas todos vocês podem me ajudar se houver algum erro associado ou qualquer melhoria a ser feita? Aqui vou eu.
Estas são as coisas que eu fiz.
i). criou um script, datewrapper.sh
em / etc com o seguinte código
#! /bin/bash # wrapper script for the date command. # whenever the date -s command is issued, it will be logged. # executing the date command first with parameter list if any date $@ # check whether the date command executed successfully if [ "$?" == "0" ] ; then for param in $@ ; do # if "-s" option is used, log it if [ "$param" == "-s" ] ; then # user.notice logs the message to /tmp/log/user.log # as per the commands in /etc/syslog-ng/syslog-ng.conf logger -p user.notice "New date set" break fi done fi exit 0
ii). chmod a + x /etc/datewrapper.sh; alias date = '/ etc / datewrapper.sh'
iii). data
Tue Dec 21 21:51:01 UTC 2010
iv). data -s "21:53:05"
Tue Dec 21 21:53:05 UTC 2010
v). Eu verifiquei o /tmp/log/user.log. Mostra a mensagem
Dec 21 21:53:05 localhost root: New date set
Portanto, o resultado é que sempre que o usuário der o comando date
, meu script será executado e sempre que ele emitir o comando com a opção -s
, ele fará o login em /tmp/log/user.log