---
name: "rc.conf"
section: "8"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["openbsd"]
url: "https://new.carta.tech/rc.conf"
---

# rc.conf(8)

system daemon configuration database

## 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)](/rc/8.md) early on in the boot sequence and every time an [rc.d(8)](/rc.d/8.md) 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)](/rcctl/8.md) 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)](/rc.d/8.md) 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)](/rc.d/8.md) *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)](/packages/7.md), and to set their command line options.

The special **pkg\_scripts** variable lists [rc.d(8)](/rc.d/8.md) *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)](/accton/8.md) */var/account/acct*

- **check\_quotas**

  rc calls: [quotacheck(8)](/quotacheck/8.md) **-a**; [quotaon(8)](/quotaon/8.md) **-a**

- **ipsec**

  rc calls: [ipsecctl(8)](/ipsecctl/8.md) **-f** */etc/ipsec.conf*

- **library\_aslr**

  rc reorders some libraries for improved protection against ROP.

- **multicast**

  See [multicast(4)](/multicast/4.md).

- **pf**

  rc calls: [pfctl(8)](/pfctl/8.md) **-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)](/spamd/8.md) and [spamd-setup(8)](/spamd-setup/8.md).

**Auxiliary** configuration variables mostly determine the locations of specific configuration files. The boot scripts use them as follows:

- **amd\_master**

  The [amd(8)](/amd/8.md) 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)](/ldconfig/8.md) */usr/X11R6/lib* */usr/local/lib* ${*shlib\_dirs*}

- **savecore\_flags**

  rc calls: [savecore(8)](/savecore/8.md) ${*savecore\_flags*} */var/crash*

## EXAMPLES

Do not start the [dhcpd(8)](/dhcpd/8.md) 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)](/amd/8.md) master map file is:

```
amd_master=/etc/amd/master	# AMD 'master' map
```

## SEE ALSO

[init(8)](/init/8.md), [intro(8)](/intro/8.md), [rc(8)](/rc/8.md), [rc.d(8)](/rc.d/8.md), [rcctl(8)](/rcctl/8.md)

## HISTORY

The **rc.conf** file first appeared in OpenBSD 2.2.
