RC.CONF(8) - System Manager’s Manual #
RC.CONF(8) - System Manager’s Manual
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 multicast(4).
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}
savecore_flags
rc calls: savecore(8) ${savecore_flags} /var/crash
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 #
init(8), intro(8), rc(8), rc.d(8), rcctl(8)
HISTORY #
The rc.conf file first appeared in OpenBSD 2.2.
OpenBSD 7.5 - September 25, 2022