Drop main() prototype. Syncs with NetBSD-8
[minix.git] / share / man / man5 / rc.conf.5
blob8c6e941c4246d6c88e1d70b7288c3ddff09b473a
1 .\"     $NetBSD: rc.conf.5,v 1.162 2015/10/09 19:49:25 plunky Exp $
2 .\"
3 .\" Copyright (c) 1996 Matthew R. Green
4 .\" All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\"
15 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
20 .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
22 .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
23 .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 .\" SUCH DAMAGE.
26 .\"
27 .\" Copyright (c) 1997 Curt J. Sampson
28 .\" Copyright (c) 1997 Michael W. Long
29 .\" Copyright (c) 1998-2010 The NetBSD Foundation, Inc.
30 .\" All rights reserved.
31 .\"
32 .\" This document is derived from works contributed to The NetBSD Foundation
33 .\" by Luke Mewburn.
34 .\"
35 .\" Redistribution and use in source and binary forms, with or without
36 .\" modification, are permitted provided that the following conditions
37 .\" are met:
38 .\" 1. Redistributions of source code must retain the above copyright
39 .\"    notice, this list of conditions and the following disclaimer.
40 .\" 2. Redistributions in binary form must reproduce the above copyright
41 .\"    notice, this list of conditions and the following disclaimer in the
42 .\"    documentation and/or other materials provided with the distribution.
43 .\" 3. The name of the author may not be used to endorse or promote products
44 .\"    derived from this software without specific prior written permission.
45 .\"
46 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
47 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
48 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
49 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
50 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
51 .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
52 .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
53 .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54 .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
55 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
56 .\" SUCH DAMAGE.
57 .\"
58 .Dd July 9, 2015
59 .Dt RC.CONF 5
60 .Os
61 .Sh NAME
62 .Nm rc.conf
63 .Nd system startup configuration file
64 .Sh DESCRIPTION
65 The
66 .Nm
67 file specifies which services are enabled during system startup by
68 the startup scripts invoked by
69 .Pa /etc/rc
70 (see
71 .Xr rc 8 ) ,
72 and the shutdown scripts invoked by
73 .Pa /etc/rc.shutdown .
74 The
75 .Nm
76 file is a shell script that is sourced by
77 .Xr rc 8 ,
78 meaning that
79 .Nm
80 must contain valid shell commands.
81 .Pp
82 Listed below are the standard
83 .Nm
84 variables that may be set, the values to which each may be set,
85 a brief description of what each variable does, and a reference to
86 relevant manual pages.
87 Third party packages may test for additional variables.
88 .Pp
89 By default,
90 .Nm
91 reads
92 .Pa /etc/defaults/rc.conf
93 (if it is readable)
94 to obtain default values for various variables, and the end-user
95 may override these by appending appropriate entries to the end of
96 .Nm .
97 .Pp
98 .Xr rc.d 8
99 scripts that use
100 .Ic load_rc_config
101 from
102 .Xr rc.subr 8
103 also support sourcing an optional end-user provided per-script override
104 file
105 .Pa /etc/rc.conf.d/ Ns Ar service ,
106 (where
107 .Ar service
108 is the contents of the
109 .Sy name
110 variable in the
111 .Xr rc.d 8
112 script).
113 This may contain variable overrides, including allowing the end-user
114 to override various
115 .Ic run_rc_command
116 .Xr rc.d 8
117 control variables, and thus changing the operation of the script
118 without requiring editing of the script.
119 .Ss Variable naming conventions and data types
120 Most variables are one of two types: enabling variables or flags
121 variables.
122 Enabling variables, such as
123 .Sy inetd ,
124 are generally named after the program or the system they enable,
125 and have boolean values (specified using
126 .Sq Ic YES ,
127 .Sq Ic TRUE ,
128 .Sq Ic ON
130 .Sq Ic 1
131 for true, and
132 .Sq Ic NO ,
133 .Sq Ic FALSE ,
134 .Sq Ic OFF
136 .Sq Ic 0
137 for false, with the values being case insensitive).
138 Flags variables, such as
139 .Sy inetd_flags
140 have the same name with "_flags" appended, and determine what
141 arguments are passed to the program if it is enabled.
143 If a variable that
144 .Xr rc 8
145 expects to be set is not set, or the value is not one of the allowed
146 values, a warning will be printed.
147 .Ss Overall control
148 .Bl -tag -width net_interfaces
149 .It Sy do_rcshutdown
150 Boolean value.
151 If false,
152 .Xr shutdown 8
153 will not run
154 .Pa /etc/rc.shutdown .
155 .It Sy rcshutdown_rcorder_flags
156 A string.
157 Extra arguments to the
158 .Xr rcorder 8
159 run by
160 .Pa /etc/rc.shutdown .
161 .It Sy rcshutdown_timeout
162 A number.
163 If non-blank, use this as the number of seconds to run a watchdog timer for
164 which will terminate
165 .Pa /etc/rc.shutdown
166 if the timer expires before the shutdown script completes.
167 .It Sy rc_configured
168 Boolean value.
169 If false then the system will drop into single-user mode during boot.
170 .It Sy rc_fast_and_loose
171 If set to a non-empty string,
172 each script in
173 .Pa /etc/rc.d
174 will be executed in the current shell rather than a sub shell.
175 This may be faster on slow machines that have an expensive
176 .Xr fork 2
177 operation.
178 .Bl -hang
179 .It Em Note :
180 Use this at your own risk!
181 A rogue command or script may inadvertently prevent boot to multiuser.
183 .It Sy rc_rcorder_flags
184 A string.
185 Extra arguments to the
186 .Xr rcorder 8
187 run by
188 .Pa /etc/rc .
189 .It Sy rc_directories
190 A string.
191 Space separated list of directories searched for rc scripts.
192 The default is
193 .Pa /etc/rc.d .
194 All directories in
195 .Ev rc_directories
196 must be located in the root file system, otherwise they will be silently
197 skipped.
198 .It Sy rc_silent
199 Boolean value.
200 If true then the usual output is suppressed, and
201 .Xr rc 8
202 invokes the command specified in the
203 .Va rc_silent_cmd
204 variable once for each line of suppressed output.
205 The default value of
206 .Va rc_silent
207 is set from the
208 .Dv AB_SILENT
209 flag in the kernel's
210 .Va boothowto
211 variable (see
212 .Xr boot 8 ,
213 .Xr reboot 2 ) .
214 .It Sy rc_silent_cmd
215 A command to be executed once per line of suppressed output, when
216 .Va rc_silent
217 is true.
218 The default value of
219 .Va rc_silent_cmd
221 .Dq twiddle ,
222 which will display a spinning symbol instead of each line of output.
223 Another useful value is
224 .Dq \&: ,
225 which will display nothing at all.
227 .Ss Basic network configuration
228 .Bl -tag -width net_interfaces
229 .It Sy defaultroute
230 A string.
231 Default IPv4 network route.
232 If empty or not set, then the contents of
233 .Pa /etc/mygate
234 (if it exists) are used.
235 .It Sy defaultroute6
236 A string.
237 Default IPv6 network route.
238 If empty or not set, then the contents of
239 .Pa /etc/mygate6
240 (if it exists) are used.
241 .It Sy domainname
242 A string.
243 .Tn NIS
244 (YP) domain of host.
245 If empty or not set, then the contents of
246 .Pa /etc/defaultdomain
247 (if it exists) are used.
248 .It Sy force_down_interfaces
249 A space separated list of interface names.
250 These interfaces will be configured down when going from multiuser to single-user
251 mode or on system shutdown.
253 This is important for some stateful interfaces, for example PPP over ISDN
254 connections that cost money by connection time or PPPoE interfaces which
255 have no direct means of noticing
256 .Dq disconnect
257 events.
259 All active
260 .Xr pppoe 4
262 .Xr ippp 4
263 interfaces will be automatically added to this list.
264 .It Sy hostname
265 A string.
266 Name of host.
267 If empty or not set, then the contents of
268 .Pa /etc/myname
269 (if it exists) are used.
271 .Ss Boottime file-system and swap configuration
272 .Bl -tag -width net_interfaces
273 .It Sy critical_filesystems_local
274 A string.
275 File systems mounted very early in the system boot before networking
276 services are available.
277 Usually
278 .Pa /var
279 is part of this, because it is needed by services such as
280 .Xr dhclient 8
281 which may be required to get the network operational.
282 The default is
283 .Dq "OPTIONAL:/var" ,
284 where the
285 .Dq "OPTIONAL:"
286 prefix means that it's not an error if the file system is not
287 present in
288 .Xr fstab 5 .
289 .It Sy critical_filesystems_remote
290 A string.
291 File systems such as
292 .Pa /usr
293 that may require network services to be available to mount,
294 that must be available early in the system boot for general services to use.
295 The default is
296 .Dq "OPTIONAL:/usr" ,
297 where the
298 .Dq "OPTIONAL:"
299 prefix means that it is not an error if the file system is not
300 present in
301 .Xr fstab 5 .
302 .It Sy fsck_flags
303 A string.
304 A file system is checked with
305 .Xr fsck 8
306 during boot before mounting it.
307 This option may be used to override the default command-line options
308 passed to the
309 .Xr fsck 8
310 program.
312 When set to
313 .Fl y ,
314 .Xr fsck 8
315 assumes yes as the answer to all operator questions during file system checks.
316 This might be important with hosts where the administrator does not have
317 access to the console and an unsuccessful shutdown must not make the host
318 unbootable even if the file system checks would fail in preen mode.
319 .It Sy no_swap
320 Boolean value.
321 Should be true if you have deliberately configured your system with no swap.
322 If false and no swap devices are configured, the system will warn you.
323 .It Sy resize_root
324 Boolean value.
325 Set to true to have the system resize the root file system to fill its
326 partition.
327 Will only attempt to resize the root file system if it is of type ffs and does
328 not have logging enabled.
329 Defaults to false.
330 .It Sy swapoff
331 Boolean value.
332 Remove block-type swap devices at shutdown time.
333 Useful if swapping onto RAIDframe devices.
335 .Ss Block device subsystems
336 .Bl -tag -width net_interfaces
337 .It Sy ccd
338 Boolean value.
339 Configures concatenated disk devices according to
340 .Xr ccd.conf 5 .
341 .It Sy cgd
342 Boolean value.
343 Configures cryptographic disk devices.
344 Requires
345 .Pa /etc/cgd/cgd.conf .
347 .Xr cgdconfig 8
348 for additional details.
349 .It Sy lvm
350 Boolean value.
351 Configures the logical volume manager.
353 .Xr lvm 8
354 for additional details.
355 .It Sy raidframe
356 Boolean value.
357 Configures
358 .Xr raid 4 ,
359 RAIDframe disk devices.
361 .Xr raidctl 8
362 for additional details.
364 .Ss One-time actions to perform or programs to run on boot-up
365 .Bl -tag -width net_interfaces
366 .It Sy accounting
367 Boolean value.
368 Enables process accounting with
369 .Xr accton 8 .
370 Requires
371 .Pa /var/account/acct
372 to exist.
373 .It Sy clear_tmp
374 Boolean value.
375 Clear
376 .Pa /tmp
377 after reboot.
378 .It Sy dmesg
379 Boolean value.
380 Create
381 .Pa /var/run/dmesg.boot
382 from the output of
383 .Xr dmesg 8 .
384 Passes
385 .Sy dmesg_flags .
386 .It Sy envsys
387 Boolean value.
388 Sets preferences for the environmental systems framework,
389 .Xr envsys 4 .
390 Requires
391 .Pa /etc/envsys.conf ,
392 which is described in
393 .Xr envsys.conf 5 .
394 .It Sy gpio
395 Boolean value.
396 Configure
397 .Xr gpio 4
398 devices.
400 .Xr gpio.conf 5 .
401 .It Sy ldconfig
402 Boolean value.
403 Configures
404 .Xr a.out 5
405 runtime link editor directory cache.
406 .It Sy mixerctl
407 Boolean value.
408 Read
409 .Xr mixerctl.conf 5
410 for how to set mixer values.
411 List in
412 .Sy mixerctl_mixers
413 the devices whose settings are to be saved at shutdown and
414 restored at start-up.
415 .It Sy newsyslog
416 Boolean value.
418 .Nm newsyslog
419 to trim log files before syslogd starts.
420 Intended for laptop users.
421 Passes
422 .Sy newsyslog_flags .
423 .It Sy per_user_tmp
424 Boolean value.
425 Enables a per-user
426 .Pa /tmp
427 directory.
428 .Sy per_user_tmp_dir
429 can be used to override the default location of the
430 .Dq real
431 temporary directories,
432 .Dq Pa /private/tmp .
434 .Xr security 7
435 for additional details.
436 .It Sy quota
437 Boolean value.
438 Checks and enables quotas by running
439 .Xr quotacheck 8
441 .Xr quotaon 8 .
442 .It Sy random_seed
443 Boolean value.
444 During boot-up, runs the
445 .Xr rndctl 8
446 utility with the
447 .Fl L
448 flag to seed the random number subsystem from an entropy file.
449 During shutdown, runs the
450 .Xr rndctl 8
451 utility with the
452 .Fl S
453 flag to save some random information to the entropy file.
454 The entropy file name is specified by the
455 .Sy random_file
456 variable, and defaults to
457 .Pa /var/db/entropy-file .
458 The entropy file must be on a local file system that is writable early during
459 boot-up (just after the file systems specified in
460 .Sy critical_filesystems_local
461 have been mounted), and correspondingly late during shutdown.
462 .It Sy rndctl
463 Boolean value.
464 Runs the
465 .Xr rndctl 8
466 utility one or more times according to the specification in
467 .Sy rndctl_flags .
470 .Sy rndctl_flags
471 does not contain a semicolon
472 .Pq Ql \&;
473 then it is expected to contain zero or more flags,
474 followed by one or more device or type names.
476 .Xr rndctl 8
477 command will be executed once for each device or type name.
478 If the specified flags do not include any of
479 .Fl c , C , e ,
481 .Fl E ,
482 then the flags
483 .Fl c
485 .Fl e
486 are added, to specify that entropy from the relevant device or type
487 should be both collected and estimated.
488 If the specified flags do not include either of
489 .Fl d
491 .Fl t ,
492 then the flag
493 .Fl d
494 is added, to specify that the non-flag arguments are device names,
495 not type names.
497 .Sy rndctl_flags
498 may contain multiple semicolon-separated segments, in which each
499 segment contains flags and device or type names as described above.
500 This allows different flags to be associated with different
501 device or type names.
502 For example, given
503 .Li rndctl_flags="wd0 wd1; -t tty; -c -t net" ,
504 the following commands will be executed:
505 .Li "rndctl -c -e -d wd0" ;
506 .Li "rndctl -c -e -d wd1" ;
507 .Li "rndctl -c -e -t tty" ;
508 .Li "rndctl -c -t net" .
509 .It Sy rtclocaltime
510 Boolean value.
511 Sets the real time clock to local time by adjusting the
512 .Xr sysctl 7
513 value of
514 .Pa kern.rtc_offset .
515 The offset from UTC is calculated automatically according
516 to the time zone information in the file
517 .Pa /etc/localtime .
518 .It Sy savecore
519 Boolean value.
520 Runs the
521 .Xr savecore 8
522 utility.
523 Passes
524 .Sy savecore_flags .
525 The directory where crash dumps are stored is specified by
526 .Sy savecore_dir .
527 The default setting is
528 .Dq Pa /var/crash .
529 .It Sy sysdb
530 Boolean value.
531 Builds various system databases, including
532 .Pa /var/run/dev.cdb ,
533 .Pa /etc/spwd.db ,
534 .Pa /var/db/netgroup.db ,
535 .Pa /var/db/services.cdb ,
536 and entries for
537 .Xr utmp 5 .
538 .It Sy tpctl
539 Boolean value.
541 .Xr tpctl 8
542 to calibrate touch panel device.
543 Passes
544 .Sy tpctl_flags .
545 .It Sy update_motd
546 Boolean value.
547 Updates the
549 version string in the
550 .Pa /etc/motd
551 file to reflect the version of the running kernel.
553 .Xr motd 5 .
554 .It Sy virecover
555 Boolean value.
556 Send notification mail to users if any recoverable files exist in
557 .Pa /var/tmp/vi.recover .
558 Read
559 .Xr virecover 8
560 for more information.
561 .It Sy wdogctl
562 Boolean value.
563 Configures watchdog timers.
564 Passes
565 .Sy wdogctl_flags .
566 Refer to
567 .Xr wdogctl 8
568 for information on how to configure a timer.
570 .Ss System security settings
571 .Bl -tag -width net_interfaces
572 .It Sy securelevel
573 A number.
574 The system securelevel is set to the specified value early
575 in the boot process, before any external logins, or other programs
576 that run users job, are started.
577 If set to nothing, the default action is taken, as described in
578 .Xr init 8
580 .Xr secmodel_securelevel 9 ,
581 which contains definitive information about the system securelevel.
582 Note that setting
583 .Sy securelevel
584 to 0 in
586 will actually result in the system booting with securelevel set to 1, as
587 .Xr init 8
588 will raise the level when
589 .Xr rc 8
590 completes.
591 .It Sy permit_nonalpha
592 Boolean value.
593 Allow passwords to include non-alpha characters, usually to allow
594 NIS/YP netgroups.
595 .It Sy veriexec
596 Boolean value.
597 Load Veriexec fingerprints during startup.
598 Read
599 .Xr veriexecctl 8
600 for more information.
601 .It Sy veriexec_strict
602 A number.
603 Controls the strict level of Veriexec.
604 Level 0 is learning mode, used when building the signatures file.
605 It will only output messages but will not enforce anything.
606 Level 1 will only prevent access to files with a fingerprint
607 mismatch.
608 Level 2 will also deny writing to and removing of
609 monitored files, as well as enforce access type (as specified in
610 the signatures file).
611 Level 3 will take a step further and prevent
612 access to files that are not monitored.
613 .It Sy veriexec_verbose
614 A number.
615 Controls the verbosity of Veriexec.
616 Recommended operation is at level 0, verbose output (mostly used when
617 building the signatures file) is at level 1.
618 Level 2 is for debugging only and should not be used.
619 .It Sy veriexec_flags
620 A string.
621 Flags to pass to the
622 .Nm veriexecctl
623 command.
625 .Ss Networking startup
626 .Bl -tag -width net_interfaces
627 .It Sy altqd
628 Boolean value.
629 ALTQ configuration/monitoring daemon.
630 Passes
631 .Sy altqd_flags .
632 .It Sy auto_ifconfig
633 Boolean value.
634 Sets the
635 .Sy net_interfaces
636 variable (see below) to the output of
637 .Xr ifconfig 8
638 with the
639 .Dq Li -l
640 flag and suppresses warnings about interfaces in this list that
641 do not have an ifconfig file or variable.
642 .It Sy dhclient
643 Boolean value.
644 Set true to configure some or all network interfaces using
645 the ISC DHCP client.
646 If you set
647 .Sy dhclient
648 true, then
649 .Pa /var
650 must be in
651 .Sy critical_filesystems_local ,
653 .Pa /var
654 must be on the root file system,
655 or you must modify the
656 .Sy dhclient_flags
657 variable to direct the DHCP client to store the leases file
658 in some other directory on the root file system.
659 You must not provide ifconfig information or ifaliases
660 information for any interface that is to be configured using the DHCP client.
661 Interface aliases can be set up in the DHCP client configuration
662 file if needed - see
663 .Xr dhclient.conf 5
664 for details.
666 Passes
667 .Sy dhclient_flags
668 to the DHCP client.
670 .Xr dhclient 8
671 for complete documentation.
672 If you wish to configure all broadcast
673 network interfaces using the DHCP client, you can leave this blank.
674 To configure only specific interfaces, name the interfaces to be configured
675 on the command line.
677 If you must run the DHCP client before mounting critical file systems,
678 then you should specify an alternate location for the DHCP client's lease
679 file in the
680 .Sy dhclient_flags
681 variable - for example, "-lf /tmp/dhclient.leases".
682 .It Sy dhcpcd
683 Boolean value.
684 Set true to configure some or all network interfaces using dhcpcd.
685 If you set
686 .Sy dhcpcd
687 true, then
688 .Pa /var
689 must be in
690 .Sy critical_filesystems_local ,
692 .Pa /var
693 must be on the root file system.
694 If you need to restrict dhcpcd to one or a number of interfaces,
695 or need a separate configuration per interface,
696 then this should be done in the configuration file - see
697 .Xr dhcpcd.conf 5
698 for details.
699 dhcpcd presently ignores the
700 .Sy wpa_supplicant
701 variable in rc.conf and will start wpa_supplicant if a suitable
702 wpa_supplicant.conf is found unless otherwise instructed in
703 .Xr dhcpcd.conf 5 .
704 .It Sy dhcpcd_flags
705 Passes
706 .Sy dhcpcd_flags
707 to dhcpcd.
709 .Xr dhcpcd 8
710 for complete documentation.
711 .It Sy flushroutes
712 Boolean value.
713 Flushes the route table on networking startup.
714 Useful when coming up to multiuser mode after going down to
715 single-user mode.
716 .It Sy ftp_proxy
717 Boolean value.
718 Runs
719 .Xr ftp-proxy 8 ,
720 the proxy daemon for the Internet File Transfer Protocol.
721 .It Sy hostapd
722 Boolean value.
723 Runs
724 .Xr hostapd 8 ,
725 the authenticator for IEEE 802.11 networks.
726 .It Sy ifaliases_*
727 A string.
728 List of
729 .Sq Em "address netmask"
730 pairs to configure additional network addresses for the given
731 configured interface
732 .Dq *
733 (e.g.
734 .Sy ifaliases_le0 ) .
736 .Em netmask
738 .Dq - ,
739 then use the default netmask for the interface.
741 .Sy ifaliases_*
742 covers limited cases only and is considered unrecommended.
743 We recommend using
744 .Sy ifconfig_nnX
745 variables or
746 .Pa /etc/ifconfig.xxN
747 files with multiple lines instead.
748 .It Sy ifwatchd
749 Boolean value.
750 Monitor dynamic interfaces and perform actions upon address changes.
751 Passes
752 .Sy ifwatchd_flags .
753 .It Sy ip6mode
754 A string.
755 An IPv6 node can be a router
756 .Pq nodes that forward packet for others
757 or a host
758 .Pq nodes that do not forward .
759 A host can be autoconfigured
760 based on the information advertised by adjacent IPv6 routers.
761 By setting
762 .Sy ip6mode
764 .Dq Li router ,
765 .Dq Li host ,
767 .Dq Li autohost ,
768 you can configure your node as a router,
769 a non-autoconfigured host, or an autoconfigured host.
770 Invalid values will be ignored, and the node will be configured as
771 a non-autoconfigured host.
772 You may want to check
773 .Sy rtsol
775 .Sy rtsold
776 as well, if you set the variable to
777 .Dq Li autohost .
778 .It Sy ip6uniquelocal
779 Boolean value.
781 .Sy ip6mode
782 is equal to
783 .Dq Li router ,
785 .Sy ip6uniquelocal
786 is false,
787 a reject route will be installed on boot to avoid misconfiguration relating
788 to unique-local addresses.
790 .Sy ip6uniquelocal
791 is true, the reject route won't be installed.
792 .It Sy ipfilter
793 Boolean value.
794 Runs
795 .Xr ipf 8
796 to load in packet filter specifications from
797 .Pa /etc/ipf.conf
798 at network boot time, before any interfaces are configured.
799 Passes
800 .Sy ipfilter_flags .
802 .Xr ipf.conf 5 .
803 .It Sy ipfs
804 Boolean value.
805 Runs
806 .Xr ipfs 8
807 to save and restore information for ipnat and ipfilter state tables.
808 The information is stored in
809 .Pa /var/db/ipf/ipstate.ipf
811 .Pa /var/db/ipf/ipnat.ipf .
812 Passes
813 .Sy ipfs_flags .
814 .It Sy ipmon
815 Boolean value.
816 Runs
817 .Xr ipmon 8
818 to read
819 .Xr ipf 8
820 packet log information and log it to a file or the system log.
821 Passes
822 .Sy ipmon_flags .
823 .It Sy ipmon_flags
824 A string.
825 Specifies arguments to supply to
826 .Xr ipmon 8 .
827 Defaults to
828 .Dq Li -ns .
829 A typical example would be
830 .Dq Fl nD Pa /var/log/ipflog
831 to have
832 .Xr ipmon 8
833 log directly to a file bypassing
834 .Xr syslogd 8 .
835 If the
836 .Dq -D
837 argument is used, remember to modify
838 .Pa /etc/newsyslog.conf
839 accordingly; for example:
840 .Bd -literal
841 /var/log/ipflog  640  10  100  *  Z  /var/run/ipmon.pid
843 .It Sy ipnat
844 Boolean value.
845 Runs
846 .Xr ipnat 8
847 to load in the IP network address translation (NAT) rules from
848 .Pa /etc/ipnat.conf
849 at network boot time, before any interfaces are configured.
851 .Xr ipnat.conf 5 .
852 .It Sy ipsec
853 Boolean value.
854 Runs
855 .Xr setkey 8
856 to load in IPsec manual keys and policies from
857 .Pa /etc/ipsec.conf
858 at network boot time, before any interfaces are configured.
859 .It Sy net_interfaces
860 A string.
861 The list of network interfaces to be configured at boot time.
862 For each interface "xxN", the system first looks for ifconfig
863 parameters in the variable
864 .Sy ifconfig_xxN ,
865 and then in the file
866 .Pa /etc/ifconfig.xxN .
868 .Sy auto_ifconfig
869 is false, and neither the variable nor the file is found,
870 a warning is printed.
871 Information in either the variable or the file is parsed identically,
872 except that, if an
873 .Sy ifconfig_xxN
874 variable contains a single line with embedded semicolons,
875 then the value is split into multiple lines prior to further parsing,
876 treating the semicolon as a line separator.
878 One common case it to set the
879 .Sy ifconfig_xxN
880 variable to a set of arguments to be passed to an
881 .Xr ifconfig 8
882 command after the interface name.
883 Refer to
884 .Xr ifconfig.if 5
885 for more details on
886 .Pa /etc/ifconfig.xxN
887 files, and note that the information there also applies to
888 .Sy ifconfig_xxN
889 variables (after the variables are split into lines).
890 .It Sy ntpdate
891 Boolean value.
892 Runs
893 .Xr ntpdate 8
894 to set the system time from one of the hosts in
895 .Sy ntpdate_hosts .
897 .Sy ntpdate_hosts
898 is empty, it will attempt to find a list of hosts in
899 .Pa /etc/ntp.conf .
900 Passes
901 .Sy ntpdate_flags .
902 .It Sy pf
903 Boolean value.
904 Enable
905 .Xr pf 4
906 at network boot time:
907 Load the initial configuration
908 .Xr pf.boot.conf 5
909 before the network is up.
910 After the network has been configured, then load the final rule set
911 .Xr pf.conf 5 .
912 .It Sy pf_rules
913 A string.
914 The path of the
915 .Xr pf.conf 5
916 rule set that will be used when loading the final rule set.
917 .It Sy pflogd
918 Boolean value.
920 .Xr pflogd 8
921 for dumping packet filter logging information to a file.
922 .It Sy ppp
923 A boolean.
924 Toggles starting
925 .Xr pppd 8
926 on startup.
928 .Sy ppp_peers
929 below.
930 .It Sy ppp_peers
931 A string.
933 .Sy ppp
934 is true and
935 .Sy ppp_peers
936 is not empty, then
937 .Pa /etc/rc.d/ppp
938 will check each word in
939 .Sy ppp_peers
940 for a corresponding ppp configuration file in
941 .Pa /etc/ppp/peers
942 and will call
943 .Xr pppd 8
944 with the
945 .Dq call Sy peer
946 option.
947 .It Sy racoon
948 Boolean value.
949 Runs
950 .Xr racoon 8 ,
951 the IKE (ISAKMP/Oakley) key management daemon.
952 .It Sy rtsol
953 Boolean value.
955 .Xr rtsol 8 ,
956 router solicitation command for IPv6 hosts.
957 On nomadic hosts like notebook computers, you may want to enable
958 .Sy rtsold
959 as well.
960 Passes
961 .Sy rtsol_flags .
962 This is only for autoconfigured IPv6 hosts, so set
963 .Sy ip6mode
965 .Dq Li autohost
966 if you use it.
967 .It Sy wpa_supplicant
968 Boolean value.
970 .Xr wpa_supplicant 8 ,
971 WPA/802.11i Supplicant for wireless network devices.
972 If you set
973 .Sy wpa_supplicant
974 true, then
975 .Pa /usr
976 must be in
977 .Sy critical_filesystems_local ,
979 .Pa /usr
980 must be on the root file system.
981 dhcpcd ignores this variable, see the
982 .Sy dhcpcd
983 variable for details.
985 .Ss Daemons required by other daemons
986 .Bl -tag -width net_interfaces
987 .It Sy inetd
988 Boolean value.
989 Runs the
990 .Xr inetd 8
991 daemon to start network server processes (as listed in
992 .Pa /etc/inetd.conf )
993 as necessary.
994 Passes
995 .Sy inetd_flags .
997 .Dq Li -l
998 flag turns on libwrap connection logging.
999 .It Sy rpcbind
1000 Boolean value.
1002 .Xr rpcbind 8
1003 daemon is required for any
1004 .Xr rpc 3
1005 services.
1006 These include NFS,
1007 .Tn NIS ,
1008 .Xr rpc.bootparamd 8 ,
1009 .Xr rpc.rstatd 8 ,
1010 .Xr rpc.rusersd 8 ,
1012 .Xr rpc.rwalld 8 .
1013 Passes
1014 .Sy rpcbind_flags .
1016 .Ss Commonly used daemons
1017 .Bl -tag -width net_interfaces
1018 .It Sy cron
1019 Boolean value.
1021 .Xr cron 8 .
1022 .It Sy ftpd
1023 Boolean value.
1024 Runs the
1025 .Xr ftpd 8
1026 daemon and passes
1027 .Sy ftpd_flags .
1028 .It Sy httpd
1029 Boolean value.
1030 Runs the
1031 .Xr httpd 8
1032 daemon and passes
1033 .Sy httpd_flags .
1034 .It Sy httpd_wwwdir
1035 A string.
1037 .Xr httpd 8
1038 WWW root directory.
1039 Used only if
1040 .Sy httpd
1041 is true.
1042 The default setting is
1043 .Dq Pa /var/www .
1044 .It Sy httpd_wwwuser
1045 A string.
1046 If non-blank and
1047 .Sy httpd
1048 is true, run
1049 .Xr httpd 8
1050 and cause it to switch to the specified user after initialization.
1051 It is preferred to
1052 .Sy httpd_user
1053 because
1054 .Xr httpd 8
1055 is requiring extra privileges to start listening on default port 80.
1056 The default setting is
1057 .Dq Dv _httpd .
1058 .It Sy lpd
1059 Boolean value.
1060 Runs
1061 .Xr lpd 8
1062 and passes
1063 .Sy lpd_flags .
1065 .Dq Li -l
1066 flag will turn on extra logging.
1067 .It Sy mdnsd
1068 Boolean value.
1069 Runs
1070 .Xr mdnsd 8 .
1071 .It Sy named
1072 Boolean value.
1073 Runs
1074 .Xr named 8
1075 and passes
1076 .Sy named_flags .
1077 .It Sy named_chrootdir
1078 A string.
1079 If non-blank and
1080 .Sy named
1081 is true, run
1082 .Xr named 8
1083 as the unprivileged user and group
1084 .Sq named ,
1085 .Xr chroot 2 Ns ed
1087 .Sy named_chrootdir .
1088 .Sy named_chrootdir Ns Pa /var/run/log
1089 will be added to the list of log sockets that
1090 .Xr syslogd 8
1091 listens to.
1092 .It Sy ntpd
1093 Boolean value.
1094 Runs
1095 .Xr ntpd 8
1096 and passes
1097 .Sy ntpd_flags .
1098 .It Sy ntpd_chrootdir
1099 A string.
1100 If non-blank and
1101 .Sy ntpd
1102 is true, run
1103 .Xr ntpd 8
1104 as the unprivileged user and group
1105 .Sq ntpd ,
1106 .Xr chroot 2 Ns ed
1108 .Sy ntpd_chrootdir .
1109 .Sy ntpd_chrootdir Ns Pa /var/run/log
1110 will be added to the list of log sockets that
1111 .Xr syslogd 8
1112 listens to.
1113 This option requires that the kernel has
1114 .Dl pseudo-device clockctl
1115 compiled in, and that
1116 .Pa /dev/clockctl
1117 is present.
1118 .It Sy postfix
1119 Boolean value.
1120 Starts
1121 .Xr postfix 1
1122 mail system.
1123 .It Sy sshd
1124 Boolean value.
1125 Runs
1126 .Xr sshd 8
1127 and passes
1128 .Sy sshd_flags .
1129 .It Sy syslogd
1130 Boolean value.
1131 Runs
1132 .Xr syslogd 8
1133 and passes
1134 .Sy syslogd_flags .
1135 .It Sy timed
1136 Boolean value.
1137 Runs
1138 .Xr timed 8
1139 and passes
1140 .Sy timed_flags .
1142 .Dq Li -M
1143 option allows
1144 .Xr timed 8
1145 to be a master time source as well as a slave.
1146 If you are also running
1147 .Xr ntpd 8 ,
1148 only one machine running both should have the
1149 .Dq Li -M
1150 flag given to
1151 .Xr timed 8 .
1153 .Ss Routing daemons
1154 .Bl -tag -width net_interfaces
1155 .It Sy mrouted
1156 Boolean value.
1157 Runs
1158 .Xr mrouted 8 ,
1159 the DVMRP multicast routing protocol daemon.
1160 Passes
1161 .Sy mrouted_flags .
1162 .It Sy route6d
1163 Boolean value.
1164 Runs
1165 .Xr route6d 8 ,
1166 the RIPng routing protocol daemon for IPv6.
1167 Passes
1168 .Sy route6d_flags .
1169 .It Sy routed
1170 Boolean value.
1171 Runs
1172 .Xr routed 8 ,
1173 the RIP routing protocol daemon.
1174 Passes
1175 .Sy routed_flags .
1176 .\" This should be false
1177 .\" if
1178 .\" .Sy gated
1179 .\" is true.
1180 .It Sy rtsold
1181 Boolean value.
1182 Runs
1183 .Xr rtsold 8 ,
1184 the IPv6 router solicitation daemon.
1185 .Xr rtsold 8
1186 periodically transmits router solicitation packets
1187 to find IPv6 routers on the network.
1188 This configuration is mainly for nomadic hosts like notebook computers.
1189 Stationary hosts should work fine with just
1190 .Sy rtsol .
1191 Passes
1192 .Sy rtsold_flags .
1193 This is only for autoconfigured IPv6 hosts, so set
1194 .Sy ip6mode
1196 .Dq Li autohost
1197 if you use it.
1199 .Ss Daemons used to boot other hosts over a network
1200 .Bl -tag -width net_interfaces
1201 .It Sy bootparamd
1202 Boolean value.
1203 Runs
1204 .Xr bootparamd 8 ,
1205 the boot parameter server, with
1206 .Sy bootparamd_flags
1207 as options.
1208 Used to boot
1211 .Tn "SunOS 4.x"
1212 systems.
1213 .It Sy dhcpd
1214 Boolean value.
1215 Runs
1216 .Xr dhcpd 8 ,
1217 the Dynamic Host Configuration Protocol (DHCP) daemon,
1218 for assigning IP addresses to hosts and passing boot information.
1219 Passes
1220 .Sy dhcpd_flags .
1221 .It Sy dhcrelay
1222 Boolean value.
1223 Runs
1224 .Xr dhcrelay 8 .
1225 Passes
1226 .Sy dhcrelay_flags .
1227 .It Sy mopd
1228 Boolean value.
1229 Runs
1230 .Xr mopd 8 ,
1232 .Tn DEC
1233 .Tn MOP
1234 protocol daemon; used for booting
1235 .Tn VAX
1236 and other
1237 .Tn DEC
1238 machines.
1239 Passes
1240 .Sy mopd_flags .
1241 .It Sy ndbootd
1242 Boolean value.
1243 Runs
1244 .Xr ndbootd 8 ,
1245 the Sun Network Disk (ND) Protocol server.
1246 Passes
1247 .Sy ndbootd_flags .
1248 .It Sy rarpd
1249 Boolean value.
1250 Runs
1251 .Xr rarpd 8 ,
1252 the reverse ARP daemon, often used to boot
1254 and Sun workstations.
1255 Passes
1256 .Sy rarpd_flags .
1257 .It Sy rbootd
1258 Boolean value.
1259 Runs
1260 .Xr rbootd 8 ,
1262 .Tn HP
1263 boot protocol daemon; used for booting
1264 .Tn HP
1265 workstations.
1266 Passes
1267 .Sy rbootd_flags .
1268 .It Sy rtadvd
1269 Boolean value.
1270 Runs
1271 .Xr rtadvd 8 ,
1272 the IPv6 router advertisement daemon, which is used to advertise
1273 information about the subnet to IPv6 end hosts.
1274 Passes
1275 .Sy rtadvd_flags .
1276 This is only for IPv6 routers, so set
1277 .Sy ip6mode
1279 .Dq Li router
1280 if you use it.
1282 .Ss X Window System daemons
1283 .Bl -tag -width net_interfaces
1284 .It Sy xdm
1285 Boolean value.
1286 Runs the
1287 .Xr xdm 1
1288 X display manager.
1289 These X daemons are available only with the optional X distribution of
1290 .Nx .
1291 .It Sy xfs
1292 Boolean value.
1293 Runs the
1294 .Xr xfs 1
1295 X11 font server, which supplies local X font files to X terminals.
1297 .Ss NIS (YP) daemons
1298 .Bl -tag -width net_interfaces
1299 .It Sy ypbind
1300 Boolean value.
1301 Runs
1302 .Xr ypbind 8 ,
1303 which lets
1304 .Tn NIS
1305 (YP) clients use information from a
1306 .Tn NIS
1307 server.
1308 Passes
1309 .Sy ypbind_flags .
1310 .It Sy yppasswdd
1311 Boolean value.
1312 Runs
1313 .Xr yppasswdd 8 ,
1314 which allows remote
1315 .Tn NIS
1316 users to update password on master server.
1317 Passes
1318 .Sy yppasswdd_flags .
1319 .It Sy ypserv
1320 Boolean value.
1321 Runs
1322 .Xr ypserv 8 ,
1324 .Tn NIS
1325 (YP) server for distributing information from certain files in
1326 .Pa /etc .
1327 Passes
1328 .Sy ypserv_flags .
1330 .Dq Li -d
1331 flag causes it to use DNS for lookups in
1332 .Pa /etc/hosts
1333 that fail.
1335 .Ss NFS daemons and parameters
1336 .Bl -tag -width net_interfaces
1337 .It Sy amd
1338 Boolean value.
1339 Runs
1340 .Xr amd 8 ,
1341 the automounter daemon, which automatically mounts NFS file systems
1342 whenever a file or directory within that file system is accessed.
1343 Passes
1344 .Sy amd_flags .
1345 .It Sy amd_dir
1346 A string.
1348 .Xr amd 8
1349 mount directory.
1350 Used only if
1351 .Sy amd
1352 is true.
1353 .It Sy lockd
1354 Boolean value.
1355 Runs
1356 .Xr rpc.lockd 8
1358 .Sy nfs_server
1359 and/or
1360 .Sy nfs_client
1361 are true.
1362 Passes
1363 .Sy lockd_flags .
1364 .It Sy mountd
1365 Boolean value.
1366 Runs
1367 .Xr mountd 8
1368 and passes
1369 .Sy mountd_flags .
1370 .It Sy nfs_client
1371 Boolean value.
1372 The number of local NFS asynchronous I/O server is now controlled via
1373 .Xr sysctl 8 .
1374 .It Sy nfs_server
1375 Boolean value.
1376 Sets up a host to be a NFS server by running
1377 .Xr nfsd 8
1378 and passing
1379 .Sy nfsd_flags .
1380 .It Sy statd
1381 Boolean value.
1382 Runs
1383 .Xr rpc.statd 8 ,
1384 a status monitoring daemon used when
1385 .Xr rpc.lockd 8
1386 is running, if
1387 .Sy nfs_server
1388 and/or
1389 .Sy nfs_client
1390 are true.
1391 Passes
1392 .Sy statd_flags .
1394 .Ss Bluetooth support
1395 .Bl -tag -width net_interfaces
1396 .It Sy bluetooth
1397 Boolean value.
1398 Configure Bluetooth support, comprising the following tasks:
1399 .Bl -dash -compact
1401 attach serial Bluetooth controllers as listed in the
1402 .Pa /etc/bluetooth/btattach.conf
1403 configuration file.
1405 enable Bluetooth controllers with useful defaults, plus
1406 additional options as detailed below.
1408 optionally, start
1409 .Xr bthcid 8 ,
1410 the Bluetooth Link Key/PIN Code manager, passing
1411 .Sy bthcid_flags .
1413 configure local Bluetooth drivers as listed in the
1414 .Pa /etc/bluetooth/btdevctl.conf
1415 configuration file.
1417 optionally, start
1418 .Xr sdpd 8 ,
1419 the Service Discovery server, passing
1420 .Sy sdpd_flags .
1422 .It Sy btconfig_devices
1423 A string.
1424 An optional list of Bluetooth controllers to configure.
1425 .It Sy btconfig_{dev}
1426 A string.
1427 Additional configuration options for specific Bluetooth controllers.
1428 .It Sy btconfig_args
1429 A string.
1430 Additional configuration options for Bluetooth controllers without
1431 specific options as above.
1432 .It Sy bthcid
1433 Boolean value.
1434 If set to false, disable starting the Bluetooth Link Key/PIN Code manager.
1435 .It Sy sdpd
1436 Boolean value.
1437 If set to false, disable starting the Bluetooth Service Discovery server.
1439 .Ss Other daemons
1440 .Bl -tag -width net_interfaces
1441 .It Sy identd
1442 Boolean value.
1443 Runs
1444 .Xr identd 8 ,
1445 the daemon for the user identification protocol.
1446 Passes
1447 .Sy identd_flags .
1448 .It Sy iscsi_target
1449 Boolean value.
1450 Runs the server for iSCSI requests,
1451 .Xr iscsi-target 8 .
1452 Passes
1453 .Sy iscsi_target_flags .
1454 .It Sy isdnd
1455 Boolean value.
1456 Runs
1457 .Xr isdnd 8 ,
1458 the isdn4bsd ISDN connection management daemon.
1459 Passes
1460 .Sy isdnd_flags .
1461 .It Sy isdn_autoupdown
1462 Boolean value.
1463 Set all configured ISDN interfaces to
1464 .Dq up .
1466 .Sy isdn_interfaces
1467 is not blank, only the listed interfaces will be modified.
1468 Used only if
1469 .Sy isdnd
1470 is true.
1471 .It Sy kdc
1472 Boolean value.
1473 Runs the
1474 .Xr kdc 8
1475 Kerberos v4 and v5 server.
1476 This should be run on Kerberos master and slave servers.
1477 .It Sy rwhod
1478 Boolean value.
1479 Runs
1480 .Xr rwhod 8
1481 to support the
1482 .Xr rwho 1
1484 .Xr ruptime 1
1485 commands.
1487 .Ss Hardware daemons
1488 .Bl -tag -width net_interfaces
1489 .It Sy apmd
1490 Boolean value.
1491 Runs
1492 .Xr apmd 8
1493 and passes
1494 .Sy apmd_flags .
1495 .It Sy irdaattach
1496 Boolean value.
1497 Runs
1498 .Xr irdaattach 8
1499 and passes
1500 .Sy irdaattach_flags .
1501 .It Sy moused
1502 Boolean value.
1503 Runs
1504 .Xr moused 8 ,
1505 to pass serial mouse data to the wscons mouse mux.
1506 Passes
1507 .Sy moused_flags .
1508 .It Sy screenblank
1509 Boolean value.
1510 Runs
1511 .Xr screenblank 1
1512 and passes
1513 .Sy screenblank_flags .
1514 .It Sy wscons
1515 Boolean value.
1516 Configures the
1517 .Xr wscons 4
1518 console driver, from the configuration file
1519 .Pa /etc/wscons.conf .
1520 .It Sy wsmoused
1521 Boolean value.
1522 Runs
1523 .Xr wsmoused 8 ,
1524 to provide copy and paste text support in wscons displays.
1525 Passes
1526 .Sy wsmoused_flags .
1528 .Sh FILES
1529 .Bl -tag -width /etc/defaults/rc.conf -compact
1530 .It Pa /etc/rc.conf
1531 The file
1533 resides in
1534 .Pa /etc .
1535 .It Pa /etc/defaults/rc.conf
1536 Default settings for
1537 .Nm ,
1538 sourced by
1540 before the end-user configuration section.
1541 .It Pa /etc/rc.conf.d/ Ns Ar foo
1542 .Ar foo Ns No -specific
1544 overrides.
1546 .Sh SEE ALSO
1547 .Xr boot 8 ,
1548 .Xr rc 8 ,
1549 .Xr rc.d 8 ,
1550 .Xr rc.subr 8 ,
1551 .Xr rcorder 8
1552 .Sh HISTORY
1555 file appeared in
1556 .Nx 1.3 .