系统管理指南:安全性服务

BART 清单、Rules 文件和报告(参考)

本节包含以下参考信息:

BART 清单文件格式

每个清单文件项均是单独的一行,具体取决于文件类型。每个项都以 fname(即文件名)开头。为了避免分析文件名中嵌入的特殊字符所导致的问题,已对文件名进行了编码。有关更多信息,请参见BART Rules 文件格式

后续字段表示以下文件属性:

type

文件类型,可能值为:

  • B 表示块设备节点

  • C 表示字符设备节点

  • D 表示目录

  • F 表示文件

  • L 表示符号链接

  • P 表示管道

  • S 表示套接字

size

以字节为单位的文件大小。

mode

表示文件权限的八进制数。

acl

文件的 ACL 属性。对于具有 ACL 属性的文件,它包含了 acltotext() 的输出。

uid

此项的属主的数字用户 ID。

gid

此项的属主的数字组 ID。

dirmtime

目录上次修改的时间,以秒为单位,从 1970 年 1 月 1 日 00:00:00 UTC(国际协调时间)开始计算。

lnmtime

链接上次修改的时间,以秒为单位,从 1970 年 1 月 1 日 00:00:00 UTC 开始计算。

mtime

文件上次修改的时间,以秒为单位,从 1970 年 1 月 1 日 00:00:00 UTC 开始计算。

contents

文件校验和的值。此属性仅为常规文件指定。如果关闭上下文检查,或者无法计算校验和,则此字段的值为

dest

符号链接的目标。

devnode

设备节点值。此属性仅用于字符设备文件和块设备文件。

有关 BART 清单的更多信息,请参见 bart_manifest(4) 手册页。

BART Rules 文件格式

bart 命令的输入文件为文本文件。这些文件由行组成,行中指定了要包括在清单中的文件和要包括在报告中的文件属性。同一个输入文件可同时在两项 BART 功能中使用。工具将忽略以 # 开头的行、空白行以及包含空格的行。

输入文件包含三种类型的指令:


示例 5–8 Rules 文件格式


<Global CHECK/IGNORE Directives>

<subtree1> [pattern1..]

<IGNORE/CHECK Directives for subtree1>



<subtree2> [pattern2..]

subtree3> [pattern3..]

subtree4> [pattern4..]

<IGNORE/CHECK Directives for subtree2, subtree3, subtree4>


注 –

所有指令均会按顺序进行读取,后面的指令可能会覆盖前面的指令。


每行都有一个子树指令。指令必须以绝对路径名开头,后面跟有零个或多个模式匹配语句。

Rules 文件属性

bart 命令使用 CHECKIGNORE 语句定义要跟踪或忽略的属性。每个属性都有一个关联的关键字。

属性关键字有:

all 关键字是指所有文件属性。

引用语法

BART 所用的 rules 文件规范语言是用于表示非标准文件名的标准 UNIX 引用语法。嵌入的制表符、空格、换行符或特殊字符以八进制格式编码,以保证工具能够读取文件名。这种不一致的引用语法会阻止在命令管道中正确处理某些文件名,如包含嵌入的回车的文件名。使用 rules 规范语言可表达复杂的文件名过滤条件,这些条件如果仅使用 shell 语法会很难并且无法有效表达。

有关 BART rules 文件或 BART 所用的引用语法的更多信息,请参见 bart_rules(4) 手册页。

BART 报告

在缺省模式下,bart compare 命令会检查系统上安装的除已修改的目录时间标记 (dirmtime) 外所有文件,如以下示例所示:


CHECK all

IGNORE	dirmtime

如果提供了 rules 文件,则全局指令 CHECK allIGNORE dirmtime 会按照以上顺序自动前置到 rules 文件之前。

BART 输出

将返回以下退出值:

0

成功

1

处理文件时出现非致命错误,如权限问题

>1

出现致命错误,如无效的命令行选项

报告机制可提供两种类型的输出:详细输出和程序输出:

有关 bart 命令支持的属性的列表,请参见Rules 文件属性

有关 BART 的更多信息,请参见 bart(1M) 手册页。