• # .

    Posté par . En réponse au message Tracer l'activité des users. Évalué à 3.

    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 ;)