一些异常用户试图移去系统上的所有活动记录(比如 ~/.bash_history), 不过我们可以使用专门的工具来监视所有用户执行的命令. 推荐你使用进程记帐来记录用户的活动, 你可以通过进程记帐查看每一个用户执行的命令, 包括CPU时间和内存占用. psacct程序提供了几个进程活动监视工具: ac, lastcomm, accton和sa. .ac命令显示用户连接时间的统计. .lastcomm命令显示系统执行的命令. .accton命令用于打开或关闭进程记帐功能. .sa命令统计系统进程记帐的情况. 1). 安装psacct或acct软件包 如果你使用RHEL, 使用up2date命令: # up2date psacct 如果你使用CentOS/Fedora Core Linux, 使用yum命令: $ sudo apt-get install acct 或 # apt-get install acct 2). 启动psacct/acct服务 在Ubuntu/Debian Linux系统上, pacct可以自动启动.(安装包会在系统上创建一个/var/account/pacct文件). 但是在Red Hat/Fedora Core/Cent OS, 你需要手动启动psacct服务. 敲入下面两个命令创建/var/account/pacct文件和启动pacct服务: # chkconfig psacct on # /etc/init.d/psacct start 如果你使用SUSE Linux, 服务的名称为acct, 敲入下面的命令: # chkconfig acct on # /etc/init.d/acct start 现在我们可以了解如何利用这些工具来监视用户的命令和时间. 3). 显示用户连线时间的统计信息 命令可以根据登陆数/退出数在屏幕上打印出用户的连线时间(单位为小时). 总计时间也可以打印出来. 如果你执行没有任何参数的ac命令, 屏幕将会显示总计的连线时间: $ ac 输出: total 95.08 显示每一天的连线统计时间: $ ac -d 输出: Nov 1 total 8.65 Nov 2 total 5.70 Nov 3 total 13.43 Nov 4 total 6.24 Nov 5 total 10.70 Nov 6 total 6.70 Nov 7 total 10.30 ….. .. … Nov 12 total 3.42 Nov 13 total 4.55 Today total 0.52 显示每一个用户的总计连线时间和所有用户总计连线时间: $ ac -p 输出: vivek 87.49 root 7.63 total 95.11 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
Ubuntu 9.10 Panel BugLinux ps命令的状态说明相关资讯 Linux知识
- 时光总是太匆匆!Linux已经诞生23 (08/29/2014 14:12:03)
- Linux虚拟文件系统之文件打开(sys (02/14/2012 11:41:54)
- 2012 年 Linux 峰会时间表 (02/14/2012 06:47:27)
| - 报告称当前 Linux 人才抢手 高薪也 (02/15/2012 06:35:56)
- 解析企业为何选择Linux及其特别之 (02/14/2012 08:17:59)
- Linux禁用字符闪烁的方法 (11/02/2011 10:28:25)
|
本文评论 查看全部评论 (0)