1.\" $OpenBSD: afterboot.8,v 1.61 2001/03/11 05:56:43 aaron Exp $ 2.Dd October 20, 1997 3.Dt AFTERBOOT 8 4\!\" Originally created by Marshall M. Midden -- 1997-10-20, m4@umn.edu 5.Os 6.Sh NAME 7.Nm afterboot 8.Nd things to check after the first complete boot 9.Sh DESCRIPTION 10.Ss Starting Out 11This document attempts to list items for the system administrator 12to check and set up after the installation and first complete boot of the 13system. 14The idea is to create a list of items that can be checked off so that you have 15a warm fuzzy feeling that something obvious has not been missed. 16A basic knowledge of 17.Ux 18is assumed, otherwise type 19.Pp 20.Dl Ic # help 21.Pp 22Complete instructions for correcting and fixing items is not provided. 23There are manual pages and other methodologies available for doing that. 24For example, to view the man page for the 25.Xr ls 1 26command, type: 27.Pp 28.Dl Ic man 1 ls 29.Pp 30Administrators will rapidly become more familiar with 31.Ox 32if they get used to using the high quality manual pages. 33.Pp 34.Ss Errata 35By the time that you have installed your system, it is quite likely that 36bugs in the release have been found. 37All significant and easily fixed problems will be reported at 38.Pa http://www.openbsd.org/errata.html . 39The web page will mention if a problem is security related. 40It is recommended that you check this page regularly. 41.Ss Login 42Login as 43.Dq Ic root . 44You can do so on the console, or over the network using 45.Xr ssh 1 . 46If you wish to deny root logins over the network, edit the 47.Pa /etc/sshd_config 48file and set 49.Cm PermitRootLogin 50to 51.Dq no 52(see 53.Xr sshd 8 ) . 54.Pp 55Upon successful login on the console, you may see the message 56.Dq Don't login as root, use su . 57For security reasons, it is bad practice to login as root during regular use 58and maintenance of the system. 59Instead, administrators are encouraged to add a 60.Dq regular 61user, add said user to the 62.Dq wheel 63group, then use the 64.Ic su 65and 66.Ic sudo 67commands when root privileges are required. 68This process is described in more detail later. 69.Ss Root password 70Change the password for the root user. 71(Note that throughout the documentation, the term 72.Dq superuser 73is a synonym for the root user.) 74Choose a password that has numbers, digits, and special characters (not space) 75as well as from the upper and lower case alphabet. 76Do not choose any word in any language. 77It is common for an intruder to use dictionary attacks. 78Type the command 79.Ic /usr/bin/passwd 80to change it. 81.Pp 82It is a good idea to always specify the full path name for both the 83.Xr passwd 1 84and 85.Xr su 1 86commands as this inhibits the possibility of files placed in your execution 87.Ev PATH 88for most shells. 89Furthermore, the superuser's 90.Ev PATH 91should never contain the current directory 92.Po Dq \&. 93.Pc . 94.Ss System date 95Check the system date with the 96.Xr date 1 97command. 98If needed, change the date, and/or change the symbolic link of 99.Pa /etc/localtime 100to the correct time zone in the 101.Pa /usr/share/zoneinfo 102directory. 103.Pp 104Examples: 105.Bl -tag -width date 106.It Cm date 199901271504 107Set the current date to January 27th, 1999 3:04pm. 108.It Cm ln -fs /usr/share/zoneinfo/Canada/Atlantic /etc/localtime 109Set the time zone to Atlantic Standard Time. 110.El 111.Ss Check hostname 112Use the 113.Ic hostname 114command to verify that the name of your machine is correct. 115See the man page for 116.Xr hostname 1 117if it needs to be changed. 118You will also need to edit the 119.Pa /etc/myname 120file to have it stick around for the next reboot. 121.Ss Verify network interface configuration 122The first thing to do is an 123.Ic ifconfig -a 124to see if the network interfaces are properly configured. 125Correct by editing 126.Pa /etc/hostname. Ns Ar interface 127(where 128.Ar interface 129is the interface name, e.g., 130.Dq le0 ) 131and then using 132.Xr ifconfig 8 133to manually configure it 134if you do not wish to reboot. 135Read the 136.Xr hostname.if 5 137man page for more information on the format of 138.Pa /etc/hostname. Ns Ar interface 139files. 140The loopback interface will look something like: 141.Bd -literal -offset indent 142lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 32972 143 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 144 inet6 ::1 prefixlen 128 145 inet 127.0.0.1 netmask 0xff000000 146.Ed 147.Pp 148an Ethernet interface something like: 149.Bd -literal -offset indent 150le0: flags=9863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> 151 inet 192.168.4.52 netmask 0xffffff00 broadcast 192.168.4.255 152 inet6 fe80::5ef0:f0f0%le0 prefixlen 64 scopeid 0x1 153.Ed 154.Pp 155and, a PPP interface something like: 156.Bd -literal -offset indent 157ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> 158 inet 203.3.131.108 --> 198.181.0.253 netmask 0xffff0000 159.Ed 160.Pp 161If you wish to turn on multicast routing, see the section titled 162.Dq Multicast routing. 163in 164.Pa /etc/netstart . 165.Pp 166See 167.Xr dhcp 8 168for instructions on configuring interfaces with DHCP. 169.Ss Check routing tables 170Issue a 171.Ic netstat -rn 172command. 173The output will look something like: 174.Bd -literal -offset indent 175Routing tables 176 177Internet: 178Destination Gateway Flags Refs Use Mtu Interface 179default 192.168.4.254 UGS 0 11098028 - le0 180127 127.0.0.1 UGRS 0 0 - lo0 181127.0.0.1 127.0.0.1 UH 3 24 - lo0 182192.168.4 link#1 UC 0 0 - le0 183192.168.4.52 8:0:20:73:b8:4a UHL 1 6707 - le0 184192.168.4.254 0:60:3e:99:67:ea UHL 1 0 - le0 185 186Internet6: 187Destination Gateway Flags Refs Use Mtu Interface 188::/96 ::1 UGRS 0 0 32972 lo0 => 189::1 ::1 UH 4 0 32972 lo0 190::ffff:0.0.0.0/96 ::1 UGRS 0 0 32972 lo0 191fc80::/10 ::1 UGRS 0 0 32972 lo0 192fe80::/10 ::1 UGRS 0 0 32972 lo0 193fe80::%le0/64 link#1 UC 0 0 1500 le0 194fe80::%lo0/64 fe80::1%lo0 U 0 0 32972 lo0 195ff01::/32 ::1 U 0 0 32972 lo0 196ff02::%le0/32 link#1 UC 0 0 1500 le0 197ff02::%lo0/32 fe80::1%lo0 UC 0 0 32972 lo0 198 199.Ed 200.Pp 201The default gateway address is stored in the 202.Pa /etc/mygate 203file. 204If you need to edit this file, a painless way to reconfigure the network 205afterwards is 206.Ic route flush 207followed by a 208.Ic sh -x /etc/netstart 209command. 210Or, you may prefer to manually configure using a series of 211.Ic route add 212and 213.Ic route delete 214commands (see 215.Xr route 8 ) . 216.Pp 217If you wish to route packets between interfaces, add the directive 218.Bd -literal -offset indent 219net.inet.ip.forwarding=1 220.Ed 221.Pp 222or 223.Bd -literal -offset indent 224net.inet6.ip6.forwarding=1 225.Ed 226.Pp 227to 228.Pa /etc/sysctl.conf , 229or by compiling a new kernel with the 230.Cm GATEWAY 231option. 232Packets are not forwarded by default, due to RFC requirements. 233.Pp 234You can add new 235.Dq virtual interfaces 236by adding the required entries to 237.Pa /etc/hostname.if . 238.Ss BIND Name Server (DNS) 239If you are using the BIND Name Server, check the 240.Pa /etc/resolv.conf 241file. 242It may look something like: 243.Bd -literal -offset indent 244domain nts.umn.edu 245nameserver 128.101.101.101 246nameserver 134.84.84.84 247search nts.umn.edu. umn.edu. 248lookup file bind 249.Ed 250.Pp 251If using a caching name server add the line "nameserver 127.0.0.1" first. 252To get a local caching name server to run 253you will need to set "named_flags" in 254.Pa /etc/rc.conf 255and create the 256.Pa named.boot 257file in the appropriate place for 258.Xr named 8 . 259The same holds true if the machine is going to be a 260name server for your domain. 261In both these cases, make sure that 262.Xr named 8 263is running 264(otherwise there are long waits for resolver timeouts). 265.Ss YP Setup 266Check the YP domain name with the 267.Xr domainname 1 268command. 269If necessary, correct it by editing the 270.Pa /etc/defaultdomain 271file. 272The 273.Pa /etc/netstart 274script reads this file on bootup to determine and set the domain name. 275You may also set the running system's domain name with the 276.Xr domainname 1 277command. 278To start YP client services, simply run 279.Ic ypbind , 280then perform the remaining 281YP activation as described in 282.Xr passwd 5 283and 284.Xr group 5 . 285.Pp 286In particular, to enable YP passwd support, you'll need to add the following 287line to 288.Pa /etc/master.passwd : 289.Pp 290+:*:::::::: 291.Pp 292You do this by using 293.Xr vipw 8 , 294once this is done, you'll need to run 295.Ic pwd_mkdb /etc/master.passwd 296to regenerate the password databases. 297.Pp 298There are many more YP man pages available to help you. 299You can find more information by starting with 300.Xr yp 8 . 301.Ss Check disk mounts 302Check that the disks are mounted correctly by 303comparing the 304.Pa /etc/fstab 305file against the output of the 306.Xr mount 8 307and 308.Xr df 1 309commands. 310Example: 311.Bd -literal -offset indent 312.Li # Ic cat /etc/fstab 313/dev/sd0a / ffs rw 1 1 314/dev/sd0b none swap sw 0 0 315/dev/sd0d /usr ffs rw 1 2 316/dev/sd0e /var ffs rw 1 3 317/dev/sd0g /tmp ffs rw 1 4 318/dev/sd0h /home ffs rw 1 5 319.Li # Ic mount 320/dev/sd0a on / type ffs (local) 321/dev/sd0d on /usr type ffs (local) 322/dev/sd0e on /var type ffs (local) 323/dev/sd0g on /tmp type ffs (local) 324/dev/sd0h on /home type ffs (local) 325.Li # Ic df 326Filesystem 1024-blocks Used Avail Capacity Mounted on 327/dev/sd0a 22311 14589 6606 69% / 328/dev/sd0d 203399 150221 43008 78% /usr 329/dev/sd0e 10447 682 9242 7% /var 330/dev/sd0g 18823 2 17879 0% /tmp 331/dev/sd0h 7519 5255 1888 74% /home 332.Li # Ic pstat -s 333Device 512-blocks Used Avail Capacity Priority 334/dev/sd0b 131072 84656 46416 65% 0 335.Ed 336.Pp 337Edit 338.Pa /etc/fstab 339and use the 340.Xr mount 8 341and 342.Xr umount 8 343commands as appropriate. 344Refer to the above example and 345.Xr fstab 5 346for information on the format of this file. 347.Pp 348You may wish to do NFS partitions now too, or you can do them later. 349.Ss Concatenated disks (ccd) 350If you are using 351.Xr ccd 4 352concatenated disks, edit 353.Pa /etc/ccd.conf . 354Use the 355.Ic ccdconfig -U 356command to unload and the 357.Ic ccdconfig -C 358command to create tables internal to the kernel for the concatenated disks. 359You then 360.Xr mount 8 , 361.Xr umount 8 , 362and edit 363.Pa /etc/fstab 364as needed. 365.Ss Automounter daemon (AMD) 366If using the 367.Xr amd 8 368package, 369go into the 370.Pa /etc/amd 371directory and set it up by 372renaming 373.Pa master.sample 374to 375.Pa master 376and editing it and creating other maps as needed. 377Alternatively, you can get your maps with YP. 378.Sh CHANGING /ETC FILES 379The system should be usable now, but you may wish to do more customizing, 380such as adding users, etc. 381Many of the following sections may be skipped 382if you are not using that package (for example, skip the 383.Sx Kerberos 384section if you won't be using Kerberos). 385We suggest that you 386.Ic cd /etc 387and edit most of the files in that directory. 388.Pp 389Note that the 390.Pa /etc/motd 391file is modified by 392.Pa /etc/rc 393whenever the system is booted. To keep any custom message intact, ensure 394that you leave two blank lines at the top, or your message will be 395overwritten. 396.Ss Add new users 397Add users. 398There is an 399.Xr adduser 8 400script. 401You may use 402.Xr vipw 8 403to add users to the 404.Pa /etc/passwd 405file 406and edit 407.Pa /etc/group 408by hand to add new groups. 409The manual page for 410.Xr su 1 , 411tells you to make sure to put people in 412the 413.Sq wheel 414group if they need root access (non-Kerberos). 415For example: 416.Bd -literal -offset indent 417wheel:*:0:root,myself 418.Ed 419.Pp 420Follow instructions for 421.Xr kerberos 1 422if using 423Kerberos 424for authentication. 425.Ss rc.conf, rc.local, rc.securelevel, rc.shutdown 426Check for any local changes needed in the files 427.Pa /etc/rc.conf , 428.Pa /etc/rc.local , 429.Pa rc.securelevel , 430and 431.Pa rc.shutdown. 432Turning on something like the Network Time Protocol in 433.Pa /etc/rc.conf 434requires making sure the package is installed. 435.Pp 436If you've installed X, you may want to turn on 437.Xr xdm 1 , 438the X Display Manager. 439To do this, change the value of xdm_flags in 440.Pa /etc/rc.conf . 441.Ss Printers 442Edit 443.Pa /etc/printcap 444and 445.Pa /etc/hosts.lpd 446to get any printers set up. 447Consult 448.Xr lpd 8 449and 450.Xr printcap 5 451if needed. 452.Ss Tighten up security 453You might wish to tighten up security more by editing 454.Pa /etc/fbtab 455as when installing X. 456In 457.Pa /etc/inetd.conf 458comment out any extra entries you do not need, 459and only add things that are really needed. 460Note that by default the 461.Xr telnetd 8 462and 463.Xr ftpd 8 464daemons are not enabled in favor of SSH (Secure Shell). 465.Ss Kerberos 466If you are going to use 467.Xr kerberos 1 468for authentication, and you already have a 469Kerberos 470master, change directory to 471.Pa /etc/kerberosIV 472and configure. 473Remember to get a 474.Pa srvtab 475from the master so that the remote commands work. 476.Ss Mail Aliases 477Edit 478.Pa /etc/mail/aliases 479and set the three standard aliases to go to either a mailing list, or 480the system administrator. 481.Bd -literal -offset indent 482# Well-known aliases -- these should be filled in! 483root: sysadm 484manager: sysadm 485dumper: sysadm 486.Ed 487.Pp 488Run 489.Xr newaliases 8 490after changes. 491.Ss Sendmail 492.Ox 493ships with a default 494.Pa /etc/mail/sendmail.cf 495file that will work for simple installations; it was generated from 496.Pa openbsd-proto.mc 497in 498.Pa /usr/share/sendmail/cf . 499Please see 500.Pa /usr/share/sendmail/README 501and 502.Pa /usr/share/doc/smm/08.sendmailop/op.me 503for information on generating your own sendmail configuration files. 504For the default installation, sendmail is configured to only process 505jobs that have been the queued and to not accept messages over the network. 506This makes it possible to send mail locally, but not receive mail from remote 507servers, which is ideal if you have one central incoming mail machine and 508several clients. 509To cause sendmail to accept network connections, modify the 510.Dq sendmail_flags 511variable in 512.Pa /etc/rc.conf 513in accordance with the comments therein. 514Note that sendmail now also listens on port 587 by default. This 515is to implement the RFC2476 message submission protocol. You may 516disable this via the 517.Dq no_default_msa 518option in your sendmail .mc file. See 519.Pa /usr/share/sendmail/README 520for more information. 521.Ss DHCP server 522If this is a 523DHCP 524server, edit 525.Pa /etc/dhcpd.conf 526and 527.Pa /etc/dhcpd.interfaces 528as needed. 529You will have to make sure 530.Pa /etc/rc.conf 531has: 532.Bd -literal -offset indent 533dhcpd_flags=-q 534.Ed 535.Pp 536or run 537.Xr dhcpd 8 538manually. 539.Ss BOOTP server 540If this is a 541BOOTP 542server, edit 543.Pa /etc/bootptab 544as needed. 545You will have to turn it on in 546.Pa /etc/inetd.conf 547or run 548.Xr bootpd 8 549in its standalone mode. 550.Ss NFS server 551If this is an NFS server 552make sure 553.Pa /etc/rc.conf 554has: 555.Bd -literal -offset indent 556nfs_server=YES 557.Ed 558.Pp 559Edit 560.Pa /etc/exports 561and get it correct. 562It is probably easier to reboot than to get the daemons running manually, 563but you can get the order correct by looking at 564.Pa /etc/netstart . 565.Ss HP remote boot server 566Edit 567.Pa /etc/rbootd.conf 568if needed for remote booting. 569If you do not have HP computers doing remote booting, do not enable this. 570.Ss Daily, weekly, monthly scripts 571Look at and possibly edit the 572.Pa /etc/daily , /etc/weekly , 573and 574.Pa /etc/monthly 575scripts. 576Your site specific things should go into 577.Pa /etc/daily.local , /etc/weekly.local , 578and 579.Pa /etc/monthly.local . 580.Pp 581These scripts have been limited so as to keep the system running without 582filling up disk space from normal running processes and database updates. 583(You probably do not need to understand them.) 584.Pp 585The /altroot filesystem can optionally be used to provide a backup of the 586root filesystem on a daily basis. To take advantage of this, you must 587have an entry in /etc/fstab with 'xx' for the mount option: 588.Bd -literal -offset indent 589/dev/wd0j /altroot ffs xx 0 0 590.Ed 591.Pp 592and you must add a line to root's crontab: 593.Bd -literal -offset indent 594ROOTBACKUP=1 595.Ed 596.Pp 597so that the /etc/daily script will make a daily backup of the root filesystem. 598.Ss Other files in /etc 599Look at the other files in 600.Pa /etc 601and edit them as needed. 602(Do not edit files ending in 603.Pa .db 604\(em like 605.Pa pwd.db , spwd.db , 606nor 607.Pa localtime , 608nor 609.Pa rmt , 610nor any directories.) 611.Ss Crontab (background running processes) 612Check what is running by typing 613.Ic crontab -l 614as root 615and see if anything unexpected is present. 616Do you need anything else? 617Do you wish to change things? 618e.g., if you do not 619like root getting standard output of the daily scripts, and want only 620the security scripts that are mailed internally, you can type 621.Ic crontab -e 622and change some of the lines to read: 623.Bd -literal -offset indent 62430 1 * * * /bin/sh /etc/daily 2>&1 > /var/log/daily.out 62530 3 * * 6 /bin/sh /etc/weekly 2>&1 > /var/log/weekly.out 62630 5 1 * * /bin/sh /etc/monthly 2>&1 > /var/log/monthly.out 627.Ed 628.Pp 629See 630.Xr crontab 5 . 631.Ss Next day cleanup 632After the first night's security run, change ownerships and permissions 633on files, directories, and devices; root should have received mail 634with subject: "<hostname> daily insecurity output.". 635This mail contains 636a set of security recommendations, presented as a list looking like this: 637.Bd -literal -offset indent 638var/mail: 639 permissions (0755, 0775) 640etc/daily: 641 user (0, 3) 642.Ed 643.Pp 644The best bet is to follow the advice in that list. 645The recommended setting is the first item in parentheses, while 646the current setting is the second one. 647This list is generated by 648.Xr mtree 8 649using 650.Pa /etc/mtree/special . 651Use 652.Xr chmod 1 , 653.Xr chgrp 1 , 654and 655.Xr chown 8 656as needed. 657.Ss Packages 658Install your own packages. 659The 660.Ox 661ports collection includes a large set of Third-Party software. 662A lot of it is available as binary packages, that you can download from 663.Pa ftp://ftp.openbsd.org/ 664or a mirror, and install using 665.Xr pkg_add 1 . 666See 667.Pa http://www.openbsd.org/ports.html 668and 669.Xr packages 7 670for more details. 671.Pp 672Copy vendor binaries and install them. 673You will need to install any shared libraries, etc. 674(Hint: 675.Ic man -k compat 676to find out how to install and use compatibility mode.) 677.Pp 678There is also other Third-Party Software that is available 679in source form only, either because it has not been ported to 680.Ox 681yet, or because licensing restrictions make binary redistribution 682impossible. 683Sometimes checking the mailing lists for 684past problems that people have encountered will result in a fix posted. 685.Sh COMPILING A KERNEL 686First, review the system message buffer using the 687.Xr dmesg 8 688command to find out information on your system's devices as probed by the 689kernel at boot. 690In particular, note which devices were not configured. 691This information will prove useful when editing kernel configuration files. 692.Pp 693To compile a kernel inside a writable source tree, do the following: 694.Sm off 695.Bd -literal -offset indent 696.Li #\ Xo 697.Ic cd\ /usr/src/sys/arch/ 698.Ar somearch 699.Ic /conf 700.Xc 701.Li #\ Xo 702.Ic vi\ \& 703.Ar SOMEFILE 704.No \ \ \ (to\ make\ any\ changes) 705.Xc 706.Li #\ Xo 707.Ic config\ \& 708.Ar SOMEFILE 709.Xc 710.Li #\ Xo 711.Ic cd\ ../compile/ 712.Ar SOMEFILE 713.Xc 714.Li #\ Xo 715.Ic make 716.Xc 717.Ed 718.Sm on 719.Pp 720where 721.Ar somedir 722is a writable directory, 723.Ar somearch 724is the architecture (e.g. 725.Ic i386 ) , 726and 727.Ar SOMEFILE 728should be a name indicative of a particular configuration (often 729that of the hostname). 730You can also do a 731.Ic make depend 732so that you will have dependencies there the next time you do a compile. 733.Pp 734If you are building your kernel again, before you do a 735.Ic make 736you should do a 737.Ic make depend 738after making changes (including updates or patches) to your kernel source, 739or a 740.Ic make clean 741after making changes to your kernel options. 742.Pp 743After either of these two methods, you can place the new kernel (called 744.Pa bsd ) 745in 746.Pa / 747(i.e. 748.Pa /bsd ) 749and the system will boot it next time. 750Most people save their backup kernels as 751.Pa /bsd.1 , 752.Pa /bsd.2 , 753etc. 754.Pp 755It is not always necessary to recompile the kernel if only 756configuration changes are required. 757With 758.Xr config 8 , 759you can change the device configuration in the kernel file directly: 760.Bd -literal 761.Li #\ Ic config Fl e o Ar bsd.new /bsd 762OpenBSD 2.7-beta (GENERIC.rz0) #0: Mon Oct 4 03:57:22 MEST 1999 763 root@winona:/usr/src/sys/arch/pmax/compile/GENERIC.rz0 764Enter 'help' for information 765ukc> 766.Pp 767Additionally, you can permanently save the changes made with UKC during 768boot time in the kernel image. 769.Ed 770.Sh SEE ALSO 771.Xr chgrp 1 , 772.Xr chmod 1 , 773.Xr crontab 1 , 774.Xr date 1 , 775.Xr df 1 , 776.Xr domainname 1 , 777.Xr hostname 1 , 778.Xr kerberos 1 , 779.Xr make 1 , 780.Xr man 1 , 781.Xr netstat 1 , 782.Xr passwd 1 , 783.Xr su 1 , 784.Xr ccd 4 , 785.Xr aliases 5 , 786.Xr bootptab 5 , 787.Xr crontab 5 , 788.Xr exports 5 , 789.Xr fbtab 5 , 790.Xr fstab 5 , 791.Xr group 5 , 792.Xr krb.conf 5 , 793.Xr krb.realms 5 , 794.Xr passwd 5 , 795.Xr resolv.conf 5 , 796.Xr hostname 7 , 797.Xr packages 7 , 798.Xr adduser 8 , 799.Xr amd 8 , 800.Xr bootpd 8 , 801.Xr ccdconfig 8 , 802.Xr chown 8 , 803.Xr config 8 , 804.Xr dhcp 8 , 805.Xr dhcpd 8 , 806.Xr ext_srvtab 8 , 807.Xr ifconfig 8 , 808.Xr inetd 8 , 809.Xr mtree 8 , 810.Xr mount 8 , 811.Xr named 8 , 812.Xr newaliases 8 , 813.Xr rbootd 8 , 814.Xr rc 8 , 815.Xr rmt 8 , 816.Xr route 8 , 817.Xr umount 8 , 818.Xr vipw 8 , 819.Xr ypbind 8 820.Sh HISTORY 821This document first appeared in 822.Ox 2.2 . 823