加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:52:38 所属栏目:Linux 来源:网络整理
导读:我想监视我服务器中所有用户的活动. 即使用户从某个编辑器执行shell命令,比如我想要的vim 在日志文件中看到它们. 我已经检查了工具acct但它没有列出完整的命令. (如果我错过了一些已经存在的选项,请纠正我). 我应该考虑哪个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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读