跳过导航链接 | |
退出打印视图 | |
系统管理指南:安全性服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
本节包括以下参考信息:
本节介绍 BART 使用和创建的文件的格式。
每个清单文件项均单独占据一行,具体取决于文件类型。每个项都以 fname(即文件名)开头。为了避免因文件名中嵌入特殊字符所导致的解析问题,已对文件名进行了编码。有关更多信息,请参见BART Rules 文件格式。
后续字段表示以下文件属性:
文件类型,可能值为:
B,表示块设备节点
C,表示字符设备节点
D,表示目录
F,表示文件
L,表示符号链接
P,表示管道
S,表示套接字
以字节为单位的文件大小。
表示文件权限的八进制数。
文件的 ACL 属性。对于具有 ACL 属性的文件,其中包含 acltotext() 的输出。
此项的所有者的数字用户 ID。
此项的所有者的数字组 ID。
目录的上次修改时间,以秒为单位,从 1970 年 1 月 1 日 00:00:00 UTC(国际协调时间)开始计算。
链接的上次修改时间,以秒为单位,从 1970 年 1 月 1 日 00:00:00 UTC 开始计算。
文件的上次修改时间,以秒为单位,从 1970 年 1 月 1 日 00:00:00 UTC 开始计算。
文件的校验和值。此属性仅为常规文件指定。如果关闭上下文检查,或者无法计算校验和,则此字段的值为 –。
符号链接的目标。
设备节点的值。此属性仅用于字符设备文件和块设备文件。
有关 BART 清单的更多信息,请参见 bart_manifest(4) 手册页。
bart 命令的输入文件为文本文件。这些文件由行组成,行中指定了要包括在清单中的文件和要包括在报告中的文件属性。同一个输入文件可同时在两项 BART 功能中使用。该工具将忽略以 # 开头的行、空白行以及包含空格的行。
输入文件包含三种类型的指令:
子树指令,带有可选的模式匹配修饰符
CHECK 指令
IGNORE 指令
示例 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>
注 - 所有指令均会按顺序进行读取,后面的指令可能会覆盖前面的指令。
每行都有一个子树指令。指令必须以绝对路径名开头,后面跟有零个或多个模式匹配语句。
bart 命令使用 CHECK 和 IGNORE 语句定义要跟踪或忽略的属性。每个属性都有一个关联的关键字。
acl
all
contents
dest
devnode
dirmtime
gid
lnmtime
mode
mtime
size
type
uid
all 关键字表示所有文件属性。
BART 所用的 rules 文件规范语言是用于表示非标准文件名的标准 UNIX 引用语法。嵌入的制表符、空格、换行符或特殊字符以八进制格式编码,以使工具能够读取文件名。这种不一致的引用语法会阻止在命令管道中正确处理某些文件名,如包含嵌入回车的文件名。使用 rules 规范语言可表述复杂的文件名过滤条件;如果仅使用 shell 语法会很难表述这些条件,而且效率也不高。
有关 BART rules 文件或 BART 所用的引用语法的更多信息,请参见 bart_rules(4) 手册页。
在缺省模式下,bart compare 命令会检查系统上安装的所有文件,但已修改的目录时间戳 (dirmtime) 除外,如以下示例中所示:
CHECK all IGNORE dirmtime
如果提供了 rules 文件,则全局指令 CHECK all 和 IGNORE dirmtime 会按照以上顺序自动前置到 rules 文件。
将返回以下退出值:
成功
处理文件时出现非致命错误,如权限问题
出现致命错误,如无效的命令行选项
详细输出为缺省输出,已本地化并出现在多行中。详细输出已经过国际化并具有可读性。如果使用 bart compare 命令对两个系统清单进行比较,则会生成一个文件差异列表。
例如:
filename attribute control:xxxx test:yyyy
在控制清单与测试清单中不同的文件的名称。
进行比较的清单之间存在差异的文件属性的名称。xxxx 是控制清单中的属性值,yyyy 是测试清单中的属性值。如果同一个文件中的多个属性出现差异,则每个差异都将记录在单独的一行中。
下面是 bart compare 命令的缺省输出的示例。/etc/passwd 文件中出现属性差异。输出表明 size、mtime 和 contents 属性已发生变化。
/etc/passwd: size control:74 test:81 mtime control:3c165879 test:3c165979 contents control:daca28ae0de97afd7a6b91fde8d57afa test:84b2b32c4165887355317207b48a6ec7
如果在运行 bart compare 命令时使用了 -p 选项,就会生成程序输出。此输出以适合程序操作的格式生成。程序输出可以轻松被其他程序解析,旨在用作其他工具的输入。
例如:
filename attribute control-val test-val [attribute control-val test-val]*
与缺省格式中的 filename 属性相同
每个文件在控制清单与测试清单之间存在差异的文件属性的说明
有关 bart 命令支持的属性的列表,请参见Rules 文件属性。
有关 BART 的更多信息,请参见 bart(1M) 手册页。