在系统管理中,有时需要记录用户对资源的消费情况,作为对用户账号收取费用的依据。这些日志也可以用于安全目的,提供有关系统活动的有价值的信息。
Linux 系统提供了一个名为 psacct 的软件包,可以实现记帐的功能。
一、psacct 包检测
首先,我们要确保当前系统是否已经安装了 psacct 包,可通过如下命令进行查看;
# rpm -qa | grep psacct
psacct-6.3.2-63.el6_3.3.x86_64
二、psacct 服务开启与关闭
为了开启该记帐功能,需执行 /etc/rc.d/init.d/psacct start 或者service psacct start 命令;
# /etc/rc.d/init.d/psacct start
开启进程记帐: [确定]
# service psacct start
开启进程记帐: [确定]
若要停止该记帐功能,可执行 /etc/rc.d/init.d/psacct stop 或者service psacct stop 命令;
# service psacct stop
关闭进程记帐: [确定]
# /etc/rc.d/init.d/psacct stop
关闭进程记帐: [确定]
三、相关的配置文件
当记帐功能开启后,有关的用户和进程的记帐信息将会记录在日志文件 /var/account/pacct 中。
# vi /var/account/pacct
psacct 软件包安装时在 /etc/logrotate.d 目录安装了转储配置文件,且文件名也是 psacct 。有了记帐日志后,psacct 软件包提供的命令就可以使用了。当用户执行过的命令会被 psacct 记录,日志将存放在 /var/account/pacct 文件中。
# cd /etc/logrotate.d
# ls
cups dracut httpd ppp psacct sssd syslog wpa_supplicant yum
# cat psacct
# Logrotate file for psacct RPM
/var/account/pacct {
#prerotate loses accounting records, let's no
# prerotate
# /usr/sbin/accton
# endscript
compress
delaycompress
notifempty
daily
rotate 31
create