NAME
DESCRIPTION
SECTION DESCRIPTIONS
EXAMPLE
ACCESS CONTROL
SEE ALSO

## NAME

cyrus.conf - Cyrus configuration file

## DESCRIPTION

/etc/cyrus.conf is the configuration file for the Cyrus master process. It defines the startup procedures, services and events to be spawned by master.

The /etc/cyrus.conf file consists of a series of entries divided into sections of the form

| section { |  |  |
|  |  | name arguments ... ... ... |
| } |  |  |

where section is the name of the section, name is the name of the entry and arguments is the whitespace-sepa- rated list of arguments for the entry.

Blank lines and lines beginning with ``#'' are ignored.

## SECTION DESCRIPTIONS

The paragraphs below detail the three sections (START, SERVICES, EVENTS) that can be placed in the /etc/cyrus.conf file. The arguments that are available for each entry within the section are described, and each argument's default value is shown.

Arguments can appear in any order. Some arguments have no default value, these are listed with ``<no default>''. For string arguments, the value MUST be enclosed in double quotes.

START |  |
|  | This section lists the processes to run before any SERVICES are spawned. This section is typically used to initialize databases and start long running daemons.
cmd=<no default> |  |

The command (with options) to spawn as a child process. This string argument is required.

SERVICES |  |
|  | This section is the heart of the /etc/cyrus.conf file. It lists the processes that should be spawned to handle client connections made on certain Internet/UNIX sockets.
cmd=<no default> |  |

The command (with options) to spawn as a child process. This string argument is required.

listen=<no default>
The UNIX or internet socket to listen on. This string field is required and takes one of the following forms:

path
[ host : ] port

where path is the explicit path to a UNIX socket, host is either the hostname or bracket-enclosed IP address
of a network interface, and port is either a port number or service name (as listed in /etc/services).

proto=tcp
The protocol used for this service (tcp, udp). This string argument is optional.

prefork=0
The number of instances of this service to always have running (for faster initial response time). This integer
value is optional.

EVENTS |  |
|  | This section lists processes that should be run at specific intervals, similar to cron jobs. This section is typically used to perform scheduled cleanup/maintenance.
cmd=<no default> |  |

The command (with options) to spawn as a child process. This string argument is required.

period=0
The interval (in minutes) at which to run the command. This integer value is optional, but SHOULD be a pos-
itive integer > 10.

## EXAMPLE

# example cyrus.conf

START { mboxlist |  | cmd="ctl_mboxlist -r" |
deliver } SERVICES { imap |  | cmd="ctl_deliver -r" cmd="imapd" listen="imap" prefork=1 |
imaps lmtpunix lmtp } EVENTS { checkpoint |  | cmd="imapd -s" listen="imaps" prefork=0 cmd="lmtpd" listen="/var/imap/socket/lmtp" cmd="lmtpd" listen="localhost:lmtp" cmd="ctl_mboxlist -c" period=30 |
delprune } |  | cmd="ctl_deliver -E 3" period=1440 |

## ACCESS CONTROL

When TCP Wrappers is used to control access to Cyrus services, the name of the service entry should be used as the process name in the hosts_access(5) table. For instance, in the example above, "imap", "imaps", "lmtpunix" and "lmtp" would be used as the process names. This allows a single daemon such as imapd to be run in different modes or configurations (i.e., SSL and non-SSL enabled) yet still have separate access control rules.

## SEE ALSO

master(8), imapd(8), pop3d(8), lmtpd(8), timsieved(8), idled(8), hosts_access(5)