Go to main content

man pages section 5: File Formats

Exit Print View

Updated: Wednesday, February 9, 2022
 
 

bart_manifest(5)

Name

bart_manifest - system audit manifest file

Description

The bart(8) command generates a manifest that describes the contents of a managed host. A manifest consists of a header and entries. Each entry represents a single file. Entries are sorted in ascending order by file name. Any nonstandard file names, such as those that contain embedded newline or tab characters, have the special characters quoted prior to being sorted. See Quoting Syntax.

Lines that begin with ! supply metadata about the manifest. The manifest version line indicates the manifest specification version. The date line shows the date on which the manifest was created.

Version 1.0 manifests always use MD5 digests for the file contents checksum. Version 1.1 manifests specify the digest algorithm used in a ! Hash line in the manifest header.

Some lines are ignored by the manifest comparison tool. Ignored lines include blank lines, lines that consist only of white space, and comments that begin with #.

In addition to metadata lines, the header contains the format comment block. This comment block lists the attributes reported for each file type.

To see the format of a manifest file, see EXAMPLES.

Manifest File Entries

Each manifest file entry is a single line of one of the following forms, depending on the file type:


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

The fields of the manifest file entries are described as follows:

fname

Name of the file. To prevent parsing problems that are caused by special characters embedded in file names, file names are encoded as described in Quoting Syntax.

type

Type of file.

Possible values for type are as follows:

B

Block device node

C

Character device node

D

Directory

F

File

L

Symbolic link

P

Pipe

S

Socket

size

File size in bytes.

mode

Octal number that represents the permissions of the file.

acl

ACL attributes for the file. For a file with ACL attributes, this field contains the output from acl_totext(3SEC).

uid

Numerical user ID of the owner of this entry.

gid

Numerical group ID of the owner of this entry.

dirmtime

Modification time in seconds since 00:00:00 UTC, January 1, 1970 for directories.

lnmtime

Creation time for links.

mtime

Modification time in seconds since 00:00:00 UTC, January 1, 1970 for files.

contents

Checksum value of the file. This attribute is only specified for regular files. If you turn off context checking or if checksums cannot be computed, the value of this field is .

In Version 1.0 manifests, this checksum is calculated as an MD5 digest. In Version 1.1 manifests, this checksum is calculated using one of the SHA algorithms, specified in the manifest header, and controlled by the use of the –a option to the bart command.

dest

Destination of a symbolic link.

devnode

Value of the device node. This attribute is for character device files and block device files only.

Quoting Syntax

The rules file supports a quoting syntax for representing nonstandard file names.

When generating a manifest for file names with embedded TAB, SPACE, or NEWLINE characters, the special characters are encoded in their octal forms.

Input Character
Quoted Character
SPACE
\040
TAB
\009
NEWLINE
\012
?
\077
[
\133
*
\052

Examples

Example 1 Sample Manifest File

The following is a sample system manifest file. The file entries are sorted by the encoded versions of the file names to correctly handle special characters. In the actual output, all information for each file is on a single line, without the line breaks and indentation shown here.

! Version 1.1
! Hash SHA256
! Monday, June 14, 2021 (15:31:10)
# 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
/etc D 210 40755 owner@:list_directory/read_data/add_file/write_data/
    add_subdirectory/append_data/read_xattr/write_xattr/execute/
    delete_child/read_attributes/write_attributes/read_acl/write_acl/
    write_owner/synchronize:allow,group@:list_directory/read_data/
    read_xattr/execute/read_attributes/read_acl/synchronize:allow,
    everyone@:list_directory/read_data/read_xattr/execute/
    read_attributes/read_acl/synchronize:allow 60a53d9e 0 3
/etc/.login F 932 100644 owner@:read_data/write_data/append_data/
    read_xattr/write_xattr/read_attributes/write_attributes/read_acl/
    write_acl/write_owner/synchronize:allow,group@:read_data/
    read_xattr/read_attributes/read_acl/synchronize:allow,everyone@:
    read_data/read_xattr/read_attributes/read_acl/synchronize:allow
    60a04ac2 0 0
    9d958c6748fb88091c90ba5995af891226971d65ef8b08f2f9020f004804a13e
/etc/.pwd.lock F 0 100755 owner@:read_data/write_data/append_data/
    read_xattr/write_xattr/execute/read_attributes/write_attributes/
    read_acl/write_acl/write_owner/synchronize:allow,group@:read_data/
    read_xattr/execute/read_attributes/read_acl/synchronize:allow,
    everyone@:read_data/read_xattr/execute/read_attributes/read_acl/
    synchronize:allow 60a53d9e 0 0
    e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
/etc/hosts L 12 120777 - 5bc7c298 0 0 ./inet/hosts
/etc/rc2.d/S89PRESERVE F 230 100744 owner@:read_data/write_data/
    append_data/read_xattr/write_xattr/execute/read_attributes/
    write_attributes/read_acl/write_acl/write_owner/synchronize:allow,
    group@:read_data/read_xattr/read_attributes/read_acl/synchronize:
    allow,everyone@:read_data/read_xattr/read_attributes/read_acl/
    synchronize:allow 5b762e3a 0 0
    78f67104d0a23eecc8d1cdfd1c196ccb84c948a0b37d6fb78cc3fb1f01359271

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed

See Also

acl_totext(3SEC), bart_rules(5), attributes(7), bart(8)

History

Support for Version 1.1 manifests was added in Oracle Solaris 11.0.0.

Support for Version 1.0 manifests was added in Solaris 10 3/05.