Vous devez configurer auditdpour enregistrer les execveévénements. Exemple sur RHEL5:
[root@ditirlns01 ~]# auditctl -a always,entry -S execve
WARNING - 32/64 bit syscall mismatch, you should specify an arch
[root@ditirlns01 ~]#
J'ignore l'avertissement de voûte et il ne semble pas avoir d'importance, mais vous pouvez l'utiliser -F arch=b64ou -F arch=b32le régler si vous le souhaitez.
Le résultat de ce qui précède est:
[root@ditirlns01 ~]# ls /tmp/whatever
ls: /tmp/whatever: No such file or directory
[root@ditirlns01 ~]# grep whatever /var/log/audit/audit.log
type=EXECVE msg=audit(1386797915.232:5527206): argc=3 a0="ls" a1="--color=tty" a2="/tmp/whatever"
type=EXECVE msg=audit(1386797927.133:5527241): argc=3 a0="grep" a1="whatever" a2="/var/log/audit/audit.log"
[root@ditirlns01 ~]#
C'est évidemment rapide et sale, mais c'est la base de la façon dont vous le faites. Ce que vous devez faire exactement dépend probablement beaucoup de ce que vous essayez de faire exactement. Vous pouvez réduire le flux d'audit à l'aide de divers filtres dans la auditctlcommande, mais je ne connais aucune de ces informations, donc je ne sais pas quoi inclure. Si vous avez besoin de quelque chose de plus spécifique, je vous suggère de consulter la page de manuel ou de poster un commentaire sur cette réponse et je la mettrai à jour davantage.
J'espère que cela vous poussera dans la bonne direction.
ÉDITER:
Puisque votre question implique de regarder un utilisateur particulier, je peux vous montrer que:
[root@ditirlns01 ~]# auditctl -a always,entry -S execve -F euid=16777216
WARNING - 32/64 bit syscall mismatch, you should specify an arch
Identique à ce qui précède, mais uniquement execvepar une personne exécutant avec l'ID utilisateur effectif de 16777216sera enregistré. Si vous devez spécifier la loginuidvaleur de l'utilisateur (sous lequel il s'est initialement connecté au système), vous devez filtrer à la auidplace:
[root@ditirlns01 ~]# auditctl -a always,entry -S execve -F auid=16777216
WARNING - 32/64 bit syscall mismatch, you should specify an arch
Les filtres AUID / loginuid seraient utiles par exemple si l'utilisateur fera un suou sudopour rooter. Dans cette situation, il y aura beaucoup de choses en cours d'exécution en tant que root, mais vous ne vous souciez que des choses qui ont été lancées par l'utilisateur en question. auditctlvous permet également d'empiler des filtres afin que vous puissiez filtrer par les deux euidet auid:
[root@ditirlns01 ~]# auditctl -a always,entry -S execve -F auid=16777216 -F euid=0
WARNING - 32/64 bit syscall mismatch, you should specify an arch
[root@ditirlns01 ~]# ls /tmp/nashly -ltar
ls: /tmp/nashly: No such file or directory
[root@ditirlns01 ~]# grep nashly /var/log/audit/audit.log
type=EXECVE msg=audit(1386798635.199:5529285): argc=4 a0="ls" a1="--color=tty" a2="/tmp/nashly" a3="-ltar"
type=EXECVE msg=audit(1386798646.048:5529286): argc=3 a0="grep" a1="nashly" a2="/var/log/audit/audit.log"