linux – 如何记录用户执行的每个命令?

前端之家收集整理的这篇文章主要介绍了linux – 如何记录用户执行的每个命令?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想监视我服务器中所有用户的活动.

即使用户从某个编辑器执行shell命令,比如我想要的vim
在日志文件中看到它们.

我已经检查了工具acct但它没有列出完整的命令.
(如果我错过了一些已经存在的选项,请纠正我).

我应该考虑哪个Linux工具来解决这个问题?

解决方法

将此行添加到负责登录的pam配置(在基于redhat的发行版上的system-auth)
session    required     pam_tty_audit.so enable=*

要了解所做的事情,您可以使用.

ausearch -ts <some_timestamp> -m tty -i

这会产生如下输出

type=TTY msg=audit(11/30/2011 15:38:39.178:12763684) : tty pid=32377 uid=root
 auid=matthew major=136 minor=2 comm=bash data=<up>,<ret>

唯一的缺点是可能有点难以阅读,但它比大多数提出的解决方案要好得多,因为从理论上讲它可以用来记录整个会话,但总的来说就是这样.

编辑:哦,你可以使用aureport生成一个更有帮助的列表.

# aureport --tty
...
12. 11/30/2011 15:50:54 12764042 501 ? 4294967295 bash "d",<^D>
13. 11/30/2011 15:52:30 12764112 501 ? 4294967295 bash "aureport --ty",<ret>
14. 11/30/2011 15:52:31 12764114 501 ? 4294967295 bash <up>,<left>,"t",<ret>

猜你在找的Linux相关文章