NAME
rc.conf
,
rc.conf.local
—
system daemon configuration
database
DESCRIPTION
The file rc.conf
contains a series of
variable assignments that are used to configure the system daemons. These
variables are read by rc(8) early on in the boot sequence and every time an
rc.d(8) script is executed.
It is advisable to leave rc.conf
untouched, and instead create and edit a new
rc.conf.local
file or use the
rcctl(8) utility. Since only the last assignment to any variable
takes effect, variables set in this file override variables previously set
in rc.conf
.
rc.conf
is made up of variable assignments
(variable=value) with comments
designated by a hash mark (‘#’).
Base system daemon configuration variables are used to enable and disable daemon programs that are installed by default, and to set their command line options.
All of these variables follow the format “daemon_flags” where daemon is the name of one of the rc.d(8) daemon control scripts. The list of base system daemons, including the information whether they are enabled by default, can be displayed with this command:
grep _flags /etc/rc.conf
If one of these variables is set to NO
,
the respective daemon is disabled. If set to the empty
string, the daemon is run with the default command
line arguments defined in its
rc.d(8) daemon script, or without command line
arguments if no such default exists. If set to any other value, including a
string containing only a single blank character, the
daemon is run with those command line arguments.
Package daemon configuration variables are used to enable and disable daemon programs installed from packages(7), and to set their command line options.
The special pkg_scripts
variable lists
rc.d(8) daemon control scripts to be started in
the specified order. For each daemon listed, its
default command line options can optionally be overridden using the variable
daemon_flags as described above.
Base system service configuration variables
control features available by default that are not implemented as daemons.
They can be set to either YES
or
NO
. When set to YES
, they
have the following effects:
accounting
- rc calls: accton(8) /var/account/acct
check_quotas
- rc calls:
quotacheck(8)
-a
; quotaon(8)-a
ipsec
- rc calls:
ipsecctl(8)
-f
/etc/ipsec.conf library_aslr
- rc reorders some libraries for improved protection against ROP.
multicast
- See netstart(8).
pf
- rc calls: pfctl(8)
-ef
/etc/pf.conf spamd_black
- The script /etc/rc.d/spamd uses
-b
in front of any other configured command line arguments when running spamd(8) and spamd-setup(8).
Auxiliary configuration variables mostly determine the locations of specific configuration files. The boot scripts use them as follows:
amd_master
- The amd(8) master map file. The script /etc/rc.d/amd appends its content to the command line when starting the auto mounter daemon.
shlib_dirs
- Extra shared library search path entries. rc calls: ldconfig(8) /usr/X11R6/lib /usr/local/lib ${shlib_dirs}
EXAMPLES
Do not start the dhcpd(8) daemon when booting the system:
dhcpd_flags=NO
To run the dhcpd daemon, add the following line to
rc.conf.local
:
dhcpd_flags=
To start it with some options:
dhcpd_flags=-A abandoned
Run /etc/rc.d/messagebus then
/etc/rc.d/cupsd with the
start
argument at boot time, and in reverse order
with the stop
argument at shutdown:
pkg_scripts=messagebus cupsd
The default location of the amd(8) master map file is:
amd_master=/etc/amd/master # AMD 'master' map
SEE ALSO
HISTORY
The rc.conf
file first appeared in
OpenBSD 2.2.