Celma dit, il est impossible, a ma connaissance, de pouvoir tracer exactement toutes les commandes passées par un utilisateur (a moins qu'il existe quelque part un shell qui permette de faire celà ...).
Merci pour cette rapide réponse.
Par contre, je ne sait pas comment mettre en peuvre l'accounting. J'ai essayé de lancer accton en le renvoyant vers /var/account/pacct mais il ne se passe rien.
Qu'ai-je oublié?
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 ;)
Tout d'abord, si tes utilisateurs utilisent bash, à la racine de leur compte se trouve le fichier ".bash_history" qui retrace toutes les commandes faites par un utilisateur (enfin y'a certainement tout de même une limite en nombre, mais qui doit être assez haute), l'inconvénient c'est que rien n'empèche l'utilisateur de vider ce fichier.
sinon tu peux regarder du côté des outils psacct, dont voici une petite doc rapide que je viens de trouver (en anglais) : http://www.cyberciti.biz/tips/howto-log-user-activity-using-(...)
# regarde du coté de l'accounting
Posté par totof2000 . Évalué à 1.
[^] # Re: regarde du coté de l'accounting
Posté par ChrisParis19 . Évalué à 1.
Par contre, je ne sait pas comment mettre en peuvre l'accounting. J'ai essayé de lancer accton en le renvoyant vers /var/account/pacct mais il ne se passe rien.
Qu'ai-je oublié?
# .
Posté par Toto . É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 ;)
[^] # Re: Tracer l'activité des users
Posté par ChrisParis19 . Évalué à 1.
C'est une bonne base de départ.
# psacct
Posté par Gabriel MAGNIEZ (site web personnel) . Évalué à 1.
sinon tu peux regarder du côté des outils psacct, dont voici une petite doc rapide que je viens de trouver (en anglais) :
http://www.cyberciti.biz/tips/howto-log-user-activity-using-(...)
# Snoopy
Posté par Xarli (site web personnel) . Évalué à 2.
http://sourceforge.net/projects/snoopylogger/
Ca permet de tout tracer via Syslog, pour un utilisateur ou pour un soft (très pratique).
Attention, c'est super verbeux, donc à utiliser avec précaution.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.