xref: /netbsd-src/share/man/man8/afterboot.8 (revision 6a493d6bc668897c91594964a732d38505b70cbb)
1.\"	$NetBSD: afterboot.8,v 1.52 2012/10/05 21:28:38 wiz Exp $
2.\"	$OpenBSD: afterboot.8,v 1.72 2002/02/22 02:02:33 miod Exp $
3.\"
4.\" Originally created by Marshall M. Midden -- 1997-10-20, m4@umn.edu
5.\" Adapted to NetBSD by Julio Merino -- 2002-05-10, jmmv@NetBSD.org
6.\"
7.\"
8.\" Copyright (c) 2002-2008 The NetBSD Foundation, Inc.
9.\" All rights reserved.
10.\"
11.\" Redistribution and use in source and binary forms, with or without
12.\" modification, are permitted provided that the following conditions
13.\" are met:
14.\" 1. Redistributions of source code must retain the above copyright
15.\"    notice, this list of conditions and the following disclaimer.
16.\" 2. Redistributions in binary form must reproduce the above copyright
17.\"    notice, this list of conditions and the following disclaimer in the
18.\"    documentation and/or other materials provided with the distribution.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
21.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
24.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30.\" POSSIBILITY OF SUCH DAMAGE.
31.\"
32.\"
33.\" Copyright (c) 1997 Marshall M. Midden
34.\" All rights reserved.
35.\"
36.\" Redistribution and use in source and binary forms, with or without
37.\" modification, are permitted provided that the following conditions
38.\" are met:
39.\"
40.\" 1. Redistributions of source code must retain the above copyright
41.\"    notice, this list of conditions and the following disclaimer.
42.\" 2. Redistributions in binary form must reproduce the above copyright
43.\"    notice, this list of conditions and the following disclaimer in the
44.\"    documentation and/or other materials provided with the distribution.
45.\" 3. All advertising materials mentioning features or use of this software
46.\"    must display the following acknowledgement:
47.\"	This product includes software developed by Marshall M. Midden.
48.\" 4. The name of the author may not be used to endorse or promote products
49.\"    derived from this software without specific prior written permission.
50.\"
51.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
52.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
53.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
54.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
55.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
56.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
57.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
58.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
59.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
60.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
61.\"
62.Dd October 2, 2012
63.Dt AFTERBOOT 8
64.Os
65.Sh NAME
66.Nm afterboot
67.Nd things to check after the first complete boot
68.Sh DESCRIPTION
69.Ss Starting Out
70This document attempts to list items for the system administrator
71to check and set up after the installation and first complete boot of the
72system.
73The idea is to create a list of items that can be checked off so that you have
74a warm fuzzy feeling that something obvious has not been missed.
75A basic knowledge of
76.Ux
77is assumed.
78.Pp
79Complete instructions for correcting and fixing items is not provided.
80There are manual pages and other methodologies available for doing that.
81For example, to view the man page for the
82.Xr ls 1
83command, type:
84.Bd -literal -offset indent
85.Ic man 1 ls
86.Ed
87.Pp
88Administrators will rapidly become more familiar with
89.Nx
90if they get used to using the manual pages.
91.Ss Security alerts
92By the time that you have installed your system, it is quite likely that
93bugs in the release have been found.
94All significant and easily fixed problems will be reported at
95.Lk http://www.NetBSD.org/support/security/ .
96It is recommended that you check this page regularly.
97.Pp
98Additionally, you should set
99.Dq fetch_pkg_vulnerabilities=YES
100in
101.Pa /etc/daily.conf
102to allow your system to automatically update the local database of known
103vulnerable packages to the latest version available on-line.
104The system will later check, on a daily basis, if any of your installed
105packages are vulnerable based on the contents of this database.
106See
107.Xr daily.conf 5
108and
109.Xr security.conf 5
110for more details.
111.Ss Login
112Login as
113.Dq Ic root .
114You can do so on the console, or over the network using
115.Xr ssh 1 .
116If you have enabled the SSH daemon (see
117.Xr sshd 8 )
118and wish to allow root logins over the network, edit the
119.Pa /etc/ssh/sshd_config
120file and set
121.Dq PermitRootLogin
122to
123.Dq yes
124(see
125.Xr sshd_config 5 ) .
126The default is to not permit root logins over the network
127after fresh install in
128.Nx .
129.Pp
130Upon successful login on the console, you may see the message
131.Dq We recommend creating a non-root account... .
132For security reasons, it is bad practice to login as root during
133regular use and maintenance of the system.
134In fact, the system will only let you login as root on a secure
135terminal.
136By default, only the console is considered to be a secure terminal.
137Instead, administrators are encouraged to add a
138.Dq regular
139user, add said user to the
140.Dq wheel
141group, then use the
142.Xr su 1
143command when root privileges are required.
144This process is described in more detail later.
145.Ss Root password
146Change the password for the root user.
147(Note that throughout the documentation, the term
148.Dq superuser
149is a synonym for the root user.)
150Choose a password that has numbers, digits, and special characters (not space)
151as well as from the upper and lower case alphabet.
152Do not choose any word in any language.
153It is common for an intruder to use dictionary attacks.
154Type the command
155.Ic /usr/bin/passwd
156to change it.
157.Pp
158It is a good idea to always specify the full path name for both the
159.Xr passwd 1
160and
161.Xr su 1
162commands as this inhibits the possibility of files placed in your execution
163.Ev PATH
164for most shells.
165Furthermore, the superuser's
166.Ev PATH
167should never contain the current directory
168.Po Dq \&.
169.Pc .
170.Ss System date
171Check the system date with the
172.Xr date 1
173command.
174If needed, change the date, and/or change the symbolic link of
175.Pa /etc/localtime
176to the correct time zone in the
177.Pa /usr/share/zoneinfo
178directory.
179.Pp
180Examples:
181.Bl -tag -width date
182.It Cm date 200205101820
183Set the current date to May 10th, 2002 6:20pm.
184.It Cm ln -fs /usr/share/zoneinfo/Europe/Helsinki /etc/localtime
185Set the time zone to Eastern Europe Summer Time.
186.El
187.Ss Console settings
188One of the first things you will likely need to do is to set up your
189keyboard map (and maybe some other aspects about the system console).
190To change your keyboard encoding, edit the
191.Dq Va encoding
192variable found in
193.Pa /etc/wscons.conf .
194.Pp
195.Xr wscons.conf 5
196contains more information about this file.
197.Ss Check hostname
198Use the
199.Ic hostname
200command to verify that the name of your machine is correct.
201See the man page for
202.Xr hostname 1
203if it needs to be changed.
204You will also need to change the contents of the
205.Dq Va hostname
206variable in
207.Pa /etc/rc.conf
208or edit the
209.Pa /etc/myname
210file to have it stick around for the next reboot.
211Note that
212.Dq Va hostname
213is supposed include a domainname, and that this should
214not be confused with YP (NIS)
215.Xr domainname 1 .
216If you are using
217.Xr dhcpcd 8
218to configure network interfaces, it might override these local hostname
219settings if your DHCP server specifies client's hostname with other network
220configurations.
221.Ss Verify network interface configuration
222The first thing to do is an
223.Ic ifconfig -a
224to see if the network interfaces are properly configured.
225Correct by editing
226.Pa /etc/ifconfig. Ns Ar interface
227or the corresponding
228.Dq Va ifconfig_ Ns Ar interface
229variable in
230.Xr rc.conf 5
231(where
232.Ar interface
233is the interface name, e.g.,
234.Dq le0 )
235and then using
236.Xr ifconfig 8
237to manually configure it
238if you do not wish to reboot.
239.Pp
240Alternatively, you can configure interfaces automatically via DHCP with
241.Xr dhcpcd 8
242if you have a DHCP server running somewhere on your network.
243To get
244.Xr dhcpcd 8
245to start automatically on boot,
246you will need to have this line in
247.Pa /etc/rc.conf :
248.Pp
249.Dl dhcpcd=YES
250.Pp
251See
252.Xr dhcpcd 8
253and
254.Xr dhcpcd.conf 5
255for more information on setting up a DHCP client.
256.Pp
257You can add new
258.Dq virtual interfaces
259by adding the required entries to
260.Pa /etc/ifconfig. Ns Ar interface .
261Read the
262.Xr ifconfig.if 5
263man page for more information on the format of
264.Pa /etc/ifconfig. Ns Ar interface
265files.
266The loopback interface will look something like:
267.Bd -literal -offset indent
268lo0: flags=8009\*[Lt]UP,LOOPBACK,MULTICAST\*[Gt] mtu 32972
269	inet 127.0.0.1 netmask 0xff000000
270	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
271	inet6 ::1 prefixlen 128
272.Ed
273.Pp
274an Ethernet interface something like:
275.Bd -literal -offset indent
276le0: flags=9863\*[Lt]UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST\*[Gt]
277	inet 192.168.4.52 netmask 0xffffff00 broadcast 192.168.4.255
278	inet6 fe80::5ef0:f0f0%le0 prefixlen 64 scopeid 0x1
279.Ed
280.Pp
281and a PPP interface something like:
282.Bd -literal -offset indent
283ppp0: flags=8051\*[Lt]UP,POINTOPOINT,RUNNING,MULTICAST\*[Gt]
284        inet 203.3.131.108 --\*[Gt] 198.181.0.253 netmask 0xffff0000
285.Ed
286.Pp
287See
288.Xr mrouted 8
289for instructions on configuring multicast routing.
290.Ss Check routing tables
291Issue a
292.Ic netstat -rn
293command.
294The output will look something like:
295.Bd -literal -offset indent
296Routing tables
297
298Internet:
299Destination    Gateway           Flags  Refs     Use  Mtu  Interface
300default        192.168.4.254     UGS      0 11098028    -  le0
301127            127.0.0.1         UGRS     0        0    -  lo0
302127.0.0.1      127.0.0.1         UH       3       24    -  lo0
303192.168.4      link#1            UC       0        0    -  le0
304192.168.4.52   8:0:20:73:b8:4a   UHL      1     6707    -  le0
305192.168.4.254  0:60:3e:99:67:ea  UHL      1        0    -  le0
306
307Internet6:
308Destination        Gateway       Flags  Refs  Use     Mtu  Interface
309::/96              ::1           UGRS     0     0   32972  lo0 =\*[Gt]
310::1                ::1           UH       4     0   32972  lo0
311::ffff:0.0.0.0/96  ::1           UGRS     0     0   32972  lo0
312fc80::/10          ::1           UGRS     0     0   32972  lo0
313fe80::/10          ::1           UGRS     0     0   32972  lo0
314fe80::%le0/64      link#1        UC       0     0    1500  le0
315fe80::%lo0/64      fe80::1%lo0   U        0     0   32972  lo0
316ff01::/32          ::1           U        0     0   32972  lo0
317ff02::%le0/32      link#1        UC       0     0    1500  le0
318ff02::%lo0/32      fe80::1%lo0   UC       0     0   32972  lo0
319.Ed
320.Pp
321The default gateway address is stored in the
322.Dq Va defaultroute
323variable in
324.Pa /etc/rc.conf ,
325or in the file
326.Pa /etc/mygate .
327If you need to edit this file, a painless way to reconfigure the network
328afterwards is to issue
329.Bd -literal -offset indent
330.Ic /etc/rc.d/network restart
331.Ed
332.Pp
333Or, you may prefer to manually configure using a series of
334.Ic route add
335and
336.Ic route delete
337commands (see
338.Xr route 8 ) .
339If you run
340.Xr dhclient 8
341you will have to kill it by running
342.Bd -literal -offset indent
343.Ic /etc/rc.d/dhclient stop
344.Ed
345.Pp
346If you run
347.Xr dhcpcd 8
348you will have to kill it by running
349.Bd -literal -offset indent
350.Ic /etc/rc.d/dhcpcd stop
351.Ed
352.Pp
353before you flush the routes.
354.Pp
355If you wish to route packets between interfaces, add one or both
356of the following directives (depending on whether IPv4 or IPv6 routing
357is required) to
358.Pa /etc/sysctl.conf :
359.Pp
360.Dl net.inet.ip.forwarding=1
361.Dl net.inet6.ip6.forwarding=1
362.Pp
363As an alternative, compile a new kernel with the
364.Dq GATEWAY
365option.
366Packets are not forwarded by default, due to RFC requirements.
367.Ss Secure Shell (SSH)
368By default, all services are disabled in a fresh
369.Nx
370installation, and SSH is no exception.
371You may wish to enable it so you can remotely control your system.
372Set
373.Dq Va sshd=YES
374in
375.Pa /etc/rc.conf
376and then starting the server with the command
377.Bd -literal -offset indent
378.Ic /etc/rc.d/sshd start
379.Ed
380.Pp
381The first time the server is started, it will generate a new keypair,
382which will be stored inside the directory
383.Pa /etc/ssh .
384.Ss Host names and DNS
385The system resolves host names according the rules for hosts in the
386name service switch configuration at
387.Pa /etc/nsswitch.conf .
388By default, it will query
389.Pa /etc/hosts
390first, and then the DNS resolver specified in
391.Pa /etc/resolv.conf .
392.Pp
393If your network does not have a usable DNS resolver, e.g. one provided
394by DHCP, you can run a local caching recursive resolver by setting
395.Dq named=YES
396in
397.Pa /etc/rc.conf
398and either rebooting or running the following command:
399.Bd -literal -offset indent
400.Ic /etc/rc.d/named start
401.Ed
402.Pp
403.Xr named 8
404is configured in
405.Pa /etc/named.conf
406by default to run as a local caching recursive resolver.
407Then, to make the system use it, put the following in
408.Pa /etc/resolv.conf :
409.Bd -literal -offset indent
410nameserver 127.0.0.1
411.Ed
412.Ss RPC-based network services
413Several services depend on the RPC portmapper
414.Xr rpcbind 8
415- formerly known as
416.Ic portmap
417- being running for proper operation.
418This includes YP (NIS) and NFS exports, among other services.
419To get the RPC portmapper to start automatically on boot,
420you will need to have this line in
421.Pa /etc/rc.conf :
422.Pp
423.Dl rpcbind=YES
424.Ss YP (NIS) Setup
425Check the YP domain name with the
426.Xr domainname 1
427command.
428If necessary, correct it by editing the
429.Pa /etc/defaultdomain
430file or by setting the
431.Dq Va domainname
432variable in
433.Pa /etc/rc.conf .
434The
435.Pa /etc/rc.d/network
436script reads this file on bootup to determine and set the domain name.
437You may also set the running system's domain name with the
438.Xr domainname 1
439command.
440To start YP client services, simply run
441.Ic ypbind ,
442then perform the remaining
443YP activation as described in
444.Xr passwd 5
445and
446.Xr group 5 .
447.Pp
448In particular, to enable YP passwd support, you'll need to update
449.Pa /etc/nsswitch.conf
450to include
451.Dq nis
452for the
453.Dq passwd
454and
455.Dq group
456entries.
457A traditional way to accomplish the same thing is to
458add following entry to local passwd database via
459.Xr vipw 8 :
460.Bd -literal -offset indent
461.Li +:*::::::::
462.Ed
463.Pp
464Note this entry has to be the very last one.
465This traditional way works with the default
466.Xr nsswitch.conf 5
467setting of
468.Dq passwd ,
469which is
470.Dq compat .
471.Pp
472There are many more YP man pages available to help you.
473You can find more information by starting with
474.Xr nis 8 .
475.Ss Check disk mounts
476Check that the disks are mounted correctly by
477comparing the
478.Pa /etc/fstab
479file against the output of the
480.Xr mount 8
481and
482.Xr df 1
483commands.
484Example:
485.Bd -literal -offset indent
486.Li # Ic cat /etc/fstab
487/dev/sd0a / ffs     rw              1 1
488/dev/sd0b none swap sw
489/dev/sd0e /usr ffs  rw              1 2
490/dev/sd0f /var ffs  rw              1 3
491/dev/sd0g /tmp ffs  rw              1 4
492/dev/sd0h /home ffs rw              1 5
493
494.Li # Ic mount
495/dev/sd0a on / type ffs (local)
496/dev/sd0e on /usr type ffs (local)
497/dev/sd0f on /var type ffs (local)
498/dev/sd0g on /tmp type ffs (local)
499/dev/sd0h on /home type ffs (local)
500
501.Li # Ic df
502Filesystem  1024-blocks     Used    Avail Capacity  Mounted on
503/dev/sd0a         22311    14589     6606    69%    /
504/dev/sd0e        203399   150221    43008    78%    /usr
505/dev/sd0f         10447      682     9242     7%    /var
506/dev/sd0g         18823        2    17879     0%    /tmp
507/dev/sd0h          7519     5255     1888    74%    /home
508
509.Li # Ic pstat -s
510Device      512-blocks     Used    Avail Capacity  Priority
511/dev/sd0b       131072    84656    46416    65%    0
512.Ed
513.Pp
514Edit
515.Pa /etc/fstab
516and use the
517.Xr mount 8
518and
519.Xr umount 8
520commands as appropriate.
521Refer to the above example and
522.Xr fstab 5
523for information on the format of this file.
524.Pp
525You may wish to do NFS mounts now too, or you can do them later.
526.Ss Concatenated disks (ccd)
527If you are using
528.Xr ccd 4
529concatenated disks, edit
530.Pa /etc/ccd.conf .
531You may wish to take a look to
532.Xr ccdconfig 8
533for more information about this file.
534Use the
535.Ic ccdconfig -U
536command to unload and the
537.Ic ccdconfig -C
538command to create tables internal to the kernel for the concatenated disks.
539You then
540.Xr mount 8 ,
541.Xr umount 8 ,
542and edit
543.Pa /etc/fstab
544as needed.
545.Ss Automounter daemon (AMD)
546To use the
547.Xr amd 8
548automounter, create the
549.Pa /etc/amd
550directory, copy example config files from
551.Pa /usr/share/examples/amd
552to
553.Pa /etc/amd
554and customize them as needed.
555Alternatively, you can get your maps with YP.
556.Ss Clock synchronization
557In order to make sure the system clock is synchronized
558to that of a publicly accessible NTP server,
559make sure that
560.Pa /etc/rc.conf
561contains the following:
562.Pp
563.Dl ntpdate=YES
564.Dl ntpd=YES
565.Pp
566See
567.Xr date 1 ,
568.Xr ntpdate 8 ,
569.Xr ntpd 8 ,
570.Xr rdate 8 ,
571and
572.Xr timed 8
573for more information on setting the system's date.
574.Sh CHANGING /etc FILES
575The system should be usable now, but you may wish to do more customizing,
576such as adding users, etc.
577Many of the following sections may be skipped
578if you are not using that package (for example, skip the
579.Sx Kerberos
580section if you won't be using Kerberos).
581We suggest that you
582.Ic cd /etc
583and edit most of the files in that directory.
584.Pp
585Note that the
586.Pa /etc/motd
587file is modified by
588.Pa /etc/rc.d/motd
589whenever the system is booted.
590To keep any custom message intact, ensure that you leave two blank lines
591at the top, or your message will be overwritten.
592.Ss Add new users
593To add new users and groups, there are
594.Xr useradd 8
595and
596.Xr groupadd 8 ;
597see also
598.Xr user 8
599for further programs for user and group manipulation.
600You may use
601.Xr vipw 8
602to add users to the
603.Pa /etc/passwd
604file
605and edit
606.Pa /etc/group
607by hand to add new groups.
608The manual page for
609.Xr su 1 ,
610tells you to make sure to put people in
611the
612.Sq wheel
613group if they need root access (non-Kerberos).
614For example:
615.Bd -literal -offset indent
616wheel:*:0:root,myself
617.Ed
618.Pp
619Follow instructions for
620.Xr kerberos 8
621if using
622Kerberos
623for authentication.
624.Ss System boot scripts and /etc/rc.local
625.Pa /etc/rc
626and the
627.Pa /etc/rc.d/*
628scripts are invoked at boot time after single user mode has exited,
629and at shutdown.
630The whole process is controlled by the master script
631.Pa /etc/rc .
632This script should not be changed by administrators.
633.Pp
634The directory
635.Pa /etc/rc.d
636contains a series of scripts used at startup/shutdown, called by
637.Pa /etc/rc .
638.Pa /etc/rc
639is in turn influenced by the configuration variables present in
640.Pa /etc/rc.conf .
641.Pp
642The script
643.Pa /etc/rc.local
644is run as the last thing during multiuser boot, and is provided
645to allow any other local hooks necessary for the system.
646.Ss rc.conf
647To enable or disable various services on system startup,
648corresponding entries can be made in
649.Pa /etc/rc.conf .
650You can take a look at
651.Pa /etc/defaults/rc.conf
652to see a list of default system variables, which you can override in
653.Pa /etc/rc.conf .
654Note you are
655.Em not
656supposed to change
657.Pa /etc/defaults/rc.conf
658directly, edit only
659.Pa /etc/rc.conf .
660See
661.Xr rc.conf 5
662for further information.
663.Ss X Display Manager
664If you've installed X, you may want to turn on
665.Xr xdm 1 ,
666the X Display Manager.
667To do this, set
668.Dq xdm=YES
669in
670.Pa /etc/rc.conf .
671.Ss Printers
672Edit
673.Pa /etc/printcap
674and
675.Pa /etc/hosts.lpd
676to get any printers set up.
677Consult
678.Xr lpd 8
679and
680.Xr printcap 5
681if needed.
682.Ss Tighten up security
683In
684.Pa /etc/inetd.conf
685comment out any extra entries you do not need, and only add things
686that are really needed.
687Note that by default all services are disabled for security reasons.
688.Ss Kerberos
689If you are going to use Kerberos for authentication,
690see
691.Xr kerberos 8
692and
693.Dq info heimdal
694for more information.
695If you already have a Kerberos master, change directory to
696.Pa /etc/kerberosV
697and configure.
698Remember to get a
699.Pa srvtab
700from the master so that the remote commands work.
701.Ss Mail Aliases
702Check
703.Pa /etc/mail/aliases
704and update appropriately if you want e-mail to be routed
705to non-local addresses or to different users.
706.Pp
707Run
708.Xr newaliases 1
709after changes.
710.Ss Postfix
711.Nx
712uses Postfix as its MTA.
713Postfix is started by default, but its initial configuration does not
714cause it to listen on the network for incoming connections.
715To configure Postfix, see
716.Pa /etc/postfix/main.cf
717and
718.Pa /etc/postfix/master.cf .
719If you wish to use a different MTA (e.g., sendmail), install your MTA of
720choice and edit
721.Pa /etc/mailer.conf
722to point to the proper binaries.
723.Ss DHCP server
724If this is a
725DHCP
726server, edit
727.Pa /etc/dhcpd.conf
728and
729.Pa /etc/dhcpd.interfaces
730as needed.
731You will have to make sure
732.Pa /etc/rc.conf
733has
734.Dq dhcpd=YES
735or run
736.Xr dhcpd 8
737manually.
738.Ss Bootparam server
739If this is a
740Bootparam
741server, edit
742.Pa /etc/bootparams
743as needed.
744You will have to turn it on in
745.Pa /etc/rc.conf
746by adding
747.Dq bootparamd=YES .
748.Ss NFS server
749If this is an NFS server, make sure
750.Pa /etc/rc.conf
751has:
752.Bd -literal -offset indent
753nfs_server=YES
754mountd=YES
755rpcbind=YES
756.Ed
757.Pp
758Edit
759.Pa /etc/exports
760and get it correct.
761After this, you can start the server by issuing:
762.Bd -literal -offset indent
763.Ic /etc/rc.d/rpcbind start
764.Ic /etc/rc.d/mountd start
765.Ic /etc/rc.d/nfsd start
766.Ed
767which will also start dependencies.
768.Ss HP remote boot server
769Edit
770.Pa /etc/rbootd.conf
771if needed for remote booting.
772If you do not have HP computers doing remote booting, do not enable this.
773.Ss Daily, weekly, monthly scripts
774Look at and possibly edit the
775.Pa /etc/daily.conf , /etc/weekly.conf ,
776and
777.Pa /etc/monthly.conf
778configuration files.
779You can check which values you can set by looking
780to their matching files in
781.Pa /etc/defaults .
782Your site specific things should go into
783.Pa /etc/daily.local , /etc/weekly.local ,
784and
785.Pa /etc/monthly.local .
786.Pp
787These scripts have been limited so as to keep the system running without
788filling up disk space from normal running processes and database updates.
789(You probably do not need to understand them.)
790.Ss Other files in /etc
791Look at the other files in
792.Pa /etc
793and edit them as needed.
794(Do not edit files ending in
795.Pa .db
796\(em like
797.Pa pwd.db , spwd.db ,
798nor
799.Pa localtime ,
800nor
801.Pa rmt ,
802nor any directories.)
803.Ss Crontab (background running processes)
804Check what is running by typing
805.Ic crontab -l
806as root
807and see if anything unexpected is present.
808Do you need anything else?
809Do you wish to change things?
810For example, if you do not
811like root getting standard output of the daily scripts, and want only
812the security scripts that are mailed internally, you can type
813.Ic crontab -e
814and change some of the lines to read:
815.Bd -literal -offset indent
81630  1  *  *  *   /bin/sh /etc/daily 2\*[Gt]\*[Am]1 \*[Gt] /var/log/daily.out
81730  3  *  *  6   /bin/sh /etc/weekly 2\*[Gt]\*[Am]1 \*[Gt] /var/log/weekly.out
81830  5  1  *  *   /bin/sh /etc/monthly 2\*[Gt]\*[Am]1 \*[Gt] /var/log/monthly.out
819.Ed
820.Pp
821See
822.Xr crontab 5 .
823.Ss Next day cleanup
824After the first night's security run, change ownerships and permissions
825on files, directories, and devices; root should have received mail
826with subject: "\*[Lt]hostname\*[Gt] daily insecurity output.".
827This mail contains
828a set of security recommendations, presented as a list looking like this:
829.Bd -literal -offset indent
830var/mail:
831        permissions (0755, 0775)
832etc/daily:
833        user (0, 3)
834.Ed
835.Pp
836The best bet is to follow the advice in that list.
837The recommended setting is the first item in parentheses, while
838the current setting is the second one.
839This list is generated by
840.Xr mtree 8
841using
842.Pa /etc/mtree/special .
843Use
844.Xr chmod 1 ,
845.Xr chgrp 1 ,
846and
847.Xr chown 8
848as needed.
849.Ss Packages
850Install your own packages.
851The
852.Nx
853packages collection, pkgsrc, includes a large set of third-party software.
854A lot of it is available as binary packages that you can download from
855.Lk ftp://ftp.NetBSD.org/pub/NetBSD/packages/
856or a mirror, and install using
857.Xr pkg_add 1 .
858See
859.Lk http://www.NetBSD.org/docs/pkgsrc/
860and
861.Pa pkgsrc/doc/pkgsrc.txt
862for more details.
863.Pp
864Copy vendor binaries and install them.
865You will need to install any shared libraries, etc.
866(Hint:
867.Ic man -k compat
868to find out how to install and use compatibility mode.)
869.Pp
870There is also other third-party software that is available
871in source form only, either because it has not been ported to
872.Nx
873yet, because licensing restrictions make binary redistribution
874impossible, or simply because you want to build your own binaries.
875Sometimes checking the mailing lists for
876past problems that people have encountered will result in a fix posted.
877.Ss Check the running system
878You can use
879.Xr ps 1 ,
880.Xr netstat 1 ,
881and
882.Xr fstat 1
883to check on running processes, network connections, and opened files,
884respectively.
885Other tools you may find useful are
886.Xr systat 1
887and
888.Xr top 1 .
889.Sh COMPILING A KERNEL
890Note:
891The standard
892.Nx
893kernel configuration (GENERIC) is suitable for most purposes.
894.Pp
895First, review the system message buffer in
896.Pa /var/run/dmesg.boot
897and by using the
898.Xr dmesg 8
899command to find out information on your system's devices as probed by the
900kernel at boot.
901In particular, note which devices were not configured.
902This information will prove useful when editing kernel configuration files.
903.Pp
904To compile a kernel inside a writable source tree, do the following:
905.Bd -literal -offset indent
906$ cd /usr/src/sys/arch/SOMEARCH/conf
907$ cp GENERIC SOMEFILE (only the first time)
908$ vi SOMEFILE (adapt to your needs)
909$ config SOMEFILE
910$ cd ../compile/SOMEFILE
911$ make depend
912$ make
913.Ed
914.Pp
915where
916.Ar SOMEARCH
917is the architecture (e.g., i386), and
918.Ar SOMEFILE
919should be a name indicative of a particular configuration (often
920that of the hostname).
921.Pp
922If you are building your kernel again, before you do a
923.Ic make
924you should do a
925.Ic make clean
926after making changes to your kernel options.
927.Pp
928After either of these two methods, you can place the new kernel (called
929.Pa netbsd )
930in
931.Pa /
932(i.e.,
933.Pa /netbsd )
934by issuing
935.Ic make install
936and the system will boot it next time.
937The old kernel is stored as
938.Pa /onetbsd
939so you can boot it in case of failure.
940.Pp
941If you are using toolchain to build your kernel, you will also need to
942build a new set of toolchain binaries.
943You can do it by changing into
944.Pa /usr/src
945and issuing:
946.Bd -literal -offset indent
947$ cd /usr/src
948$ K=sys/arch/`uname -m`/conf
949$ cp $K/GENERIC $K/SOMEFILE
950$ vi $K/SOMEFILE (adapt to your needs)
951$ ./build.sh tools
952$ ./build.sh kernel=SOMEFILE
953.Ed
954.Sh SYSTEM TESTING
955At this point, the system should be fully configured to your liking.
956It is now a good time to ensure that the system behaves according to
957its specifications and that it is stable on your hardware.
958Please refer to
959.Xr tests 7
960for details on how to do so.
961.Sh SEE ALSO
962.Xr chgrp 1 ,
963.Xr chmod 1 ,
964.Xr config 1 ,
965.Xr crontab 1 ,
966.Xr date 1 ,
967.Xr df 1 ,
968.Xr domainname 1 ,
969.Xr fstat 1 ,
970.Xr hostname 1 ,
971.Xr make 1 ,
972.Xr man 1 ,
973.Xr netstat 1 ,
974.Xr newaliases 1 ,
975.Xr passwd 1 ,
976.Xr pkg_add 1 ,
977.Xr ps 1 ,
978.Xr ssh 1 ,
979.Xr su 1 ,
980.Xr systat 1 ,
981.Xr top 1 ,
982.Xr xdm 1 ,
983.Xr ccd 4 ,
984.Xr aliases 5 ,
985.Xr crontab 5 ,
986.Xr dhclient.conf 5 ,
987.Xr dhcpcd.conf 5 ,
988.Xr exports 5 ,
989.Xr fstab 5 ,
990.Xr group 5 ,
991.Xr hosts 5 ,
992.Xr ifconfig.if 5 ,
993.Xr mailer.conf 5 ,
994.Xr named.conf 5 ,
995.Xr nsswitch.conf 5 ,
996.Xr passwd 5 ,
997.Xr printcap 5 ,
998.Xr rc.conf 5 ,
999.Xr resolv.conf 5 ,
1000.Xr sshd_config 5 ,
1001.Xr wscons.conf 5 ,
1002.Xr hier 7 ,
1003.Xr hostname 7 ,
1004.Xr pkgsrc 7 ,
1005.Xr tests 7 ,
1006.Xr amd 8 ,
1007.Xr ccdconfig 8 ,
1008.Xr chown 8 ,
1009.Xr dhclient 8 ,
1010.Xr dhcpcd 8 ,
1011.Xr dhcpd 8 ,
1012.Xr dmesg 8 ,
1013.Xr groupadd 8 ,
1014.Xr ifconfig 8 ,
1015.Xr inetd 8 ,
1016.Xr kerberos 8 ,
1017.Xr lpd 8 ,
1018.Xr mount 8 ,
1019.Xr mrouted 8 ,
1020.Xr mtree 8 ,
1021.Xr named 8 ,
1022.Xr nis 8 ,
1023.Xr ntpd 8 ,
1024.Xr ntpdate 8 ,
1025.Xr rbootd 8 ,
1026.Xr rc 8 ,
1027.Xr rdate 8 ,
1028.Xr rmt 8 ,
1029.Xr route 8 ,
1030.Xr rpc.bootparamd 8 ,
1031.Xr rpcbind 8 ,
1032.Xr sshd 8 ,
1033.Xr timed 8 ,
1034.Xr umount 8 ,
1035.Xr useradd 8 ,
1036.Xr vipw 8 ,
1037.Xr yp 8 ,
1038.Xr ypbind 8
1039.Sh HISTORY
1040This document first appeared in
1041.Ox 2.2 .
1042It has been adapted to
1043.Nx
1044and first appeared in
1045.Nx 2.0 .
1046