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

Procedure如何创建清单

可以在 Solaris 软件的初始安装之后立即创建系统清单。此类清单可提供用于比较同一系统在一段时间内的更改的基准。或者,可以将此清单与不同系统的清单进行比较。例如,如果为网络中的每个系统拍摄快照,然后将每个测试清单与控制清单进行比较,则可以迅速确定需要执行哪些操作来实现测试系统与基准配置的同步。

  1. 承担主管理员角色,或成为超级用户。

    主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 安装 Solaris 软件之后,创建一个控制清单并将输出重定向到文件。


    # bart create options > control-manifest
    
    -R

    指定清单的根目录。所有由规则指定的路径都会被解释为此目录的相对路径。所有由清单报告的路径均为此目录的相对路径。

    -I

    无论是从命令行执行此选项,还是从标准输入中读取此选项,它都会接受要列出的单个文件的列表。

    -r

    此清单的 rules 文件的名称。请注意, 在与 -r 选项一起使用时,会从标准输入读取 rules 文件。

    -n

    禁用文件列表中所有常规文件的内容签名。此选项可用于改善性能。或者,可以在需要更改文件列表的内容时使用此选项,这与系统日志文件的情况类似。

  3. 检查清单内容。

  4. 保存清单以便将来使用。

    为清单选择一个有意义的名称。例如,使用系统名称及此清单的创建日期。


示例 5–1 创建可列出有关系统上所有文件的信息的清单

如果运行不带任何选项的 bart create 命令,则会列出有关系统上安装的所有文件的信息。当从核心映像安装多个系统时,可使用此类清单作为基准。或者,在需要确保安装完全一致的情况下使用此类清单运行比较。

例如:


# bart create

! Version 1.0

! Thursday, December 04, 2003 (16:17:39)

# 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 3fd9ea47 0 0

/.java D 512 40755 user::rwx,group::r-x,mask:r-x,other:r-x 3f8dc04d 0 10

/.java/.userPrefs D 512 40700 user::rwx,group::---,mask:---

other:--- 3f8dc06b 010

/.java/.userPrefs/.user.lock.root F 0 100600 user::rw-

group::---,mask:---,other:--- 3f8dc06b 0 10 -

/.java/.userPrefs/.userRootModFile.root F 0 100600 user::rw-,

group::---,mask:---,other:--- 3f8dc0a1 0 10 -

/.smc.properties F 1389 100644 user::rw-,group::r--,mask:r--

other:r-- 3f8dca0c0 10

.

.

.

/var/sadm/pkg/SUNWdtmad/install/depend F 932 100644 user::rw-,

group::r--,mask:r--,other:r-- 3c23a19e 0 0 -

/var/sadm/pkg/SUNWdtmad/pkginfo F 594 100644 user::rw-

group::r--,mask:r--,other:r-- 3f81e416 0 0 -

/var/sadm/pkg/SUNWdtmad/save D 512 40755 user::rwx,group::r-x

mask:r-x,other:r-x 3f81e416 0 0

/var/sadm/pkg/SUNWdtmaz D 512 40755 user::rwx,group::r-x

mask:r-x,other:r-x 3f81e41b 0 0

/var/sadm/pkg/TSIpgxw/save D 512 40755 user::rwx

group::r-x,mask:r-x,other:r-x 3f81e892 0 0

.

.

.

每份清单都包括头和项。每个清单文件项均是单独的一行,具体取决于文件类型。例如,对于上面输出的每个清单项而言,类型 F 指定文件,而类型 D 指定目录。同时还列出了有关大小、内容、用户 ID、组 ID 和权限的信息。输出中的文件项按文件名的编码版本排序,从而能够正确地处理特殊字符。所有项均按文件名的升序排列。所有非标准文件名(例如那些包含嵌入的换行符或制表符的文件名)都在排序之前将非标准字符引起来。

! 开头的行提供有关清单的元数据。清单版本行指示清单规格版本。日期行以日期格式显示清单的创建日期。请参见 date(1) 手册页。清单比较工具会忽略某些行。被忽略的行包括空白行、仅包含空格的行,以及以 # 开头的注释。