系统管理指南:高级管理

Procedure如何设置系统记帐

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 如有必要,请使用 pkgadd 命令在系统中安装 SUNWaccrSUNWaccu 软件包。

  3. 安装 /etc/init.d/acct 作为运行级 2 的启动脚本。


    # ln /etc/init.d/acct /etc/rc2.d/S22acct
    
  4. 安装 /etc/init.d/acct 作为运行级 0 的停止脚本。


    # ln /etc/init.d/acct /etc/rc0.d/K22acct
    
  5. adm crontab 文件中添加以下行,以自动启动 ckpacctrunacctmonacct 脚本。


    # EDITOR=vi; export EDITOR
    # crontab -e adm
    0 * * * * /usr/lib/acct/ckpacct
    30 2 * * * /usr/lib/acct/runacct 2> /var/adm/acct/nite/fd2log
    30 7 1 * * /usr/lib/acct/monacct
  6. root crontab 文件中添加以下行,以自动启动 dodisk 脚本。


    # crontab -e
    30 22 * * 4 /usr/lib/acct/dodisk
  7. 编辑 /etc/acct/holidays 以包括国定假日和当地假日。

    有关更多信息,请参见 holidays(4) 手册页及后面的示例。

  8. 重新引导系统或键入以下内容手动启动系统记帐:


    # /etc/init.d/acct start
    

示例 9–1 设置记帐 (adm crontab)

这一修改的 adm crontab 包含 ckpacctrunacctmonacct 脚本的项。


#ident  "@(#)adm        1.5     92/07/14 SMI"    /* SVr4.0 1.2   */
#
# The adm crontab file should contain startup of performance 
# collection if the profiling and performance feature has been 
# installed.
0 * * * * /usr/lib/acct/ckpacct
30 2 * * * /usr/lib/acct/runacct 2> /var/adm/acct/nite/fd2log
30 7 1 * * /usr/lib/acct/monacct


示例 9–2 设置记帐 (root crontab)

这一修改的 root crontab 包含 dodisk 程序的项。


#ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */
#
# The root crontab should be used to perform accounting data collection.
#
#
10 3 * * * /usr/sbin/logadm
15 3 * * 0 /usr/lib/fs/nfs/nfsfind
30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
30 22 * * 4 /usr/lib/acct/dodisk


示例 9–3 设置记帐 (/etc/acct/holidays)

以下示例显示一个 /etc/acct/holidays 文件样例。


* @(#)holidays	January 1, 2004
*
* Prime/Nonprime Table for UNIX Accounting System
*
* Curr	Prime	Non-Prime
* Year	Start	Start
*
  2004	0800	1800
*
* only the first column (month/day) is significant.
*
* month/day	Company
* 		Holiday
*
1/1		New Years Day
7/4		Indep. Day
12/25		Christmas