在 Linux 系统中,acct(accounting)模块用于记录用户登录、注销、运行命令等信息
首先,确保 acct 模块已经安装并启用。在大多数发行版中,它通常作为 psacct
或 acct
软件包提供。要安装它,请使用以下命令:
对于基于 Debian 的系统(如 Ubuntu):
sudo apt-get install psacct
对于基于 RHEL 的系统(如 CentOS):
sudo yum install psacct
确认 acct 模块是否已加载。运行以下命令:
lsmod | grep acct
如果输出中显示了 acct 模块,那么它已经加载。如果没有,请运行以下命令加载 acct 模块:
sudo modprobe acct
现在,你可以使用 lastcomm
命令查看 acct 日志文件。这个命令会显示所有用户运行过的命令及其运行时间。运行以下命令:
lastcomm
你还可以使用以下选项来定制输出:
-u
:指定用户名,只显示该用户的命令。-n
:指定要显示的命令数量。-f
:显示完整的命令行。-d
:按日期排序。-e
:显示命令结束时间。例如,要查看用户 “john” 运行过的最后 5 个命令,可以运行:
lastcomm -u john -n 5
若要停止记录 acct 日志,请运行以下命令卸载 acct 模块:
sudo modprobe -r acct
请注意,acct 日志文件通常位于 /var/log/account
或 /var/run/utmp
。然而,在使用 lastcomm
命令时,你不需要直接访问这些文件,因为该命令会自动处理它们。