如何实时监控系统用户执行的Linux命令
您是 Linux 系统管理员,想要实时监控所有系统用户的交互活动(他们执行的 Linux 命令)。在这篇简短的 Linux 系统安全指南中,我们将解释如何实时查看系统用户执行的所有 Linux shell 命令。
另请阅读:如何使用 psacct 或 acct 工具监控用户活动
如果您的系统有 bash(最常用的 shell),那么普通系统用户执行的所有命令都将存储在 .bash_history
隐藏文件中,该文件保存在每个用户的主目录。用户可以使用history命令查看该文件的内容。
要查看用户 aaronkilik 的 .bash_history
文件,请输入:
cat /home/aaronkilik/.bash_history
从上面的屏幕截图来看,未显示执行命令时的日期和时间。这是大多数(如果不是全部)Linux 发行版上的默认设置。
您可以按照本指南为 bash_history 文件中的每个命令设置日期和时间。
在 Linux 中使用 Sysdig 实时监控用户活动
要了解用户在系统上执行的操作,您可以使用 w
命令,如下所示。
w
但要实时查看通过终端或 SSH 登录的其他用户运行的 shell 命令,您可以使用 Linux 中的 Sysdig 工具。
Sydig是一款开源、跨平台、强大且灵活的Linux系统监控、分析和故障排除工具。它可用于系统探索和调试。
安装 sysdig 后,通过运行以下命令,使用 spy_users
chisel 来监视用户。
sysdig -c spy_users
上面的命令显示用户交互式启动的每个命令以及用户访问的每个目录。
就这样,您还可以查看以下相关文章:
- 25 个强化 Linux 服务器安全的技巧
- Lynis – Linux 系统的安全审核和扫描工具
- 适用于 Linux 系统的 10 个有用的开源安全防火墙
- Linux 中 Nmap(网络安全扫描器)实用指南
在本系统安全指南中,我们描述了如何查看用户的 bash 历史文件、显示登录的用户及其正在执行的操作,并且还解释了如何实时查看或监控系统用户执行的所有命令。
如果您想分享任何其他方法或提出问题,请通过下面的评论部分进行。