原标题:你可能不知道的 即时监控 Linux 使用者执行指令的三种方法
这里介绍如何在 Linux 系统上以管理者权限即时监控一般使用者所执行的任何指令。
Linux 的 root 管理者可对系统进行任何的管理与操作,如果想要即时监控特定使用者在主机上所执行的指令,可以使用以下介绍的几种方式。
Bash 历史指令
目前大部分的 Linux 默认的 shell 都是 bash,而 bash 会将使用者执行过的历史指令都储存在 .bash_history 这个档案中,所以只要查看这个档案,就可以知道使用者执行了那一些指令:
sudo cat/home/gtwang/.bash_history
不过由于 bash 并不会即时将新的指令写入 .bash_history,所以这个只能查看使用者过去执行过的指令。
w 指令
w 指令可以列出 Linux 系统上目前有哪些使用者登入,并且显示每个使用者正在执行的指令。
17:34:23up35min,2users,load average:0.49,0.62,0.77
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
gtwang tty7:016:5835:402:170.12s/sbin/upstart-
gtwang tty217:335.00s0.10s0.05s-bash
Sysdig 指令
Sydig 是一个功能强大的系统监控工具,可透过 Linux 系统核心取得即时的资讯,它的使用者监控功能可以显示每个使用者所执行的指令。
使用前要先安装,Ubuntu Linux 可用 apt 安装:
sudo apt-getinstall sysdig
使用 Sydig 即时监控使用者的任何动作:
sudo sysdig-c spy_users
sysdig 监控使用者
Sysdig 的输出包含使用者的 shell 行程 ID、执行的指令与执行时间,最重要的是这些讯息都是直接从 Linux 核心模组上取得的,所以非常即时,当使用者一执行新的指令时,我们马上就可以从 Sysdig 的输出报表中看到。
责任编辑: