diff options
Diffstat (limited to 'share/man/man7')
-rw-r--r-- | share/man/man7/ascii.7 | 76 | ||||
-rw-r--r-- | share/man/man7/build.7 | 2 | ||||
-rw-r--r-- | share/man/man7/clocks.7 | 14 | ||||
-rw-r--r-- | share/man/man7/environ.7 | 10 | ||||
-rw-r--r-- | share/man/man7/firewall.7 | 36 | ||||
-rw-r--r-- | share/man/man7/hier.7 | 72 | ||||
-rw-r--r-- | share/man/man7/ports.7 | 4 | ||||
-rw-r--r-- | share/man/man7/security.7 | 140 | ||||
-rw-r--r-- | share/man/man7/tuning.7 | 42 |
9 files changed, 198 insertions, 198 deletions
diff --git a/share/man/man7/ascii.7 b/share/man/man7/ascii.7 index 74ff250..a652085 100644 --- a/share/man/man7/ascii.7 +++ b/share/man/man7/ascii.7 @@ -48,18 +48,18 @@ set: 000 nul 001 soh 002 stx 003 etx 004 eot 005 enq 006 ack 007 bel 010 bs 011 ht 012 nl 013 vt 014 np 015 cr 016 so 017 si 020 dle 021 dc1 022 dc2 023 dc3 024 dc4 025 nak 026 syn 027 etb -030 can 031 em 032 sub 033 esc 034 fs 035 gs 036 rs 037 us -040 sp 041 ! 042 " 043 # 044 $ 045 % 046 & 047 ' -050 ( 051 ) 052 * 053 + 054 , 055 - 056 . 057 / -060 0 061 1 062 2 063 3 064 4 065 5 066 6 067 7 -070 8 071 9 072 : 073 ; 074 < 075 = 076 > 077 ? -100 @ 101 A 102 B 103 C 104 D 105 E 106 F 107 G -110 H 111 I 112 J 113 K 114 L 115 M 116 N 117 O -120 P 121 Q 122 R 123 S 124 T 125 U 126 V 127 W -130 X 131 Y 132 Z 133 [ 134 \e\ 135 ] 136 ^ 137 _ -140 ` 141 a 142 b 143 c 144 d 145 e 146 f 147 g -150 h 151 i 152 j 153 k 154 l 155 m 156 n 157 o -160 p 161 q 162 r 163 s 164 t 165 u 166 v 167 w +030 can 031 em 032 sub 033 esc 034 fs 035 gs 036 rs 037 us +040 sp 041 ! 042 " 043 # 044 $ 045 % 046 & 047 ' +050 ( 051 ) 052 * 053 + 054 , 055 - 056 . 057 / +060 0 061 1 062 2 063 3 064 4 065 5 066 6 067 7 +070 8 071 9 072 : 073 ; 074 < 075 = 076 > 077 ? +100 @ 101 A 102 B 103 C 104 D 105 E 106 F 107 G +110 H 111 I 112 J 113 K 114 L 115 M 116 N 117 O +120 P 121 Q 122 R 123 S 124 T 125 U 126 V 127 W +130 X 131 Y 132 Z 133 [ 134 \e\ 135 ] 136 ^ 137 _ +140 ` 141 a 142 b 143 c 144 d 145 e 146 f 147 g +150 h 151 i 152 j 153 k 154 l 155 m 156 n 157 o +160 p 161 q 162 r 163 s 164 t 165 u 166 v 167 w 170 x 171 y 172 z 173 { 174 | 175 } 176 ~ 177 del .Ed .Pp @@ -68,20 +68,20 @@ The set: .Bd -literal -offset left 00 nul 01 soh 02 stx 03 etx 04 eot 05 enq 06 ack 07 bel -08 bs 09 ht 0a nl 0b vt 0c np 0d cr 0e so 0f si +08 bs 09 ht 0a nl 0b vt 0c np 0d cr 0e so 0f si 10 dle 11 dc1 12 dc2 13 dc3 14 dc4 15 nak 16 syn 17 etb -18 can 19 em 1a sub 1b esc 1c fs 1d gs 1e rs 1f us -20 sp 21 ! 22 " 23 # 24 $ 25 % 26 & 27 ' -28 ( 29 ) 2a * 2b + 2c , 2d - 2e . 2f / -30 0 31 1 32 2 33 3 34 4 35 5 36 6 37 7 -38 8 39 9 3a : 3b ; 3c < 3d = 3e > 3f ? -40 @ 41 A 42 B 43 C 44 D 45 E 46 F 47 G -48 H 49 I 4a J 4b K 4c L 4d M 4e N 4f O -50 P 51 Q 52 R 53 S 54 T 55 U 56 V 57 W -58 X 59 Y 5a Z 5b [ 5c \e\ 5d ] 5e ^ 5f _ -60 \` 61 a 62 b 63 c 64 d 65 e 66 f 67 g -68 h 69 i 6a j 6b k 6c l 6d m 6e n 6f o -70 p 71 q 72 r 73 s 74 t 75 u 76 v 77 w +18 can 19 em 1a sub 1b esc 1c fs 1d gs 1e rs 1f us +20 sp 21 ! 22 " 23 # 24 $ 25 % 26 & 27 ' +28 ( 29 ) 2a * 2b + 2c , 2d - 2e . 2f / +30 0 31 1 32 2 33 3 34 4 35 5 36 6 37 7 +38 8 39 9 3a : 3b ; 3c < 3d = 3e > 3f ? +40 @ 41 A 42 B 43 C 44 D 45 E 46 F 47 G +48 H 49 I 4a J 4b K 4c L 4d M 4e N 4f O +50 P 51 Q 52 R 53 S 54 T 55 U 56 V 57 W +58 X 59 Y 5a Z 5b [ 5c \e\ 5d ] 5e ^ 5f _ +60 \` 61 a 62 b 63 c 64 d 65 e 66 f 67 g +68 h 69 i 6a j 6b k 6c l 6d m 6e n 6f o +70 p 71 q 72 r 73 s 74 t 75 u 76 v 77 w 78 x 79 y 7a z 7b { 7c | 7d } 7e ~ 7f del .Ed .Pp @@ -90,20 +90,20 @@ The set: .Bd -literal -offset left 0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel - 8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si + 8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si 16 dle 17 dc1 18 dc2 19 dc3 20 dc4 21 nak 22 syn 23 etb - 24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us - 32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' - 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / - 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 - 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? - 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G - 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O - 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W - 88 X 89 Y 90 Z 91 [ 92 \e\ 93 ] 94 ^ 95 _ - 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g -104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o -112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w + 24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us + 32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' + 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / + 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 + 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? + 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G + 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O + 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W + 88 X 89 Y 90 Z 91 [ 92 \e\ 93 ] 94 ^ 95 _ + 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g +104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o +112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 del .Ed .Sh FILES diff --git a/share/man/man7/build.7 b/share/man/man7/build.7 index 5e79633..811d1d8 100644 --- a/share/man/man7/build.7 +++ b/share/man/man7/build.7 @@ -88,7 +88,7 @@ Rebuild the kernel and the kernel-modules. Install the kernel and the kernel-modules. .It Ar reinstallkernel Reinstall the kernel and the kernel-modules. -.It Ar upgrade +.It Ar upgrade Upgrade a.out (2.2.x/3.0) system to the new ELF way .It Ar most Build user commands, no libraries or include files. diff --git a/share/man/man7/clocks.7 b/share/man/man7/clocks.7 index ee3c087..ec208fa 100644 --- a/share/man/man7/clocks.7 +++ b/share/man/man7/clocks.7 @@ -52,11 +52,11 @@ happens to be 128. It isn't directly available to applications. The clock reported by .Xr clock 3 . This is a virtual clock with a frequency that happens to be 128. Its -actual frequency is given by the macro -.Dv CLOCKS_PER_SEC . +actual frequency is given by the macro +.Dv CLOCKS_PER_SEC . Note that .Dv CLOCKS_PER_SEC -may be floating point. Don't use +may be floating point. Don't use .Fn clock in new programs under .Fx . @@ -71,22 +71,22 @@ The clock reported by This is a virtual clock with a frequency that happens to be 128. Its actual frequency is given by the macro .Dv CLK_TCK -(deprecated; don't use) and by +(deprecated; don't use) and by .Fn sysconf SC_CLK_TCK and by .Xr sysctl 3 . Note that its frequency may be different from .Dv CLOCKS_PER_SEC . -Don't use +Don't use .Xr times 3 in new programs under .Fx . It is feeble compared with .Xr gettimeofday 2 -together with +together with .Fn getrusage . It is provided for POSIX -conformance. It is implemented by calling +conformance. It is implemented by calling .Fn gettimeofday and .Fn getrusage diff --git a/share/man/man7/environ.7 b/share/man/man7/environ.7 index 640413d..d9d550a 100644 --- a/share/man/man7/environ.7 +++ b/share/man/man7/environ.7 @@ -55,8 +55,8 @@ The size of the block units used by several commands, most notably .Xr du 1 and .Xr ls 1 . -.Ev BLOCKSIZE -may be specified in units of a byte by specifying a number, +.Ev BLOCKSIZE +may be specified in units of a byte by specifying a number, in units of a kilobyte by specifying a number followed by ``K'' or ``k'', in units of a megabyte by specifying a number followed by ``M'' or ``m'' and in units of a gigabyte by specifying a number followed @@ -80,7 +80,7 @@ This variable configures all programs which use to use the specified locale. .It Ev MAIL The location of the user's -mailbox instead of the default in /var/mail, +mailbox instead of the default in /var/mail, used by .Xr mail 1 , .Xr sh 1 , @@ -98,7 +98,7 @@ The sequence of directories, separated by colons, searched by .Xr system 3 , .Xr execvp 3 , etc, when looking for an executable file. -.Ev PATH +.Ev PATH is set to ``/usr/bin:/bin'' initially by .Xr login 1 . .It Ev PRINTER @@ -123,7 +123,7 @@ which may exploit special terminal capabilities. See for a list of terminal types. .It Ev TERMCAP The string describing the terminal in -.Ev TERM , +.Ev TERM , or, if it begins with a '/', the name of the termcap file. See diff --git a/share/man/man7/firewall.7 b/share/man/man7/firewall.7 index 78cc4ca..52c5ed3 100644 --- a/share/man/man7/firewall.7 +++ b/share/man/man7/firewall.7 @@ -45,11 +45,11 @@ Constructing a firewall may appear to be trivial, but most people get them wrong. The most common mistake is to create an exclusive firewall rather then an inclusive firewall. An exclusive firewall allows all packets through except for those matching a set of rules. -An inclusive firewall allows only packets matching the rulset +An inclusive firewall allows only packets matching the rulset through. Inclusive firewalls are much, much safer then exclusive firewalls but a tad more difficult to build properly. The second most common mistake is to blackhole everything except the -particular port you want to let through. TCP/IP needs to be able +particular port you want to let through. TCP/IP needs to be able to get certain types of ICMP errors to function properly - for example, to implement MTU discovery. Also, a number of common system daemons make reverse connections to the @@ -85,13 +85,13 @@ dangerous option to set because it means your firewall is disabled during booting. You should use this option while getting up to speed with .Fx -firewalling, but get rid of it once you understand how it all works +firewalling, but get rid of it once you understand how it all works to close the loophole. There is a third option called .Sy IPDIVERT which allows you to use the firewall to divert packets to a user program and is necessary if you wish to use .Xr natd 8 -to give private internal networks access to the outside world. +to give private internal networks access to the outside world. If you want to be able to limit the bandwidth used by certain types of traffic, the .Sy DUMMYNET @@ -104,20 +104,20 @@ interface cards. fxp0 is connected to the 'exposed' LAN. Machines on this LAN are dual-homed with both internal 10. IP addresses and internet-routed IP addresses. In our example, 192.100.5.x represents the internet-routed IP block while 10.x.x.x represents the internal -networks. While it isn't relevant to the example, 10.0.1.x is +networks. While it isn't relevant to the example, 10.0.1.x is assigned as the internal address block for the LAN on fxp0, 10.0.2.x for the LAN on fxp1, and 10.0.3.x for the LAN on fxp2. .Pp In this example we want to isolate all three LANs from the internet -as well as isolate them from each other, and we want to give all +as well as isolate them from each other, and we want to give all internal addresses access to the internet through a NAT gateway running on this machine. To make the NAT gateway work, the firewall machine is given two internet-exposed addresses on fxp0 in addition to an -internal 10. address on fxp0: one exposed address (not shown) +internal 10. address on fxp0: one exposed address (not shown) represents the machine's official address, and the second exposed address (192.100.5.5 in our example) represents the NAT gateway rendezvous IP. We make the example more complex by giving the machines -on the exposed LAN internal 10.0.0.x addresses as well as exposed +on the exposed LAN internal 10.0.0.x addresses as well as exposed addresses. The idea here is that you can bind internal services to internal addresses even on exposed machines and still protect those services from the internet. The only services you run on @@ -126,7 +126,7 @@ internet. .Pp It is important to note that the 10.0.0.x network in our example is not protected by our firewall. You must make sure that your -internet router protects this network from outside spoofing. +internet router protects this network from outside spoofing. Also, in our example, we pretty much give the exposed hosts free reign on our internal network when operating services through internal IP addresses (10.0.0.x). This is somewhat of security @@ -146,7 +146,7 @@ firewall_type="/etc/ipfw.conf" # temporary port binding range let # through the firewall. -# +# # NOTE: heavily loaded services running through the firewall may require # a larger port range for local-size binding. 4000-10000 or 4000-30000 # might be a better choice. @@ -160,7 +160,7 @@ ip_portrange_last=5000 # # FIREWALL: the firewall machine / nat gateway # LAN0 10.0.0.X and 192.100.5.X (dual homed) -# LAN1 10.0.1.X +# LAN1 10.0.1.X # LAN2 10.0.2.X # sw: ethernet switch (unmanaged) # @@ -187,7 +187,7 @@ ip_portrange_last=5000 # NOT SHOWN: The INTERNET ROUTER must contain rules to disallow # all packets with source IP addresses in the 10. block in order # to protect the dual-homed 10.0.0.x block. Exposed hosts are -# not otherwise protected in this example - they should only bind +# not otherwise protected in this example - they should only bind # exposed services to exposed IPs but can safely bind internal # services to internal IPs. # @@ -241,7 +241,7 @@ add 01501 deny all from 10.0.2.0/24 in via fxp0 # In this example rule set there are no restrictions between # internal hosts, even those on the exposed LAN (as long as # they use an internal IP address). This represents a -# potential security hole (what if an exposed host is +# potential security hole (what if an exposed host is # compromised?). If you want full restrictions to apply # between the three LANs, firewalling them off from each # other for added security, remove these two rules. @@ -327,12 +327,12 @@ add 05000 deny log ip from any to any frag add 06000 deny all from any to any .Ed .Sh PORT BINDING INTERNAL AND EXTERNAL SERVICES -We've mentioned multi-homing hosts and binding services to internal or -external addresses but we haven't really explained it. When you have a -host with multiple IP addresses assigned to it, you can bind services run +We've mentioned multi-homing hosts and binding services to internal or +external addresses but we haven't really explained it. When you have a +host with multiple IP addresses assigned to it, you can bind services run on that host to specific IPs or interfaces rather then all IPs. Take the firewall machine for example: With three interfaces -and two exposed IP addresses +and two exposed IP addresses on one of those interfaces, the firewall machine is known by 5 different IP addresses (10.0.0.1, 10.0.1.1, 10.0.2.1, 192.100.5.5, and say 192.100.5.1). If the firewall is providing file sharing services to the @@ -366,7 +366,7 @@ The .Nm manual page was originally written by .An Matthew Dillon -and first appeared +and first appeared in .Fx 4.3 , May 2001. diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7 index cd8551b..1ce9ec9 100644 --- a/share/man/man7/hier.7 +++ b/share/man/man7/hier.7 @@ -54,11 +54,11 @@ default bootstrapping configuration files; see .Xr loader.conf 5 .It Pa kernel/ pure kernel executable (the operating system loaded into memory -at boot time). +at boot time). .It Pa modules/ third-part loadable kernel modules; -see -.Xr kldstat 8 +see +.Xr kldstat 8 .El .It Pa /cdrom/ default mount point for CD-ROM drives @@ -76,7 +76,7 @@ block and character device files script for creating device files; see .Xr MAKEDEV 8 -.It Pa fd/ +.It Pa fd/ file descriptor files; see .Xr \&fd 4 @@ -85,7 +85,7 @@ see mount point used by .Xr sysinstall 8 .It Pa /etc/ -system configuration files and scripts +system configuration files and scripts .Pp .Bl -tag -width "disklabels/" -compact .It Pa defaults/ @@ -100,7 +100,7 @@ see isdn4bsd configuration files; see .Xr isdnd 8 -.It Pa kerberosIV/ +.It Pa kerberosIV/ configuration files for kerberos version IV; see .Xr kerberos 1 @@ -110,11 +110,11 @@ see .Xr ctime 3 .It Pa mail/ Sendmail control files -.It Pa mtree/ +.It Pa mtree/ mtree configuration files; see .Xr mtree 8 -.It Pa namedb/ +.It Pa namedb/ named configuration files; see .Xr named 8 @@ -125,7 +125,7 @@ see .Xr periodic 8 .It Pa ppp/ ppp configuration files; -see +see .Xr ppp 8 .It Pa ssl/ OpenSSL configuration files @@ -149,10 +149,10 @@ system programs and administration utilities fundamental to both single-user and multi-user environments .It Pa /stand/ programs used in a standalone environment -.It Pa /tmp/ +.It Pa /tmp/ temporary files .It Pa /usr/ -contains the majority of user utilities and applications +contains the majority of user utilities and applications .Pp .Bl -tag -width "libdata/" -compact .It Pa bin/ @@ -320,7 +320,7 @@ UFS filesystem .El .It Pa vm/ virtual memory; -see +see .Xr vmstat 8 .El .Pp @@ -356,7 +356,7 @@ see .Xr ld 1 .It Pa lint/ various prebuilt lint libraries; -see +see .Xr lint 1 .It Pa msdosfs/ Character set conversion tables @@ -384,7 +384,7 @@ see .Xr lpr 1 .It Pa sm.bin/ restricted shell for sendmail; -see +see .Xr smrsh 8 .It Pa uucp/ uucp utilities; @@ -501,7 +501,7 @@ localization files; see .Xr setlocale 3 .It Pa man/ -manual pages +manual pages .It Pa me/ macros for use with the me macro package; see @@ -526,7 +526,7 @@ see .Xr make 1 .It Pa nls/ national language support files; -see +see .Xr mklocale 1 .It Pa pcvt/ pcvt documentation and etc examples; @@ -536,7 +536,7 @@ see perl library files; see .Xr perl 1 -.It Pa sendmail/ +.It Pa sendmail/ sendmail configuration files; see .Xr sendmail 8 @@ -563,7 +563,7 @@ and console screen maps .El .It Pa tabset/ -tab description files for a variety of terminals; used in +tab description files for a variety of terminals; used in the termcap file; see .Xr termcap 5 @@ -571,7 +571,7 @@ see text processing macros; see .Xr nroff 1 -and +and .Xr troff 1 .It Pa vi/ localization support and utilities for @@ -586,7 +586,7 @@ BSD, third-party, and/or local source files .Pp .Bl -tag -width "kerberosIV/" -compact .It Pa bin/ -source code for files in /bin +source code for files in /bin .It Pa contrib/ source code for contributed software .It Pa crypto/ @@ -607,7 +607,7 @@ source code for files in /usr/lib source code for files in /usr/libexec .It Pa release/ files required to produce a -.Fx +.Fx release .It Pa sbin/ source code for files in /sbin @@ -647,7 +647,7 @@ architecture-independent files. multi-purpose log, temporary, transient, and spool files .Pp .Bl -tag -width "preserve/" -compact -.It Pa account/ +.It Pa account/ system accounting files .Pp .Bl -tag -width Fl -compact @@ -665,7 +665,7 @@ see .It Pa jobs/ directory containing job files .It Pa spool/ -directory containing output spool files +directory containing output spool files .El .Pp .It Pa backups/ @@ -686,11 +686,11 @@ see .Xr crontab 5 .El .Pp -.It Pa db/ +.It Pa db/ misc. automatically generated system-specific database files -.It Pa games/ +.It Pa games/ misc. game status and score files -.It Pa log/ +.It Pa log/ misc. system log files .Pp .Bl -tag -width Fl -compact @@ -700,18 +700,18 @@ see .Xr wtmp 5 .El .Pp -.It Pa mail/ +.It Pa mail/ user mailbox files .It Pa preserve/ temporary home of files preserved after an accidental death of an editor; see -.Xr \&ex 1 +.Xr \&ex 1 .It Pa msgs/ system messages database; see .Xr msgs 1 -.It Pa quotas/ +.It Pa quotas/ filesystem quota information files .It Pa run/ system information files describing various info about @@ -724,36 +724,36 @@ see .Xr utmp 5 .El .Pp -.It Pa rwho/ +.It Pa rwho/ rwho data files; see .Xr rwhod 8 , .Xr rwho 1 , and .Xr ruptime 1 -.It Pa spool/ +.It Pa spool/ misc. printer and mail system spooling directories .Pp .Bl -tag -width Fl -compact -.It Pa ftp/ +.It Pa ftp/ commonly ~ftp; the anonymous ftp root directory -.It Pa mqueue/ +.It Pa mqueue/ undelivered mail queue; see .Xr sendmail 8 .It Pa output/ line printer spooling directories -.It Pa secretmail/ +.It Pa secretmail/ secretmail spool directory; see .Xr xget 1 -.It Pa uucp/ +.It Pa uucp/ uucp spool directory .It Pa uucppublic/ commonly ~uucp; public uucp temporary directory .El .Pp -.It Pa tmp/ +.It Pa tmp/ temporary files that are kept between system reboots .Bl -tag -width Fl -compact .It Pa vi.recover/ diff --git a/share/man/man7/ports.7 b/share/man/man7/ports.7 index 910e368..c495c7c 100644 --- a/share/man/man7/ports.7 +++ b/share/man/man7/ports.7 @@ -37,13 +37,13 @@ The .Nm Ports Collection offers a simple way for users and administrators to install applications. -Each +Each .Em port contains any patches necessary to make the original application source code compile and run on BSD. Compiling an application is as simple as typing .Ic make build -in the port directory! The +in the port directory! The .Ql Pa Makefile automatically fetches the application source code, either from a local disk or via ftp, unpacks it diff --git a/share/man/man7/security.7 b/share/man/man7/security.7 index 70c6850..187c8b6 100644 --- a/share/man/man7/security.7 +++ b/share/man/man7/security.7 @@ -20,12 +20,12 @@ maintaining additional security mechanisms to keep those users is probably one of the single largest undertakings of the sysadmin. Machines are only as secure as you make them, and security concerns are ever competing -with the human necessity for convenience. +with the human necessity for convenience. .Ux systems, in general, are capable of running a huge number of simultaneous processes and many of these processes operate as servers - meaning that external entities -can connect and talk to them. As yesterday's mini-computers and mainframes +can connect and talk to them. As yesterday's mini-computers and mainframes become today's desktops, and as computers become networked and internetworked, security becomes an ever bigger issue. .Pp @@ -33,9 +33,9 @@ Security is best implemented through a layered onion approach. In a nutshell, what you want to do is to create as many layers of security as are convenient and then carefully monitor the system for intrusions. You do not want to overbuild your security or you will interefere with the detection side, and -detection is one of the single most important aspects of any security +detection is one of the single most important aspects of any security mechanism. For example, it makes little sense to set the -.Pa schg +.Pa schg flags .Po see @@ -70,8 +70,8 @@ network stack. Some D.O.S. attacks try to take advantages of bugs in the networking stack to crash a machine with a single packet. The latter can only be fixed by applying a bug fix to the kernel. Attacks on servers can often be fixed by properly specifying options to limit the load the servers -incur on the system under adverse conditions. Brute-force network -attacks are harder to deal with. A spoofed-packet attack, for example, is +incur on the system under adverse conditions. Brute-force network +attacks are harder to deal with. A spoofed-packet attack, for example, is nearly impossible to stop short of cutting your system off from the internet. It may not be able to take your machine down, but it can fill up internet pipe. @@ -98,12 +98,12 @@ able to do nothing more then mess with the user's files or crash the machine. User account compromises are very common because users tend not to take the precautions that sysads take. .Pp -System administrators must keep in mind that there are potentially many ways -to break root on a machine. The attacker may know the root password, +System administrators must keep in mind that there are potentially many ways +to break root on a machine. The attacker may know the root password, the attacker may find a bug in a root-run server and be able to break root over a network connection to that server, or the attacker may know of a bug in an suid-root -program that allows the attacker to break root once he has broken into a +program that allows the attacker to break root once he has broken into a user's account. If an attacker has found a way to break root on a machine, the attacker may not have a need to install a backdoor. Many of the root holes found and closed to date involve a considerable amount @@ -124,7 +124,7 @@ Securing root - root-run servers and suid/sgid binaries .It Securing user accounts .It -Securing the password file +Securing the password file .It Securing the kernel core, raw devices, and filesystems .It @@ -144,7 +144,7 @@ outside of the console or possibly even with a .Xr su 1 command. For example, make sure that your pty's are specified as being unsecure -in the +in the .Sq Pa /etc/ttys file so that direct root logins via telnet or rlogin are disallowed. If using @@ -159,11 +159,11 @@ verification to operate. One way to make root accessible is to add appropriate staff accounts to the wheel group .Pq in Pa /etc/group . The staff members placed -in the wheel group are allowed to +in the wheel group are allowed to .Sq su to root. You should never give staff -members native wheel access by putting the min the wheel group in their -password entry. Staff accounts should be placed in a +members native wheel access by putting the min the wheel group in their +password entry. Staff accounts should be placed in a .Sq staff group, and then added to the wheel group via the .Sq Pa /etc/group @@ -174,9 +174,9 @@ authentication method such as kerberos, to use kerberos's file in the root account to allow a .Xr ksu 1 to root without having to place anyone at all in the wheel group. This -may be the better solution since the wheel mechanism still allows an +may be the better solution since the wheel mechanism still allows an intruder to break root if the intruder has gotten hold of your password -file and can break into a staff account. While having the wheel mechanism +file and can break into a staff account. While having the wheel mechanism is better then having nothing at all, it isn't necessarily the safest option. .Pp @@ -185,7 +185,7 @@ by using an alternative login access method and *'ing out the crypted password for the staff accounts. This way an intruder may be able to steal the password file but will not be able to break into any staff accounts (or, indirectly, root, even if root has a crypted password associated with it). Staff members -get into their staff accounts through a secure login mechanism such as +get into their staff accounts through a secure login mechanism such as .Xr kerberos 1 or .Xr ssh 1 @@ -196,7 +196,7 @@ When you use a public/private key pair with ssh, you must generally secure the machine you are logging in FROM .Pq typically your workstation , but you can -also add an additional layer of protection to the key pair by password +also add an additional layer of protection to the key pair by password protecting the keypair when you create it with .Xr ssh-keygen 1 . Being able @@ -209,8 +209,8 @@ of sniffing the network from an unrelated, less secure machine. The more indirect security mechanisms also assume that you are logging in from a more restrictive server to a less restrictive server. For example, if your main box is running all sorts of servers, your workstation shouldn't -be running any. In order for your workstation to be reasonably secure -you should run as few servers as possible, up to and including no servers +be running any. In order for your workstation to be reasonably secure +you should run as few servers as possible, up to and including no servers at all, and you should run a password-protected screen blanker. Of course, given physical access to a workstation an attacker can break any sort of security you put on it. @@ -222,9 +222,9 @@ servers. Using something like kerberos also gives you the ability to disable or change the password for a staff account in one place and have it immediately effect all the machine the staff member may have an account on. If a staff -member's account gets compromised, the ability to instantly change his +member's account gets compromised, the ability to instantly change his password on all machines should not be underrated. With discrete passwords, -changing a password on N machines can be a mess. You can also impose +changing a password on N machines can be a mess. You can also impose re-passwording restrictions with kerberos: not only can a kerberos ticket be made to timeout after a while, but the kerberos system can require that the user choose a new password after a certain period of time @@ -283,7 +283,7 @@ It is better to be safe then sorry and the prudent sysadmin will restrict suid binaries that only staff should run to a special group that only staff can access, and get rid of .Pq chmod 000 -any suid binaries that nobody uses. A +any suid binaries that nobody uses. A server with no display generally does not need an xterm binary. Sgid binaries can be almost as dangerous. If an intruder can break an sgid-kmem binary the intruder might be able to read @@ -292,10 +292,10 @@ and thus read the crypted password file, potentially compromising any passworded account. Alternatively an intruder who breaks group kmem can monitor keystrokes sent through pty's, including pty's used by users who login through secure methods. An intruder -that breaks the tty group can write to almost any user's tty. If a user +that breaks the tty group can write to almost any user's tty. If a user is running a terminal -program or emulator with a keyboard-simulation feature, the intruder can -potentially +program or emulator with a keyboard-simulation feature, the intruder can +potentially generate a data stream that causes the user's terminal to echo a command, which is then run as that user. .Sh SECURING USER ACCOUNTS @@ -305,22 +305,22 @@ may not be able to do so with any general user accounts you might have. If you do have sufficient control then you may win out and be able to secure the user accounts properly. If not, you simply have to be more vigilant in your monitoring of those accounts. Use of ssh and kerberos for user accounts is -more problematic due to the extra administration and technical support +more problematic due to the extra administration and technical support required, but still a very good solution compared to a crypted password file. .Sh SECURING THE PASSWORD FILE -The only sure fire way is to *-out as many passwords as you can and -use ssh or kerberos for access to those accounts. Even though the +The only sure fire way is to *-out as many passwords as you can and +use ssh or kerberos for access to those accounts. Even though the crypted password file .Pq Pa /etc/spwd.db can only be read by root, it may -be possible for an intruder to obtain read access to that file even if the +be possible for an intruder to obtain read access to that file even if the attacker cannot obtain root-write access. .Pp -Your security scripts should always check for and report changes to +Your security scripts should always check for and report changes to the password file .Po -see +see .Sq Checking file integrity below .Pc . @@ -333,7 +333,7 @@ it is called the .Sq bpf device. An intruder will commonly attempt to run a packet sniffer -on a compromised machine. You do not need to give the intruder the +on a compromised machine. You do not need to give the intruder the capability and most systems should not have the bpf device compiled in. .Pp But even if you turn off the bpf device, @@ -345,7 +345,7 @@ to worry about. For that matter, the intruder can still write to raw disk devices. Also, there is another kernel feature called the module loader, .Xr kldload 8 . -An enterprising intruder can use a KLD module to install +An enterprising intruder can use a KLD module to install his own bpf device or other sniffing device on a running kernel. To avoid these problems you have to run the kernel at a higher secure level, at least securelevel 1. The securelevel @@ -382,7 +382,7 @@ The best way to detect an incursion is to look for modified, missing, or unexpected files. The best way to look for modified files is from another (often centralized) limited-access system. -Writing your security scripts on the extra-secure limited-access system +Writing your security scripts on the extra-secure limited-access system makes them mostly invisible to potential hackers, and this is important. In order to take maximum advantage you generally have to give the limited-access box significant access to the other machines in the business, @@ -398,13 +398,13 @@ of routing, the NFS method may be too insecure (network-wise) and using ssh may be the better choice even with the audit-trail tracks that ssh lays. .Pp Once you give a limit-access box at least read access to the client systems -it is supposed to monitor, you must write scripts to do the actual +it is supposed to monitor, you must write scripts to do the actual monitoring. Given an NFS mount, you can write scripts out of simple system utilities such as .Xr find 1 and .Xr md5 1 -It is best to physically md5 the client-box files boxes at least once a +It is best to physically md5 the client-box files boxes at least once a day, and to test control files such as those found in .Pa /etc and @@ -431,7 +431,7 @@ A good security script will also check for changes to user and staff members access configuration files: .Pa .rhosts , .Pa .shosts , -.Pa .ssh/authorized_keys +.Pa .ssh/authorized_keys and so forth... files that might fall outside the purview of the MD5 check. .Pp If you have a huge amount of user disk space it may take too long to run @@ -446,7 +446,7 @@ options see .Xr mount 8 .Pc -are what you want to look into. I would scan them anyway at least once a +are what you want to look into. I would scan them anyway at least once a week, since the object of this layer is to detect a break-in whether or not the breakin is effective. .Pp @@ -457,20 +457,20 @@ see .Pc is a relatively low-overhead feature of the operating system which I recommend using as a post-break-in evaluation -mechanism. It is especially useful in tracking down how an intruder has +mechanism. It is especially useful in tracking down how an intruder has actually broken into a system, assuming the file is still intact after the break-in occurs. .Pp Finally, security scripts should process the log files and the logs themselves should be generated in as secure a manner as possible - remote syslog can be very useful. An intruder tries to cover his tracks, and log files are critical -to the sysadmin trying to track down the time and method of the initial +to the sysadmin trying to track down the time and method of the initial break-in. One way to keep a permanent record of the log files is to run the system console to a serial port and collect the information on a continuing basis through a secure machine monitoring the consoles. .Sh PARANOIA A little paranoia never hurts. As a rule, a sysadmin can add any number -of security features as long as they do not effect convenience, and +of security features as long as they do not effect convenience, and can add security features that do effect convenience with some added thought. Even more importantly, a security administrator should mix it up a bit - if you use recommendations such as those given by this manual @@ -480,7 +480,7 @@ hacker who also has access to this manual page. This section covers Denial of Service attacks. A DOS attack is typically a packet attack. While there isn't much you can do about modern spoofed packet attacks that saturate your network, you can generally limit the damage -by ensuring that the attacks cannot take down your servers. +by ensuring that the attacks cannot take down your servers. .Bl -enum -offset indent .It Limiting server forks @@ -499,7 +499,7 @@ see .Pc has several options to limit this sort of attack. It should be noted that while it is possible to prevent a machine from going -down it is not generally possible to prevent a service from being disrupted +down it is not generally possible to prevent a service from being disrupted by the attack. Read the inetd manual page carefully and pay specific attention to the .Fl c , @@ -510,9 +510,9 @@ options. Note that spoofed-IP attacks will circumvent the .Fl C option to inetd, so typically a combination of options must be used. -Some standalone servers have self-fork-limitation parameters. +Some standalone servers have self-fork-limitation parameters. .Pp -Sendmail has its +Sendmail has its .Fl OMaxDaemonChildren option which tends to work much better than trying to use sendmail's load limiting options due to the @@ -520,10 +520,10 @@ load lag. You should specify a .Cm MaxDaemonChildren parameter when you start sendmail high enough to handle your expected load but no so high that the -computer cannot handle that number of sendmails without falling on its face. -It is also prudent to run sendmail in queued mode +computer cannot handle that number of sendmails without falling on its face. +It is also prudent to run sendmail in queued mode .Pq Fl ODeliveryMode=queued -and to run the daemon +and to run the daemon .Pq Cm sendmail -bd separate from the queue-runs .Pq Cm sendmail -q15m . @@ -535,20 +535,20 @@ but be sure to specify a reasonable option for that sendmail to prevent cascade failures. .Pp Syslogd can be attacked directly and it is strongly recommended that you use -the +the .Fl s option whenever possible, and the .Fl a option otherwise. .Pp You should also be fairly careful -with connect-back services such as tcpwrapper's reverse-identd, which can +with connect-back services such as tcpwrapper's reverse-identd, which can be attacked directly. You generally do not want to use the reverse-ident feature of tcpwrappers for this reason. .Pp It is a very good idea to protect internal services from external access by firewalling them off at your border routers. The idea here is to prevent -saturation attacks from outside your LAN, not so much to protect internal +saturation attacks from outside your LAN, not so much to protect internal services from network-based root compromise. Always configure an exclusive firewall, i.e. .So @@ -556,16 +556,16 @@ firewall everything *except* ports A, B, C, D, and M-Z .Sc . This way you can firewall off all of your low ports except for certain specific -services such as named +services such as named .Pq if you are primary for a zone , ntalkd, sendmail, and other internet-accessible services. If you try to configure the firewall the other way - as an inclusive or permissive firewall, there is a good chance that you -will forget to +will forget to .Sq close a couple of services or that you will add a new internal -service and forget to update the firewall. You can still open up the +service and forget to update the firewall. You can still open up the high-numbered port range on the firewall to allow permissive-like operation without compromising your low ports. Also take note that .Fx @@ -594,16 +594,16 @@ victim, especially when the attacker uses the same trick on several dozen broadcast addresses over several dozen different networks at once. Broadcast attacks of over a hundred and twenty megabits have been measured. A second common springboard attack is against the ICMP error reporting system. By -constructing packets that generate ICMP error responses, an attacker can -saturate a server's incoming network and cause the server to saturate its +constructing packets that generate ICMP error responses, an attacker can +saturate a server's incoming network and cause the server to saturate its outgoing network with ICMP responses. This type of attack can also crash the server by running it out of mbuf's, especially if the server cannot drain the ICMP responses it generates fast enough. The .Fx kernel has a new kernel -compile option called ICMP_BANDLIM which limits the effectiveness of these +compile option called ICMP_BANDLIM which limits the effectiveness of these sorts of attacks. The last major class of springboard attacks is related to -certain internal inetd services such as the udp echo service. An attacker +certain internal inetd services such as the udp echo service. An attacker simply spoofs a UDP packet with the source address being server A's echo port, and the destination address being server B's echo port, where server A and B are both on your LAN. The two servers then bounce this one packet back and @@ -613,7 +613,7 @@ exist with the internal chargen port. A competent sysadmin will turn off all of these inetd-internal test services. .Pp Spoofed packet attacks may also be used to overload the kernel route cache. -Refer to the net.inet.ip.rtexpire, rtminexpire, and rtmaxcache sysctl +Refer to the net.inet.ip.rtexpire, rtminexpire, and rtmaxcache sysctl parameters. A spoofed packet attack that uses a random source IP will cause the kernel to generate a temporary cached route in the route table, viewable with @@ -624,7 +624,7 @@ too big it will dynamically reduce the rtexpire but will never decrease it to less then rtminexpire. There are two problems: (1) The kernel does not react quickly enough when a lightly loaded server is suddenly attacked, and (2) The rtminexpire is not low enough for the kernel to survive a sustained attack. -If your servers are connected to the internet via a T3 or better it may be +If your servers are connected to the internet via a T3 or better it may be prudent to manually override both rtexpire and rtminexpire via .Xr sysctl 8 . Never set either parameter to zero @@ -635,32 +635,32 @@ table from attack. There are a few issues with both kerberos and ssh that need to be addressed if you intend to use them. Kerberos V is an excellent authentication protocol but the kerberized telnet and rlogin suck rocks. There are bugs that -make them unsuitable for dealing with binary streams. Also, by default -kerberos does not encrypt a session unless you use the +make them unsuitable for dealing with binary streams. Also, by default +kerberos does not encrypt a session unless you use the .Fl x option. Ssh encrypts everything by default. .Pp Ssh works quite well in every respect except when it is set up to forward encryption keys. -What this means is that if you have a secure workstation holding +What this means is that if you have a secure workstation holding keys that give you access to the rest of the system, and you ssh to an unsecure machine, your keys becomes exposed. The actual keys themselves are -not exposed, but ssh installs a forwarding port for the duration of your +not exposed, but ssh installs a forwarding port for the duration of your login and if a hacker has broken root on the unsecure machine he can utilize that port to use your keys to gain access to any other machine that your keys unlock. .Pp We recommend that you use ssh in combination with kerberos whenever possible -for staff logins. Ssh can be compiled with kerberos support. This reduces +for staff logins. Ssh can be compiled with kerberos support. This reduces your reliance on potentially exposable ssh keys while at the same time -protecting passwords via kerberos. Ssh keys -should only be used for automated tasks from secure machines (something +protecting passwords via kerberos. Ssh keys +should only be used for automated tasks from secure machines (something that kerberos is unsuited to). We also recommend that you either turn off key-forwarding in the ssh configuration, or that you make use of the .Pa "from=IP/DOMAIN" option that ssh allows in its .Pa authorized_keys -file to make the key only useable to entities logging in from specific +file to make the key only useable to entities logging in from specific machines. .Sh SEE ALSO .Xr chflags 1 , @@ -684,7 +684,7 @@ The .Nm manual page was originally written by .An Matthew Dillon -and first appeared +and first appeared in .Fx 3.1 , December 1998. diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index 0f29e42..8f340ac 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -35,7 +35,7 @@ later on if you add more memory to your machine. Finally, on larger systems with multiple SCSI disks (or multiple IDE disks operating on different controllers), we strongly recommend that you configure swap on each drive (up to four drives). The swap partitions on the drives should be -approximately the same size. The kernel can handle arbitrary sizes but +approximately the same size. The kernel can handle arbitrary sizes but internal data structures scale to 4 times the largest swap partition. Keeping the swap partitions near the same size will allow the kernel to optimally stripe swap space across the N disks. Don't worry about overdoing it a @@ -55,7 +55,7 @@ of a partition id). If your machine is intended to act as a mail or print server, or you are running a heavily visited web server, you should consider creating a much larger partition - perhaps a gig or more. It is very easy -to underestimate log file storage requirements. +to underestimate log file storage requirements. .Pp Sizing .Em /var/tmp @@ -64,7 +64,7 @@ the minimum we recommend. Also note that sysinstall will create a /tmp directory, but it is usually a good idea to make .Em /tmp a softlink to -.Em /var/tmp +.Em /var/tmp after the fact. Dedicating a partition for temporary file storage is important for two reasons: First, it reduces the possibility of filesystem corruption @@ -94,7 +94,7 @@ a 1 gigabyte /usr partition. However, if you install a lot of ports (especially window managers and linux-emulated binaries), we recommend at least a 2 gigabyte /usr and if you also intend to keep system source on the machine, we recommend a 3 gigabyte /usr. Do not underestimate the -amount of space you will need in this partition, it can creep up and +amount of space you will need in this partition, it can creep up and surprise you! .Pp The @@ -114,7 +114,7 @@ partitioning your system fragmentation introduced in the smaller more heavily write-loaded partitions will not bleed over into the mostly-read partitions. Additionally, keeping the write-loaded partitions closer to the edge of the disk (i.e. before the really big partitions instead of after -in the partition table) will increase I/O performance in the partitions +in the partition table) will increase I/O performance in the partitions where you need it the most. Now it is true that you might also need I/O performance in the larger partitions, but they are so large that shifting them more towards the edge of the disk will not lead to a significant @@ -129,7 +129,7 @@ and .Xr tunefs 8 parameters. Tuning .Fn newfs -requires more experience but can lead to significant improvements in +requires more experience but can lead to significant improvements in performance. There are three parameters that are relatively safe to tune: .Em blocksize , @@ -163,7 +163,7 @@ overcompensate you can wind up with a filesystem that has lots of free space remaining but cannot accommodate any more files. Using 32768, 65536, or 262144 bytes/inode is recommended. You can go higher but it will have only incremental effects on fsck recovery times. For -example, +example, .Em newfs -i 32768 ... .Pp Finally, increasing the @@ -177,7 +177,7 @@ and newfs will error out and tell you what the maximum is, then use that. .Xr tunefs 8 may be used to further tune a filesystem. This command can be run in single-user mode without having to reformat the filesystem. However, this -is possibly the most abused program in the system. Many people attempt to +is possibly the most abused program in the system. Many people attempt to increase available filesystem space by setting the min-free percentage to 0. This can lead to severe filesystem fragmentation and we do not recommend that you do this. Really the only tunefs option worthwhile here is turning on @@ -192,7 +192,7 @@ aware of: First, softupdates guarantees filesystem consistency in the case of a crash but could very easily be several seconds (even a minute!) behind updating the physical disk. If you crash you may lose more work than otherwise. Secondly, softupdates delays the freeing of filesystem -blocks. If you have a filesystem (such as the root filesystem) which is +blocks. If you have a filesystem (such as the root filesystem) which is close to full, doing a major update of it, e.g. .Em make installworld, can run it out of space and cause the update to fail. @@ -212,7 +212,7 @@ creating a burden on the system. For example, if you are running a heavily loaded web site, or a news server with lots of readers, you might want to consider turning off atime updates on your larger partitions with this mount option. Do not gratuitously turn off atime updates everywhere.. for -example, you might as well leave them turned on for mostly read-only +example, you might as well leave them turned on for mostly read-only partitions such as / and /usr (especially for / since some system utilities use the atime field for reporting). .Sh STRIPING DISKS @@ -220,7 +220,7 @@ In larger systems you can stripe partitions from several drives together to create a much larger overall partition. Striping can also improve the performance of a filesystem by splitting I/O operations across two or more disks. The -.Xr vinum 8 +.Xr vinum 8 and .Xr ccd 4 utilities may be used to create simple striped filesystems. Generally @@ -228,7 +228,7 @@ speaking, striping smaller partitions such as the root and /var/tmp, or essentially read-only partitions such as /usr is a complete waste of time. You should only stripe partitions that require serious I/O performance... typically /var, /home, or custom partitions used to hold databases and web -pages. Choosing the proper stripe size is also +pages. Choosing the proper stripe size is also important. Filesystems tend to store meta-data on power-of-2 boundaries and you usually want to reduce seeking rather than increase seeking. This means you want to use a large off-center stripe size such as 1152 sectors @@ -286,7 +286,7 @@ and sysctls are of particular interest if you are running network intensive applications. This controls the amount of send and receive buffer space allowed for any given TCP connection. The default is 16K. You can often -improve bandwidth utilization by increasing the default at the cost of +improve bandwidth utilization by increasing the default at the cost of eating up more kernel memory for each connection. We do not recommend increasing the defaults if you are serving hundreds or thousands of simultaneous connections because it is possible to quickly run the system @@ -306,7 +306,7 @@ to limit the bandwidth going to or from particular IP blocks or ports. For example, if you have a T1 you might want to limit your web traffic to 70% of the T1's bandwidth in order to leave the remainder available for mail and interactive use. Normally a heavily loaded web server -will not introduce significant latencies into other services even if +will not introduce significant latencies into other services even if the network link is maxed out, but enforcing a limit can smooth things out and lead to longer term stability. Many people also enforce artificial bandwidth limitations in order to ensure that they are not charged for @@ -326,7 +326,7 @@ turns on the window sizing extension to the TCP protocol. We do not recommend that you use this option unless you absolutely have to because many hosts on the internet can't handle the feature and may cause connections to freeze up. .Pp -We recommend that you turn on (set to 1) and leave on the +We recommend that you turn on (set to 1) and leave on the .Em net.inet.tcp.always_keepalive control. The default is usually off. This introduces a small amount of additional network bandwidth but guarantees that dead tcp connections @@ -386,7 +386,7 @@ by a megabyte or more, leaving more memory available for applications. The .Em maxusers kernel option defaults to an incredibly low value. For most modern machines, -you probably want to increase this value to 64, 128, or 256. We do not +you probably want to increase this value to 64, 128, or 256. We do not recommend going above 256 unless you need a huge number of file descriptors. Network buffers are also affected but can be controlled with a separate kernel option. Do not increase maxusers just to get more network mbufs. @@ -445,10 +445,10 @@ timebase, and even device operations. Additionally, higher-end cpus support 4MB MMU pages which the kernel uses to map the kernel itself into memory, which increases its efficiency under heavy syscall loads. .Sh IDE WRITE CACHING -.Fx 4.3 +.Fx 4.3 flirted with turning off IDE write caching. This reduced write bandwidth to IDE disks but was considered necessary due to serious data consistency -issues introduced by hard drive vendors. Basically the problem is that +issues introduced by hard drive vendors. Basically the problem is that IDE drives lie about when a write completes. With IDE write caching turned on, IDE hard drives will not only write data to disk out of order, they will sometimes delay some of the blocks indefinitely when under heavy disk @@ -462,7 +462,7 @@ sysctl variable. If IDE write caching is turned off, you can turn it back on by setting the .Em hw.ata.wc kernel variable back to 1. This must be done from the boot loader at boot -time. Attempting to do it after the kernel boots will have no effect. +time. Attempting to do it after the kernel boots will have no effect. Please see .Xr ata 4 , and @@ -496,7 +496,7 @@ improving network performance is to make sure you are using switches instead of hubs, especially these days where switches are almost as cheap. Hubs have severe problems under heavy loads due to collision backoff and one bad host can severely degrade the entire LAN. Second, optimize the network path -as much as possible. For example, in +as much as possible. For example, in .Xr firewall 7 we describe a firewall protecting internal hosts with a topology where the externally visible hosts are not routed through it. Use 100BaseT rather @@ -535,7 +535,7 @@ The .Nm manual page was originally written by .An Matthew Dillon -and first appeared +and first appeared in .Fx 4.3 , May 2001. |