435 Got it.
QUIT
nntpd; "Got
it" , .
"335 Ok" , ,
. Ctrl-D. ,
, ; nntpd
syslog. dbm
, dbminit .
20. Newsreader
Newsreaders ,
,
, ,
newsgroup .
- 338 -
.
newsreaders, Linux.
, tin,
trn, nn.
newsreaders
$ find /var/spool/news -name '[0-9]*' -exec cat {} \; | more
- , Unix .
newsreaders, , .
, ,
.
.
newsgroup, newsreaders ,
, . ,
,
, .
, " " Re: ''.
, ,
. newsreaders, Linux
, .
,
. .
20.1 tin
newsreader - tin. Iain Lea -
newsreader, .
486DX50, 30 , 1000
. NNTP
, - 5 . ,
-u , tin -
U .
, tin
.tin/index. ,
.
, tin setuid , . tin
- 339 -
, /var/spool/news/.index.
access Escape ,
, .
tin, Linux
NNTP. rtin -r
, tin NNTP , /etc/nntpserver
NNTPSERVER . Nntpserver
.
20.2 Trn
Trn - newsreader, rn (
). " T " "". Wayne
Davidson.
tin, trn
. ,
, mthreads,
cron, .
mthreads, , ,
,
" Novell Linix!! " , ,
( ).
newsgroups, mthreads
newsgroups .
sys:
mthreads comp,rec,!rec.games.go
comp rec, rec.games.go (,
, , ). ,
,
. ,
active , mthreads
.
,
mthreads , ,
. , ,
- 340 -
mthreads daemon .
, -d , ,
10 , ,
, . mthreads daemon ,
rc.news :
/usr/local/bin/rn/mthreads -deav
-a mthread
, ; -v
mthreads, mt.log ,
trn.
, ,
. , ,
, . ,
(
Expires) , mthreads -e
, " " . mthreads
daemon , -e
, .
20.3 nn
Nn Kim F. Storm, , newsreader
, . " '',
- " - . nn ."
, nn
,
,
, , ,
. ,
nnadmin,
.
Nn , nnmaster.
daemon, rc.inet2 rc.news.
/usr/local/lib/nn/nnmaster -l -r -C
- 341 -
newsgroups,
active.
, nnmaster cron,
. sys,
, . fake ,
"" , .
# /usr/local/lib/nn/nnmaster !rec.games.go rec comp
, :
, , . ,
!rec.games.go rec, .
Nn
. , ,
,
. - ,
nnmaster -E . ,
NNTP.
2 ,
mthreads, ,
, active.
, -e .
,
. , -E3 nnmaster.
, -F
. , nnmaster, daemon,
( -k) ,
, .
, expire ,
1:
# nnmaster -kF ""
# nnmaster -lrC
, ,
nn.
, nnmaster .
- 342 -
Nnmaster , GROUPS,
/usr/local/lib/nn. , .
newsgroup, , ,
, .
,
, ,
. nnmaster
, .
APPENDIX A
Null PLIP
PLIP ,
25 ( DB-25)
11 . 15 .
,
. ,
:
+-------------------------------+
|D0 2 15 ERROR |
|D1 3 13 SLCT |
|D2 4 12 PAPOUT |
|D3 5 10 ACK |
|D4 6 11 BUSY |
|GROUND 25 25 GROUND |
|ERROR 15 2 D0 |
|SLCT 13 3 D1 |
|PAPOUT 12 4 D2 |
|ACK 10 5 D3 |
|BUSY 11 6 D4 |
+-------------------------------+
.
, DB-25
.
- 343 -
APPENDIX B
smail
UUCP
. ,
smail-3.1.28.
, .
- ,
smail. smail
,
, .
host
, paths, /etc/hosts,
.
smail
, , ,
. ,
. ,
, ,
.
,
, .
smail,
, pathalias .
hostnames pathalias .
:
#
# pathalias database for intra-domain routing
domain paths:
driver=pathalias, # look up host in a paths file
transport=uux; # if matched, deliver over UUCP
file=paths/domain, # file is /usr/lib/smail/paths/domain
proto=lsearch, # file is unsorted (linear search)
optional, # ignore if the file does not exist
required=vbrew.com, # look up only *.vbrew.com hosts
#
- 344 -
# pathalias database for routing to hosts outside our domain
world paths:
driver=pathalias, # look up host in a paths file
transport=uux; # if matched, deliver over UUCP
file=paths/world, # file is /usr/lib/smail/paths/world
proto=bsearch, # file is sorted with sort(1)
optional, # ignore if the file does not exist
-required, # no required domains
domain=uucp, # strip ending ".uucp" before searching
,
,
, .
, uux .
transports, .
,
, mathod transports.
hostnames transports.
.
,
. host Internet, ,
, MX.
inet
, BIND smail.
, UUCP TCP/IP,
, /etc/hosts,
SLIP PPP . ,
UUCP. inet
,
paths/force.
- pathalias-, smail
.
# A sample /usr/lib/smail/routers file
#
# force - force UUCP delivery to certain hosts, even when
# they are in our /etc/hosts
- 345 -
force:
driver=pathalias, # look up host in a paths file
transport=uux; # if matched, deliver over UUCP
file=paths/force, # file is /usr/lib/smail/paths/force
optional, # ignore if the file does not exist
proto=lsearch, # file is unsorted (linear search)
-required, # no required domains
domain=uucp, # strip ending ".uucp" before searching
# inet addrs - match domain literals containing literal
# IP addresses, such as in janet@[191.72.2.1]
inet addrs:
driver=gethostbyaddr, # driver to match IP domain literals
transport=smtp; # deliver using SMTP over TCP/IP
fail if error, # fail if address is malformed
check for local, # deliver directly if host is ourself
# inet hosts - match hostnames with gethostbyname(3N)
# Comment this out if you wish to use the BIND version instead.
inet hosts:
driver=gethostbyname, # match hosts with the library function
transport=smtp; # use default SMTP
-required, # no required domains
-domain, # no defined domain suffixes
-only local domain, # don't restrict to defined domains
# inet hosts - alternate version using BIND to access the DNS
#inet hosts:
# driver=bind, # use built-in BIND driver
# transport=smtp; # use TCP/IP SMTP for delivery
#
# defnames, # use standard domain searching
# defer no connect, # try again if the nameserver is down
# -local mx okay, # fail (don't pass through) an MX
# # to the local host
#
# pathalias database for intra-domain routing
domain paths:
driver=pathalias, # look up host in a paths file
transport=uux; # if matched, deliver over UUCP
file=paths/domain, # file is /usr/lib/smail/paths/domain
- 346 -
proto=lsearch, # file is unsorted (linear search)
optional, # ignore if the file does not exist
required=vbrew.com, # look up only *.vbrew.com hosts
#
# pathalias database for routing to hosts outside our domain
world paths:
driver=pathalias, # look up host in a paths file
transport=uux; # if matched, deliver over UUCP
file=paths/world, # file is /usr/lib/smail/paths/world
proto=bsearch, # file is sorted with sort(1)
optional, # ignore if the file does not exist
-required, # no required domains
domain=uucp, # strip ending ".uucp" before searching
# smart host - a partically specified smarthost director
# If the smart path attribute is not defined in
# /usr/lib/smail/config, this router is ignored.
# The transport attribute is overridden by the global
# smart transport variable
smart host:
driver=smarthost, # special-case driver
transport=uux; # by default deliver over UUCP
-path, # use smart path config file variable
directors. ,
, .
, ,
, aliases, , ...
, janet, smail usr
directors . director ,
, (, mailbox
), (,
).
- , directors
,
. ,
( world - aliases)
. ,
- 347 -
, .
, smail .
. ,
mailbox janet, janet.
, aliases,
, , , nobody.
, smail
manpage.
# A sample /usr/lib/smail/directors file
# aliasinclude - expand ":include:filename" addresses produced
# by alias files
aliasinclude:
driver=aliasinclude, # use this special-case driver
nobody; # access file as nobody user if unsecure
copysecure, # get permissions from alias director
copyowners, # get owners from alias director
# forwardinclude - expand ":include:filename" addrs produced
# by forward files
forwardinclude:
driver=forwardinclude, # use this special-case driver
nobody; # access file as nobody user if unsecure
checkpath, # check path accessibility
copysecure, # get perms from forwarding director
copyowners, # get owners from forwarding director
# aliases - search for alias expansions stored in a database
aliases:
driver=aliasfile, # general-purpose aliasing director
-nobody, # all addresses are associated
# with nobody by default anyway sender okay,
# don't remove sender from expansions
owner=owner-$user; # problems go to an owner address
file=/usr/lib/aliases, # default: sendmail compatible
modemask=002, # should not be globally writable
optional, # ignore if file does not exist
proto=lsearch, # unsorted ASCII file
# dotforward - expand .forward files in user home directories
dotforward:
- 348 -
driver=forwardfile, # general-purpose forwarding director
owner=real-$user, # problems go to the user's mailbox
nobody, # use nobody user, if unsecure
sender okay; # sender never removed from expansion
file=~/.forward, # .forward file in home directories
checkowner, # the user can own this file
owners=root, # or root can own the file
modemask=002, # it should not be globally writable
caution=0-10:uucp:daemon,
# don't run things as root or daemons
# be extra careful of remotely accessible home directories
unsecure="~ftp:~uucp:~nuucp:/tmp:/usr/tmp",
# forwardto - expand a "Forward to " line at the top of
# the user's mailbox file
forwardto:
driver=forwardfile,
owner=Postmaster, # errors go to Postmaster
nobody, # use nobody user, if unsecure
sender okay; # don't remove sender from expansion
file=/var/spool/mail/${lc:user},
# location of user's mailbox forwardto,
# enable "Forward to " check
checkowner, # the user can own this file
owners=root, # or root can own the file
modemask=0002, # under System V, group mail can write
caution=0-10:uucp:daemon, # don't run things as root or daemons
# user - match users on the
# local host with delivery to their mailboxes user:
driver=user; # driver to match usernames
transport=local, # local transport goes to mailboxes
# real user - match usernames when prefixed with the string "real-"
real user:
driver=user; # driver to match usernames
transport=local, # local transport goes to mailboxes
prefix="real-", # for example, match real-root
# lists - expand mailing lists stored below /usr/lib/smail/lists
lists: driver=forwardfile,
caution, # flag all addresses with caution
- 349 -
nobody, # and then associate the nobody user
sender okay, # do NOT remove the sender
owner=owner-$user; # the list owner
# map the name of the mailing list to lower case
file=lists/${lc:user},
, smail
, director,
() . transports
transports. , .
, - ,
, ,
, cmd . ,
, ,
, .
# A sample /usr/lib/smail/transports file
# local - deliver mail to local users
local: driver=appendfile, # append message to a file
return path, # include a Return-Path: field
from, # supply a From envelope line
unix from hack, # insert > before From in body
local; # use local forms for delivery
file=/var/spool/mail/${lc:user},
# location of mailbox files group=mail,
# group to own file for System V
mode=0660, # group mail can access
suffix="\n", # append an extra newline
# pipe - deliver mail to shell commands
pipe: driver=pipe, # pipe message to another program
return path, # include a Return-Path: field
from, # supply a From envelope line
unix from hack, # insert > before From in body
local; # use local forms for delivery
cmd="/bin/sh -c $user", # send address to the Bourne Shell
parent env, # environment info from parent addr
pipe as user, # use user-id associated with address
ignore status, # ignore a non-zero exit status
- 350 -
ignore write errors, # ignore write errors, i.e., broken pipe
umask=0022, # umask for child process
-log output, # do not log stdout/stderr
# file - deliver mail to files
file: driver=appendfile,
return path, # include a Return-Path: field
from, # supply a From envelope line
unix from hack, # insert > before From in body
local; # use local forms for delivery
file=$user, # file is taken from address
append as user, # use user-id associated with address
expand user, # expand ~ and $ within address
suffix="\n", # append an extra newline
mode=0600, # set permissions to 600
# uux - deliver to the rmail program on a remote UUCP site
uux: driver=pipe,
uucp, # use UUCP-style addressing forms
from, # supply a From envelope line
max addrs=5, # at most 5 addresses per invocation
max chars=200; # at most 200 chars of addresses
cmd="/usr/bin/uux - -r -a$sender -g$grade $host!rmail $(($user)$)",
pipe as sender,
# have uucp logs contain caller
log output, # save error output for bounce messages
# defer child errors, # retry if uux returns an error
# demand - deliver to a remote rmail program,
# polling immediately demand: driver=pipe,
uucp, # use UUCP-style addressing forms
from, # supply a From envelope line
max addrs=5, # at most 5 addresses per invocation
max chars=200; # at most 200 chars of addresses
cmd="/usr/bin/uux - -a$sender -g$grade $host!rmail $(($user)$)",
pipe as sender,
# have uucp logs contain caller
log output, # save error output for bounce messages
# defer child errors, # retry if uux returns an error
# hbsmtp - half-baked BSMTP. The output files must
- 351 -
# be processed regularly and sent out via UUCP.
hbsmtp: driver=appendfile,
inet, # use RFC 822-addressing
hbsmtp, # batched SMTP w/o HELO and QUIT
-max addrs, -max chars; # no limit on number of addresses
file="/var/spool/smail/hbsmtp/$host",
user=root, # file is owned by root
mode=0600, # only read-/writeable by root.
# smtp - deliver using SMTP over TCP/IP
smtp: driver=tcpsmtp,
inet,
-max addrs, -max chars; # no limit on number of addresses
short timeout=5m, # timeout for short operations
long timeout=2h, # timeout for longer SMTP operations
service=smtp, # connect to this service port
# For internet use: uncomment the below 4 lines
# use bind, # resolve MX and multiple A records
# defnames, # use standard domain searching
# defer no connect, # try again if the nameserver is down
# -local mx okay, # fail an MX to the local host
APPENDIX C
GNU
GNU (GPL copy-left), Linux
. . Linux -
copyright (C) 1993 Linus Torvalds,
. , Linux
, , ()
GPL (GNU GENERAL PUBLIC LICENSE).
-
. ,
.
- 352 -
ACU . .
ARP .
IP CSMA-CD
(Ethernet).
ARPA ,
.
Internet.
ARPANET Internet; ,
(
).
BBS BBS. mailbox.
BGP .
.
BIND Berkeley Internet Name Domain . DNS.
BNU . -
UUCP . HoneyDanBer UUCP.
: P. Honeyman, D.A. Novitz, B.E. Redman.
broadcast network ,
.
BSD Berkeley . Unix.
CCITT (. ) , ..
CSLIP IP . IP
,
TCP/IP.
DNS Domain name system. - ,
Internet host IP.
EGP .
- 353 -
.
Ethernet , Ethernet - , .
Ethernet ,
,
10Mbps. Ethernet ,
.
FQDN . Hostname
, , .
FTP .
.
FYI " ."
Internet.
GMU Groucho Marx University. ,
.
GNU GNU Unix - -
,
Unix,
. GNU
,
GNU (GPL), Copyleft.
HoneyDanBer UUCP. . BNU.
host , : -,
. ,
x-, .
ICMP Internet .
, IP, host
, ..
IEEE Institute of Electrical and Eletronics Engineers.
. UNIX,
- 354 -
- POSIX , UNIX,
.
IETF Internet .
internet ,
.
Internet "" internet.
IP Internet Protocol. .
ISO .
ISDN .
, .
LAN . .
MX . DNS,
host gateway .
NFS .
.
NIS . Rpc- ,
. . YP.
NNTP .
TCP .
octet Internet, , .
, Internet,
, .
OSI . ISO
- 355 -
.
path UUCP .
PLIP IP . IP
.
PPP ( ). PPP -
, IP
IPX .
(), PPP
ISDN.
RARP .
IP .
RFC . ,
Internet.
RIP . -
,
() .
RPC .
host.
RR " ".
RS-232 - .
RTS/CTS ,
, ( ) RS-232.
RTS (" ''), CTS (" ,
'').
RTM Internet Worm - ,
VMS BSD 4.3 Unix,
Internet. ""
, Internet. RTM -
- 356 -
(Robert T. Morris), .
SLIP IP . - IP
, . CSLIP.
SMTP .
TCP ,
UUCP (batched SMTP).
SOA . DNS.
System V Unix.
TCP . .
TCP/IP Internet .
UDP . .
UUCP Unix Unix.
.
virtual beer Linux'.
, ,
Linux 0.98.X kernel, Linus "Oxford Beer Trolls"
.
YP . NIS,
, -
. , NIS yp.
?!
1. 2
1.1. Linux 3
1.2. 4
- 357 -
1.3. 5
1.4. 6
1.5. 7
1.6. 8
1.7. 9
1.8. linux 10
1.9. 11
2. . 12
2.1. . 12
2.2. UUCP . 13
2.2.1. UUCP 14
2.3. TCP/IP 16
2.3.1. TCP/IP-. 16
2.3.2. Ethernet 18
2.3.3. 20
2.3.4. Internet (IP) 21
2.3.5. IP 22
2.3.6. (TCP) 23
2.3.7. (UDP) 24
2.3.8. 24
2.3.9. (socket) 25
2.4. Linux 26
2.4.1. 27
2.4.2. 28
2.5. 28
2.5.1. 29
2.6. 31
3. TCP/IP 33
3.1. 33
3.2. IP 34
3.3. Address Resolution( ). 35
3.4. IP 37
3.4.1. IP 37
3.4.2. 37
3.4.3. Gateways 39
3.4.4. 40
- 358 -
3.4.5. 42
3.5. The Internet Control Message Protocol 42
3.6. (Domain Name System) 43
3.6.1 (Hostname Resolution) 43
3.6.2. DNS 45
3.6.3 DNS 47
3.6.4 (Domain Name Servers) 48
3.6.5 DNS 49
3.6.6. . 51
4. . 55
4.1. , , 55
4.2. 57
4.2.1. Linux 1.0 58
4.2.2. Linux 1.1.14 60
4.3. Linux 62
4.4. Ethernet 63
4.4.1. Ethernet . 64
4.4.2. 64
4.4.3. Ethernet 65
4.5. PLIP 68
4.6. SLIP PPP 69
5. 70
5.1. 70
5.2. 71
5.3. 72
5.4. . 74
6. TCP/IP 77
6.1. proc 77
6.2. 78
6.3. 79
6.4. 79
6.5. IP 80
6.6. hosts networks 82
6.7. IP 84
6.7.1. loopback 85
- 359 -
6.7.2. Ethernet 87
6.7.3. Gateway 90
6.7.4. Gateway 91
6.7.5. PLIP 92
6.7.6. SLIP PPP 93
6.7.7. Dummy() 94
6.8. ifconfig 94
6.9. netstat 98
6.9.1. 98
6.9.2. 99
6.9.3. 100
6.10. ARP 101
6.11. 103
7. . 105
7.1 . 105
7.1.1 . 106
7.1.2 . 107
7.1.3 --- resolv.conf 108
7.1.4 . 109
7.2 named. 110
7.2.1 named.boot. 111
7.2.2 DNS . 114
7.2.3 . 118
7.2.4 (Name Server Setup). 119
7.2.5 125
8. IP 126
8.1 . 126
8.2 SLIP . 127
8.3 dip 130
8.3.1 Script(). 130
8.3.2 Dip . 133
8.3.2.1 . 134
8.3.2.2 echo term. 135
8.3.2.3 Get . 135
8.3.2.4 Print 136
8.3.2.5 (Variable Names) 136
- 360 -
8.3.2.6 If Goto 137
8.3.2.7 send, wait sleep 137
8.3.2.8 mode default 138
8.4 server 138
9. (point-to-point protocol) 140
9.1 P's 140
9.2 PPP Linux 141
9.3 pppd 143
9.4 144
9.5 chat 146
9.6 PPP 149
9.7 IP 149
9.7.1 IP 150
9.7.2 PPP 151
9.8 153
9.9 155
9.10 PPP 156
9.11 PPP 161
10. 163
10.1 Inetd - 163
10.2 Tcpd 166
10.4 170
10.5 r 172
11. 175
11.1 NIS 177
11.2 NIS NIS + 181
11.3 NIS 182
11.4 NIS 182
11.5 NIS NYS 184
11.6 186
11.7 passwd Maps 188
11.8 NIS Shadow Support 191
11.9 NIS . 192
12. (NFS) 193
- 361 -
12.1 NFS 196
12.2 NFS 197
12.3 NFS daemon() 200
12.4 201
12.5 Linux Automounter 204
13. Taylor UUCP 205
13.1 205
13.1.1 UUCP 207
13.2 207
13.2.1 UUCP 207
13.2.2 uucico 208
13.2.3 uucico 210
13.3 UUCP 211
13.3.1 Taylor UUCP 211
13.3.2 UUCP 214
13.3.3 215
13.3.4 Taylor 216
13.3.5 - config 217
13.3.6 UUCP - sys 218
13.3.6.1 218
13.3.6.2 218
13.3.6.3 Port Speed 219
13.3.6.4 Login chat ( ) 220
13.3.6.5 222
13.3.6.6 223
13.3.7 (Devices) - port 224
13.3.8 - dial 226
13.3.9 UUCP TCP 228
13.3.10 229
13.4 UUCP, - 230
13.4.1 230
13.4.2 230
13.4.3 232
13.5 . 233
13.5.1 getty 233
13.5.2 UUCP (account) 233
13.5.3 235
- 362 -
13.5.4 - 236
13.5.5 UUCP 238
13.6 UUCP 239
13.6.1 239
13.6.2 241
14. 247
14.1 - ? 248
14.2 ? 251
14.3 Email 252
14.4 ? 253
14.4.1 Internet 253
14.4.2 UUCP 254
14.4.3 UUCP RFC 822 256
14.5 Pathalias 258
14.6 elm 261
14.6.1 elm 261
14.6.2 262
15. smail 263
15.1 UUCP 265
15.2 267
15.2.1 267
15.2.2 smail 269
15.3 ... 270
15.3.1 smail 272
15.4 272
15.5 273
15.6 274
15.7 274
15.7.1 277
15.8 277
15.8.1 278
15.8.2 279
15.8.3 279
15.8.4 280
15.9 UUCP- 281
15.10 SMTP- 282
- 363 -
15.11 Hostname 282
16. Sendmail + IDA 283
16.1 Sendmail + IDA 283
16.2 --- 284
16.3 Sendmail.cf 285
16.3.1 Sendmail.m4 286
16.3.2 sendmail.m4 286
16.3.2.1 , 287
16.3.2.2 Mailer' 288
16.3.2.3 Bounced- 289
16.3.2.4 289
16.3.2.5 289
16.3.2.6 Uucp- 290
16.3.2.7 Relay- Mailer' 290
16.3.2.8 291
16.3.2.9 Sendmail.mc 291
16.3.2.10 ? 291
16.4 Sendmail + IDA 292
16.4.1 Mailertable 292
16.4.2 Uucpxtable 294
16.4.3 pathtable 295
16.4.4 domaintable 296
16.4.5 aliases 296
16.4.6 298
16.5 sendmail 298
16.5.1 299
16.5.2 sendmail.cf 299
16.5.3 sendmail.cf 300
16.5.4 - 303
16.6 305
16.6.1 306
16.6.2 306
16.6.3 , UUCP 307
16.6.4 UUCP 307
16.6.5 Sendmail 308
16.6.6 308
16.7 309
- 364 -
16.8 309
17. Netnews 310
17.1 Usenet 310
17.2 Usenet, ? 310
17.3 Usenet ? 311
18. "C" 312
18.1 312
18.2 313
18.3 315
18.4 active 318
18.5 319
18.6 322
18.7 324
18.8 326
18.8.1 326
18.8.2 Newgroup rmgroup 327
18.8.3 Checkgroups 327
18.8.4 sendsys, version, senduuname 329
18.9 C News NFS 329
18.10 330
19. NNTP 332
19.1 332
19.2 NNTP 334
19.3 NNTP 334
19.4 NNTP 336
19.5 Nntpd C News 336
20. Newsreader 337
20.1 tin 338
20.2 Trn 339
20.3 nn 340
APPENDIX A 342
APPENDIX B 343
APPENDIX C 351
Last-modified: Sat, 18 May 2002 16:48:29 GMT