使用 psacct 或 acct 工具监控 Linux 用户活动使用 psacct 或 acct 工具监控 Linux 用户活动使用 psacct 或 acct 工具监控 Linux 用户活动使用 psacct 或 acct 工具监控 Linux 用户活动
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

使用 psacct 或 acct 工具监控 Linux 用户活动

发表 admin at 2025年2月28日
类别
  • 未分类
标签

psacct 或 acct 都是用于监控 Linux 系统上用户活动的开源实用程序。这些实用程序在后台运行,并跟踪每个用户在系统上的活动以及正在消耗的资源。

我个人在我们公司使用过这些工具,我们有一个开发团队,我们的开发人员不断在服务器上工作。因此,这些是关注它们的最佳实用程序。

这些程序提供了一种很好的方法来监视用户正在做什么、正在执行什么命令、消耗了多少资源以及用户在系统上活动的时间。另一个有用的功能是,它提供了 Apache、MySQL、FTP、SSH 等服务消耗的总资源。

我认为对于每个想要跟踪服务器/系统上的用户活动的 Linux/Unix 系统管理员来说,这是最伟大且最需要的实用程序之一。

psacct 或 acct 包提供了多种用于监视进程活动的功能。

  • ac 命令打印用户登录/注销(连接时间)的统计数据(以小时为单位)。
  • lastcomm命令打印用户之前执行过的命令的信息。
  • accton命令用于打开/关闭计费过程。
  • sa 命令总结了先前执行的命令的信息。
  • last 和 lastb 命令显示最后登录用户的列表。

在 Linux 中安装 psacct 或 acct 软件包

psacct 和 acct 都是类似的软件包,它们之间没有太大区别,但 psacct 软件包仅适用于基于 rpm 的发行版,例如例如 RHEL、CentOS 和 Fedora,而 acct 软件包可用于 Ubuntu 等发行版、Debian 和 Linux Mint。

要在基于 rpm 的发行版下安装 psacct 软件包,请发出以下 yum 命令。

yum install psacct

在 Ubuntu/Debian/Linux Mint 下使用 apt 命令安装 acct 软件包。

sudo apt install acct

在其他 Linux 发行版上,您可以如图所示安装它。

sudo apk add psacct          [On Alpine Linux]
sudo pacman -S acct          [On Arch Linux]
sudo zypper install acct     [On OpenSUSE]    
启动 psacct 或 acct 服务

默认情况下,psacct 服务处于禁用模式,您需要在基于 RHEL 的发行版下手动启动它。使用以下命令检查服务的状态。

sudo systemctl status psacct

您会看到状态显示为已禁用,因此让我们使用以下命令手动启动它,这将创建一个 /var/account/pacct 文件。

sudo systemctl start psacct
sudo systemctl enable psacct
sudo systemctl status psacct

在Ubuntu、Debian、和Mint下服务会自动启动,不需要再次启动。

显示用户连接时间统计

不指定任何参数的 ac 命令将根据当前 wtmp 文件中的用户登录/注销显示连接时间的总统计信息(以小时为单位)。

ac

total     11299.15

显示 Linux 用户每日统计信息

使用命令“ac -d”将打印出每天的总登录时间(以小时为单位)。

ac -d

Jun 25	total        0.19
Oct 13	total       14.45
Oct 27	total      672.00
Oct 28	total       15.82
Nov  3	total        4.29
Nov  5	total       10.13
Dec  7	total       14.04
Dec 10	total       23.60
Dec 27	total      808.93
Jan  3	total       12.31
Mar  3	total     1438.67
Jul 22	total     6767.81
Today	total     1517.09

显示所有Linux用户的总登录时间

使用命令“ac -p”将打印每个 Linux 用户的总登录时间(以小时为单位)。

ac -p

	rockylinux                         425.61
	tecmint                            702.29
	root                             10171.54
	total    11299.44

显示Linux用户登录时间

要获取用户“howtoing”的总登录统计时间(以小时为单位),请使用命令as。

ac tecmint
 total      702.29

显示用户每日登录时间

以下命令将打印用户“howtoing”每天的总登录时间(以小时为单位)。

ac -d tecmint
Oct 11  total        8.01
Oct 12  total       24.00
Oct 15  total       70.50
Oct 16  total       23.57
Oct 17  total       24.00
Oct 18  total       18.70
Nov 20  total        0.18

打印用户执行的所有Linux命令

“sa”命令用于打印用户执行的命令的摘要。

