Une petite fonction à lancer au démarrage de chaque bash :
function dlog
{
typeset -i stat=$?
typeset x
x=$(fc -ln -0)
logger -p daemon.notice -t "bash $LOGNAME $$" Status $stat PWD $PWD \'${x# }\'
}
trap dlog DEBUG
#(note that there is a tab after the # in “${x# }”)
ca te donne un résultat semblable à ca dans ton syslog :
Jun 5 14:54:07 localhost bash root 20513: Status 0 PWD /root ' ls'
Jun 5 14:54:07 localhost bash root 20513: Status 0 PWD / ' pwd'
Jun 5 14:54:18 localhost bash root 20513: Status 0 PWD / ' cd /'
Inconvénient : il ne log pas la derniere commande (il ne log qu'une fois que tu lances une nouvelle commande) et le PWD correspond au chemin de la commande précédente.
Ainsi, ici, j'ai fait :
ls en étant dans /root
pwd en étant dans /root
cd /
ls <-- non loggé
Je l'avais trouvé un jour comme ca en me baladant sur internet, et j'ai la flemme de le lire pour comprendre comment il marche et l'améliorer ;)
# .
Posté par Toto . En réponse au message Tracer l'activité des users. Évalué à 3.
function dlog
{
typeset -i stat=$?
typeset x
x=$(fc -ln -0)
logger -p daemon.notice -t "bash $LOGNAME $$" Status $stat PWD $PWD \'${x# }\'
}
trap dlog DEBUG
#(note that there is a tab after the # in “${x# }”)
ca te donne un résultat semblable à ca dans ton syslog :
Jun 5 14:54:07 localhost bash root 20513: Status 0 PWD /root ' ls'
Jun 5 14:54:07 localhost bash root 20513: Status 0 PWD / ' pwd'
Jun 5 14:54:18 localhost bash root 20513: Status 0 PWD / ' cd /'
Inconvénient : il ne log pas la derniere commande (il ne log qu'une fois que tu lances une nouvelle commande) et le PWD correspond au chemin de la commande précédente.
Ainsi, ici, j'ai fait :
ls en étant dans /root
pwd en étant dans /root
cd /
ls <-- non loggé
Je l'avais trouvé un jour comme ca en me baladant sur internet, et j'ai la flemme de le lire pour comprendre comment il marche et l'améliorer ;)