YAFIC.CONF

NAME
DESCRIPTION
FILES
SEE ALSO

NAME

yafic.conf -- yafic(1) configuration file

DESCRIPTION

yafic.conf is the configuration file used by yafic(1). It specifies how yafic(1) should examine the filesystem.

Blank lines are ignored.

You may use double quotes ‘‘"’’ to enclose strings with spaces. Escape double quotes by prefixing them with a ‘‘\’’.

Comments begin with ‘‘#’’. Everything until the end of line is ignored. You may escape ‘‘#’’ characters by either quoting them or prefixing them with a ‘‘\’’.

A line ending with ‘‘\’’ specifies that the line following it is to be interpreted as its continuation.

Each line is of the form:

entry-name flags

Where entry-name is the name of a file or directory (relative to the root. See the -r option to yafic(1)) and flags are which file attributes to check.

DIRECTORY RECURSION

Normally, if entry-name is a directory, its contents will also be checked using flags. This behavior can be changed by using prefixes.

An entry defined with the form

!entry-name

will be ignored. entry-name and its contents will not be examined. An entry defined like this:

=entry-name flags

will mean that the contents of entry-name will not be looked at. flags will apply to entry-name and entry-name only. Finally, an entry defined like this:

$entry-name flags

will still have its contents checked. However, flags will only apply to entry-name. Its contents will keep their previous flags. If no flags were previously defined, then the contents will inherit the flags from entry-name’s parent. If there is no entry for entry-name’s parent or the entry is an ignore entry, then the flags will be inherited from entry-name’s grandparent, etc. This will continue up to the root until a non-ignored entry is found. If none is found, the contents will inherit the default flags.

Directories that serve as mount points for other filesystems are always ignored and are never recursed into. To recurse into a mount point, an entry for it must be explicitly defined.

FILE ATTRIBUTE FLAGS

Each entry can be checked for changes in certain file attributes. These attributes are:

p

Permissions/mode.

i

inode number.

n

Number of links.

u

User ID.

g

Group ID.

s

Size.

a

Access timestamp.

m

Modification timestamp.

c

Creation timestamp/inode modification timestamp.

h

SHA-1 hash of contents.

If flags is unspecified, it defaults to ‘pinugmch’. Flags can be added or removed relative to the default by prefixing them with ‘‘+’’ or ‘‘-’’. For example:

/some/file +s-mh

The resultant flags for /some/file would be ‘pinugsc’.

For convenience, there are a few flag templates defined:

R

Same as ‘pinugmch’. (‘Read-only’)

L

Same as ‘pinug’. (‘Log file’)

N

Same as ‘pinugsamch’. (‘Ignore nothing’)

E

Same as ‘’. (‘Ignore everything’)

If a template is used, it must be the first listed. Flags may be added or removed from a template by prefixing them with ‘‘+’’ or ‘‘-’’ respectively. For example:

/another/file L+h

/another/file would have the flags ‘pinugh’.

If you wish to know when files are added or removed from a directory, but you don’t care about changes to the directory or its contents, you must use the ‘‘E’’ template rather than prefixing the directory with ‘‘!’’.

NOTE ABOUT ORDER

Each entry is parsed in order. Entries defined later will override earlier ones. So, for example:

!/var
/var/log L

means that /var and its contents will be ignored. However, /var/log and its contents will be checked using the ‘‘L’’ template. Changing the order changes the meaning:

/var/log L
!/var

In this case, /var and its contents are totally ignored. The /var/log entry is overridden by the subsequent !/var.

PER-TYPE FLAG MASKS

Optionally, one or more of the following special entries can appear:

%dirmask mask
%filemask mask
%linkmask mask
%specialmask mask

mask is parsed exactly like flags, described previously.

When changes are detected in an entry, depending on the entry’s type (directory, file, symbolic links, special), one of the four masks is checked. The change is reported only if the corresponding flag is set in the mask.

By default, all masks have all flags (’pinugsamch’) set.

Note that when a mask for a particular type is set, only entries defined afterwards inherit that mask.

FILES

yafic.conf

Default yafic(1) configuration file.

SEE ALSO

yafic(1)