sa
       2       9.86re       0.00cp     2466k   sshd*
       8       1.05re       0.00cp     1064k   man
       2      10.08re       0.00cp     2562k   sshd
      12       0.00re       0.00cp     1298k   psacct
       2       0.00re       0.00cp     1575k   troff
      14       0.00re       0.00cp      503k   ac
      10       0.00re       0.00cp     1264k   psacct*
      10       0.00re       0.00cp      466k   consoletype
       9       0.00re       0.00cp      509k   sa
       8       0.02re       0.00cp      769k   udisks-helper-a
       6       0.00re       0.00cp     1057k   touch
       6       0.00re       0.00cp      592k   gzip
       6       0.00re       0.00cp      465k   accton
       4       1.05re       0.00cp     1264k   sh*
       4       0.00re       0.00cp     1264k   nroff*
       2       1.05re       0.00cp     1264k   sh
       2       1.05re       0.00cp     1120k   less
       2       0.00re       0.00cp     1346k   groff
       2       0.00re       0.00cp     1383k   grotty
       2       0.00re       0.00cp     1053k   mktemp
       2       0.00re       0.00cp     1030k   iconv
       2       0.00re       0.00cp     1023k   rm
       2       0.00re       0.00cp     1020k   cat
       2       0.00re       0.00cp     1018k   locale
       2       0.00re       0.00cp      802k   gtbl

上述命令输出的解释:

  • 9.86re 是按挂钟分钟计算的“实时”
  • 0.01cp 是系统/用户时间的总和(以 cpu 分钟为单位)
  • 2466k 是 cpu 时间平均核心使用率,即 1k 单位
  • sshd 命令名称

打印 Linux 用户信息

要获取单个用户的信息,请使用选项-u。

sa -u
root       0.00 cpu      465k mem accton
root       0.00 cpu     1057k mem touch
root       0.00 cpu     1298k mem psacct
root       0.00 cpu      466k mem consoletype
root       0.00 cpu     1264k mem psacct           *
root       0.00 cpu     1298k mem psacct
root       0.00 cpu      466k mem consoletype
root       0.00 cpu     1264k mem psacct           *
root       0.00 cpu     1298k mem psacct
root       0.00 cpu      466k mem consoletype
root       0.00 cpu     1264k mem psacct           *
root       0.00 cpu      465k mem accton
root       0.00 cpu     1057k mem touch

打印 Linux 进程数

此命令打印进程总数和 CPU 分钟数。如果您看到这些数字持续增加,那么是时候调查系统中发生的情况了。

sa -m
sshd                                    2       9.86re       0.00cp     2466k
root                                  127      14.29re       0.00cp      909k

按百分比打印和排序使用情况

命令“sa -c”显示最高的用户百分比。

sa -c
 132  100.00%      24.16re  100.00%       0.01cp  100.00%      923k
       2    1.52%       9.86re   40.83%       0.00cp   53.33%     2466k   sshd*
       8    6.06%       1.05re    4.34%       0.00cp   20.00%     1064k   man
       2    1.52%      10.08re   41.73%       0.00cp   13.33%     2562k   sshd
      12    9.09%       0.00re    0.01%       0.00cp    6.67%     1298k   psacct
       2    1.52%       0.00re    0.00%       0.00cp    6.67%     1575k   troff
      18   13.64%       0.00re    0.00%       0.00cp    0.00%      509k   sa
      14   10.61%       0.00re    0.00%       0.00cp    0.00%      503k   ac
      10    7.58%       0.00re    0.00%       0.00cp    0.00%     1264k   psacct*
      10    7.58%       0.00re    0.00%       0.00cp    0.00%      466k   consoletype
       8    6.06%       0.02re    0.07%       0.00cp    0.00%      769k   udisks-helper-a
       6    4.55%       0.00re    0.00%       0.00cp    0.00%     1057k   touch
       6    4.55%       0.00re    0.00%       0.00cp    0.00%      592k   gzip
       6    4.55%       0.00re    0.00%       0.00cp    0.00%      465k   accton
       4    3.03%       1.05re    4.34%       0.00cp    0.00%     1264k   sh*
       4    3.03%       0.00re    0.00%       0.00cp    0.00%     1264k   nroff*
       2    1.52%       1.05re    4.34%       0.00cp    0.00%     1264k   sh
       2    1.52%       1.05re    4.34%       0.00cp    0.00%     1120k   less
       2    1.52%       0.00re    0.00%       0.00cp    0.00%     1346k   groff
       2    1.52%       0.00re    0.00%       0.00cp    0.00%     1383k   grotty
       2    1.52%       0.00re    0.00%       0.00cp    0.00%     1053k   mktemp

列出用户最近执行的命令

‘latcomm’命令用于搜索并显示以前执行的用户命令信息。您还可以搜索各个用户名的命令。例如,我们看到用户的命令(howtoing)。

lastcomm tecmint
su                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
id                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
grep                    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
grep                    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
dircolors               tecmint  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
tput                    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
tty                     tecmint  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
id                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
id                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56

搜索命令日志

借助lastcomm命令,您将能够查看每个命令的单独使用情况。

lastcomm ls
ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56

有关更多信息和用法,请查看这些工具的手册页。

©2015-2025 Norria support@norria.com