4). 查找用户过去执行的命令
你可以使用lastcomm命令打印出用户过去执行的命令。 你也可以通过用户名, tty名或命令名来搜索以往执行的命令。
比如显示vivek用户过去执行的命令:
$ lastcomm vivek
输出:
[code] userhelper S X vivek pts/0 0.00 secs Mon Nov 13 23:58 userhelper S vivek pts/0 0.00 secs Mon Nov 13 23:45 rpmq vivek pts/0 0.01 secs Mon Nov 13 23:45 rpmq vivek pts/0 0.00 secs Mon Nov 13 23:45 rpmq vivek pts/0 0.01 secs Mon Nov 13 23:45 gcc vivek pts/0 0.00 secs Mon Nov 13 23:45 which vivek pts/0 0.00 secs Mon Nov 13 23:44 bash F vivek pts/0 0.00 secs Mon Nov 13 23:44 ls vivek pts/0 0.00 secs Mon Nov 13 23:43 rm vivek pts/0 0.00 secs Mon Nov 13 23:43 vi vivek pts/0 0.00 secs Mon Nov 13 23:43 ping S vivek pts/0 0.00 secs Mon Nov 13 23:42 ping S vivek pts/0 0.00 secs Mon Nov 13 23:42 ping S vivek pts/0 0.00 secs Mon Nov 13 23:42 cat vivek pts/0 0.00 secs Mon Nov 13 23:42 netstat vivek pts/0 0.07 secs Mon Nov 13 23:42 su S vivek pts/0 0.00 secs Mon Nov 13 23:38 [/code] |
每一行信息都在屏幕上打印出来,我们以第一行输出项为例:
userhelper S X vivek pts/0 0.00 secs Mon Nov 13 23:58
分析:
. userhelper 是进程的命令名
. S和X是标志信息, 由系统记帐程序管理. 每一个标志的含义是:
.. S — 命令由超级用户执行
.. F — 命令由fork产生, 但是没有exec(执行)
.. D — 命令终止并创建一个core文件。
.. X — 命令被SIGTERM信号终止。
. vivek是执行命令的用户名
. prts/0 终端名
. 0.00 secs — 进程退出时间
你可以通过执行下面的命令来搜索进程记帐日志:
$ lastcomm rm
$ lastcomm passwd
输出:
[code] rm S root pts/0 0.00 secs Tue Nov 14 00:39 rm S root pts/0 0.00 secs Tue Nov 14 00:39 rm S root pts/0 0.00 secs Tue Nov 14 00:38 rm S root pts/0 0.00 secs Tue Nov 14 00:38 rm S root pts/0 0.00 secs Tue Nov 14 00:36 rm S root pts/0 0.00 secs Tue Nov 14 00:36 rm S root pts/0 0.00 secs Tue Nov 14 00:35 rm S root pts/0 0.00 secs Tue Nov 14 00:35 rm vivek pts/0 0.00 secs Tue Nov 14 00:30 rm vivek pts/1 0.00 secs Tue Nov 14 00:30 rm vivek pts/1 0.00 secs Tue Nov 14 00:29 rm vivek pts/1 0.00 secs Tue Nov 14 00:29 [/code] |
你可以通过终端名pts/1作为关键字来搜索进程记帐日志:
$ lastcomm pts/1