此过程介绍了如何创建用于比较的基准线或控制清单。基于一个中心映像安装多个系统时,可使用此类清单。或者,在需要确认安装完全一致时使用此类清单运行比较。有关控制清单的更多信息,请参见BART 清单。要了解格式约定,请参见Example 2–1。
开始之前
您必须成为 root 角色。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。
# bart create options > control-manifest
指定清单的根目录。由规则指定的所有路径都会被解释为此目录的相对路径。清单中报告的所有路径均为此目录的相对路径。
接受要在目录中列出的单个文件的列表(无论是从命令行执行此选项,还是从标准输入中读取此选项)。
此清单的规则文件的名称。- 参数从标准输入中读取规则文件。
禁用文件列表中所有常规文件的内容签名。此选项可用于改善性能。或者,可以在需要更改文件列表的内容时使用此选项,这与系统日志文件的情况类似。
有关格式的说明,请参见Example 2–1。
用来保护系统清单的一种方法是将其置于只有 root 帐户可以访问的目录中。
# mkdir /var/adm/log/bartlogs # chmod 700 /var/adm/log/bartlogs # mv control-manifest /var/adm/log/bartlogs
为清单选择一个有意义的名称。例如,使用创建清单的系统名称及日期,如 mach1-120313 中所示。
在本示例中,样例输出后面是对清单格式的说明。
# bart create ! Version 1.1 ! HASH SHA256 ! Saturday, September 07, 2013 (22:22:27) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode / D 1024 40755 user::rwx,group::r-x,mask:r-x,other:r-x 3ebc418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 0 0 . . . /zone D 512 40755 user::rwx group::r-x,mask:r-x,other:r-x 3f81e892 154de3e7bdfd0d57a074c9fae0896a9e2e04bebfe5e872d273b063319e57f334 0 0 . . .
每个清单都包括一个文件头和多个文件项。每个文件项均单独占据一行,具体取决于文件类型。例如,对于以上输出中的每个文件项,类型 F 指定文件,而类型 D 指定目录。同时列出的还有关于大小、内容、用户 ID、组 ID 和权限的信息。输出中的文件项按文件名的编码版本顺序排列,以便正确地处理特殊字符。所有项均按文件名以升序排列。所有非标准文件名(例如那些包含嵌入的换行符或制表符的文件名)都会在排序之前将非标准字符用引号括起来。
以 ! 开头的行提供有关清单的元数据。清单版本行指明清单规范版本。散列行指明所使用的散列机制。有关用作校验和的 SHA256 散列的更多信息,请参见 sha2(3EXT) 手册页。
日期行以日期格式显示清单的创建日期。请参见 date(1) 手册页。清单比较工具会忽略某些行。被忽略的行包括元数据、空白行、仅包含空格的行,以及以 # 开头的注释。