Commit | Line | Data |
---|---|---|
ad787160 C |
1 | .\" @(MHWARNING) |
2 | .\" @(#)$Id: ADMIN.rf,v 2.16 1992/05/19 21:48:37 jromine Exp $ | |
29a3a89d C |
3 | .po +.75i |
4 | .de $c \" Major Heading printer | |
5 | .ce | |
6 | .b "\\s12\\n+(ch.\\ \\$1\\s0" \" 12 Point Bold Header | |
7 | .(x | |
8 | ||
9 | \ \ \ \\n(ch.\\ \\ \\$1 | |
10 | .)x | |
11 | .sp 45p \" 45 point space or about 1/2 inch | |
12 | .. | |
13 | \".nr xs .15v \" Put index entries closer together | |
14 | .(x | |
15 | ||
16 | Section | |
17 | .)x _ | |
18 | .de $0 \" Sub-Heading macro called AFTER printing the heading | |
19 | .(x | |
20 | .sp .3v | |
21 | .ti .5i | |
22 | \\$1 | |
23 | .)x | |
24 | .. | |
25 | .de $s \" Macro to print footnote separator | |
26 | \"\l'2i' \" No line drawn | |
27 | .if n \ | |
28 | . sp 1.3 \" But extra space to make up for it. | |
29 | .. | |
30 | .fc ^ ~ \" The characters ^ and ~ CANNOT BE USED | |
31 | \" throughout this document except as field | |
32 | \" delimiter & pad indicator! | |
33 | .he ''-%-'' | |
34 | .ll 32P \" 32 Picas or about 5+1/3 inch Line Length | |
35 | .if n .ll 72m \" Use 72 ems for nroff | |
36 | .nr ss 30p \" 30 point space before section titles | |
ad787160 | 37 | .nr fm 5v \" RAND likes bigger than normal [3v] bottom margins |
29a3a89d C |
38 | .nr bm 7v \" ditto |
39 | .ds . \\fB.\\fP\\h'-(1m/3)' \" Bold period to stand out. | |
40 | .ds << <\\h!-(\\w'<'/2)!< | |
41 | .ds >> >\\h!-(\\w'>'/2)!> | |
42 | .ds ** \v'-3p'\s+1*\s0\v'+3p' | |
43 | .so version.rf | |
44 | .tp | |
45 | .(l C | |
46 | \fIdiscard this page\fR | |
47 | .sp 4 | |
ad787160 | 48 | The RAND \fIMH\fR |
29a3a89d C |
49 | Message Handling |
50 | System: | |
51 | Administrator's Guide | |
52 | .sp | |
53 | UCI Version | |
54 | .sp 2 | |
55 | \*(td | |
56 | \*(MH | |
57 | .)l | |
58 | .++ C | |
59 | .+c INTRODUCTION | |
60 | ||
61 | .uh "Scope of this document" | |
62 | .pp | |
63 | This is the Administrator's Guide to \fIMH\fR. | |
64 | If you don't maintain an \fIMH\fR system, | |
65 | don't read this; | |
66 | the information is entirely too technical. | |
67 | If you are a maintainer, | |
68 | then read this guide until you understand it, | |
69 | follow the advice it gives, | |
70 | and then forget about the guide. | |
71 | .pp | |
72 | Before continuing, I'll point out two facts: | |
73 | .sp 2 | |
74 | .(l C | |
75 | \fIThis document will never contain all the information | |
76 | you need to maintain MH. | |
77 | .sp | |
78 | Furthermore, this document will never contain everything | |
79 | I know about maintaining MH.\fR | |
80 | .)l | |
81 | .sp 2 | |
82 | \fIMH\fR, | |
83 | and mailsystems in general, | |
84 | are more complex than most people realize. | |
85 | A combination of experience, intuition, and tenacity is required to maintain | |
86 | \fIMH\fR properly. | |
87 | This document can provide only guidelines for bringing up an \fIMH\fR system | |
88 | and maintaining it. | |
89 | There is a sufficient amount of customization possible that not all events or | |
90 | problems can be forseen. | |
91 | ||
92 | .uh "Summary" | |
93 | .pp | |
94 | During \fIMH\fR generation, | |
95 | you specify several configuration constants to the \fImhconfig\fR program. | |
96 | These directives take into consideration such issues as hardware and | |
97 | operating system dependencies in the source code. | |
98 | They also factor out some major mailsystem administrative decisions | |
99 | that are likely to be made consistantly at sites with more than one host. | |
100 | The manual entry \fImh\-gen\fR\0(8) describes all the static configuration | |
101 | directives. | |
102 | .pp | |
103 | However, | |
104 | when you install \fIMH\fR you may wish to make some site\-specific | |
105 | or host\-specific changes which aren't hardware or even software related. | |
106 | Rather, they are administrative decisions. | |
107 | That's what this guide is for: it describes all of the dynamically tailorable | |
108 | directives. | |
109 | .pp | |
110 | Usually, after installing \fIMH\fR, you'll want to edit the | |
ad787160 | 111 | \fB@(MHETCPATH)/mtstailor\fR file. |
29a3a89d C |
112 | This file fine-tunes the way \fIMH\fR interacts with the message transport |
113 | system (MTS). | |
114 | Section 2 talks about the MTS interface and MTS tailoring. | |
115 | .pp | |
116 | After that, if you're running the UCI BBoards facility, | |
117 | or the POP facility, | |
118 | you'll need to know how to maintain those systems. | |
119 | Sections 3 and 4 talk about these. | |
120 | .pp | |
121 | If for some reason | |
122 | you're not running an MTS that can handle both Internet and \fIUUCP\fR traffic, | |
123 | you should read\-up on mail filtering in Section 5. | |
124 | Although this is considered \*(lqold technology\*(rq now, | |
125 | the mechanisms described in Section 5 were really quite useful when | |
126 | first introduced way back in 1981. | |
127 | .pp | |
128 | Finally, you may want to know how to modify the \fIMH\fR source tree. | |
129 | Section 6 talks (a little bit) about that. | |
130 | .pp | |
131 | The last two sections describe a few hidden features in \fIMH\fR, | |
132 | and the configuration options that were in effect when this guide was | |
133 | generated. | |
134 | .pp | |
135 | After \fIMH\fR is installed, you should define the address \*(lqBug\-MH\*(rq | |
136 | to map to either you or the \fIPostMaster\fR at your site. | |
137 | .pp | |
138 | In addition, | |
139 | if you want to tailor the behavior of \fIMH\fR for new users, | |
ad787160 | 140 | you can create and edit the file \fB@(MHETCPATH)/mh.profile\fR. |
29a3a89d C |
141 | When the \fIinstall-mh\fR program is run for a user, |
142 | if this file exists, it will copy it into the user's \&.mh\(ruprofile | |
143 | file. | |
144 | ||
145 | .\" macros for the .me/.man files | |
146 | .de SC | |
147 | .he '\\$1(\\$2)'-%-'\\$1(\\$2)' | |
148 | .bp | |
149 | .(x | |
150 | .ti .8i | |
151 | \\$1 | |
152 | .)x | |
153 | .. | |
154 | .de NA | |
155 | .b \\s-2NAME\\s0 | |
156 | .ti .5i | |
157 | .. | |
158 | .de SY | |
159 | .sp | |
160 | .b \\s-2SYNOPSIS\\s0 | |
161 | .in 1i | |
162 | .ti .5i | |
163 | .na | |
164 | .. | |
165 | .de DE | |
166 | .ad | |
167 | .sp | |
168 | .in 0 | |
169 | .b \\s-2DESCRIPTION\\s0 | |
170 | .sp | |
171 | .fi | |
172 | .in .5i | |
173 | .. | |
ad787160 C |
174 | .de Uh |
175 | .ad | |
176 | .sp | |
177 | .ti .25i | |
178 | .b "\\s-2\\$1\\s0" | |
179 | .sp | |
180 | .fi | |
181 | .. | |
29a3a89d C |
182 | .de Hh |
183 | .ad | |
184 | .sp | |
185 | .in 0 | |
186 | .b "\\s-2Helpful Hints\\s0" | |
187 | .sp | |
188 | .fi | |
189 | .in .5i | |
190 | .. | |
191 | .de Fi | |
192 | .(b L | |
193 | .ti 0 | |
194 | .b \\s-2Files\\s0 | |
ad787160 | 195 | .ta \w'@(MHETCPATH)/ExtraBigFileName 'u |
29a3a89d C |
196 | .. |
197 | .de Pr | |
198 | .)b | |
199 | .(b L F | |
200 | .ta \w'ExtraBigProfileName 'u | |
201 | .ti 0 | |
202 | .b "\\s-2Profile Components\\s0" | |
203 | .ti .5i | |
204 | .. | |
205 | .de Ps | |
206 | .ti .5i | |
207 | .. | |
208 | .de Sa | |
209 | .)b | |
210 | .(b L F | |
211 | .ti 0 | |
212 | .b "\\s-2See Also\\s0" | |
213 | .br | |
214 | .. | |
215 | .de De | |
216 | .)b | |
217 | .(b L | |
218 | .in .5i | |
219 | .ti 0 | |
220 | .b \\s-2Defaults\\s0 | |
221 | .. | |
222 | .de Ds | |
223 | .. | |
224 | .de Co | |
225 | .)b | |
226 | .(b L F | |
227 | .ti 0 | |
228 | .b \\s-2Context\\s0 | |
229 | .br | |
230 | .. | |
231 | .de Hi | |
232 | .)b | |
233 | .(b L F | |
234 | .ti 0 | |
235 | .b \\s-2History\\s0 | |
236 | .br | |
237 | .. | |
238 | .de Bu | |
239 | .)b | |
240 | .(b L F | |
241 | .ti 0 | |
242 | .b \\s-2Bugs\\s0 | |
243 | .br | |
244 | .. | |
245 | .de En | |
246 | .)b | |
247 | .in 0 | |
248 | .. | |
249 | ||
250 | .+c "THE MTS INTERFACE" | |
251 | .pp | |
ad787160 | 252 | The file \fB@(MHETCPATH)/mtstailor\fR customizes |
29a3a89d C |
253 | certain host\-specific parameters of \fIMH\fR |
254 | related primarily to interactions with the transport system. | |
255 | The parameters in this file override the compiled\-in defaults given during | |
256 | \fIMH\fR configuration. | |
257 | Rather than recompiling \fIMH\fR on each host to make minor customizations, | |
258 | it is easier simply to modify the \fBmtstailor\fR file. | |
259 | All hosts at a given site normally use the same \fBmtstailor\fR file, | |
260 | though this need not be the case. | |
261 | .pp | |
262 | It is a good idea to run the \fIconflict\fR\0(8) program each morning | |
263 | under \fIcron\fR. | |
264 | The following line usually suffices: | |
265 | ||
266 | .ti +.5i | |
ad787160 | 267 | 00 05 * * * @(MHETCPATH)/conflict -mail PostMaster |
29a3a89d C |
268 | |
269 | .if t \{ | |
270 | .ll 6.5i | |
271 | .lt 6.5i | |
272 | \} | |
ad787160 | 273 | .fo '@(MHLEFTFOOT)'@(MHCENTERFOOT)'UCI version' |
29a3a89d C |
274 | .po -.50i |
275 | .so mh-tailor.me | |
276 | .so mh-mts.me | |
277 | .po +.50i | |
278 | .he ''-%-'' | |
279 | .fo '''' | |
280 | .br | |
281 | .if t \{ | |
282 | .ll 32P | |
283 | .lt 32P | |
284 | \} | |
285 | ||
286 | .+c "BBOARDS" | |
287 | .pp | |
ad787160 C |
288 | The UCI BBoards facility has two aspects: message reading, and |
289 | message delivery. The configuration directives applicable to | |
290 | BBoards are \*(lqbboards: on/off/pop/nntp\*(rq and | |
291 | \*(lqbbdelivery: on/off\*(rq. | |
292 | .uh "BBoard Delivery" | |
293 | .pp | |
294 | If you enabled BBoards delivery (\*(lqbbdelivery: on\*(rq) | |
295 | during configuration, | |
296 | then the initial environment for bboards delivery | |
29a3a89d C |
297 | was set\-up during installation. |
298 | A BBoard called \*(lqsystem\*(rq is established, | |
299 | which is the BBoard for general discussion. | |
300 | .pp | |
301 | To add more BBoards, become the \*(lqbboards\*(rq user, | |
ad787160 | 302 | and edit the \fB@(BBHOME)/BBoards\fR file. |
29a3a89d | 303 | The file \fBsupport/bboards/Example\fR is a copy of the |
ad787160 | 304 | \fB@(BBHOME)/BBoards\fR file that we use at UCI. |
29a3a89d C |
305 | When you add a BBoard, |
306 | you don't have to create the files associated with it, | |
307 | the BBoards delivery system will do that automatically. | |
308 | .pp | |
309 | Private BBoards may be created. | |
310 | To add the fictitious private BBoard \*(lqhacks\*(rq, | |
311 | add the appropriate entry to the BBoards file, | |
ad787160 | 312 | create the empty file \fB@(BBHOME)/hacks.mbox\fR (or whatever), |
29a3a89d C |
313 | change the mode of this file to 0640, |
314 | and change the group of the file to be the groupid of the people that you | |
315 | want to be able to read it. | |
316 | Also be sure to add the \*(lqbboards\*(rq user to this group | |
317 | (in \fB/etc/group\fR), | |
318 | so the archives can be owned correctly. | |
319 | .pp | |
320 | By using the special INVIS flag for a BBoard, | |
321 | special purpose BBoards may be set\-up which are invisible to the \fIMH\fR | |
322 | user. | |
323 | For example, | |
324 | if a site distributes a BBoard both locally to a number of machines and to a | |
325 | number of distant machines. | |
326 | It might be useful to have two distribution lists: | |
327 | one for all machines on the list, and the other for local machines only. | |
328 | This is actually very simple to do. | |
329 | For the main list, | |
ad787160 | 330 | put the standard entry of information in the \fB@(BBHOME)/BBoards\fR file, |
29a3a89d C |
331 | with the complete distribution list. |
332 | For the local machines list, | |
ad787160 | 333 | and add a similar entry to the \fB@(BBHOME)/BBoards\fR file. |
29a3a89d C |
334 | All the fields should be the same except three: |
335 | the BBoard name should reflect a local designation (e.g., \*(lql\-hacks\*(rq), | |
336 | the distribution list should contain only machines at the local site, | |
337 | and the flags field should contain the INVIS flag. | |
338 | Since the two entries share the same primary and archive files, | |
339 | messages sent to either list are read by local users, | |
340 | while only thoses messages sent to the main list are read by all users. | |
341 | .pp | |
342 | Two automatic facilities for dealing with BBoards exist: | |
343 | automatic archiving and automatic aliasing. | |
344 | The file \fBsupport/bboards/crontab\fR contains some entries that you | |
345 | should add to your \fB/usr/lib/crontab\fR file to run the specified programs | |
346 | at times that are convenient for you. | |
347 | The \fBbboards.daily\fR file is run once a day and generates an alias file | |
348 | for \fIMH\fR. | |
349 | By using this file, users of \fIMH\fR can use, for example, | |
350 | \*(lqunix\-wizards\*(rq instead of \*(lqunix\-wizards@brl\-vgr\*(rq | |
351 | when they want to send a message to the \*(lqunix\-wizards\*(rq | |
352 | discussion group. | |
353 | This is a major win, since you just have to know the name of the group, | |
354 | not the address where it's located. | |
355 | .pp | |
356 | The \fBbboards.weekly\fR file is run once a week and handles old | |
357 | messages (those received more than 12 days ago) in the BBoards area. | |
358 | In short, | |
359 | those BBoards which are marked for automatic archiving | |
ad787160 | 360 | will have their old messages placed in the \fB@(BBHOME)/archive/\fR area, |
29a3a89d C |
361 | or have their old messages removed. |
362 | Not only does this make BBoards faster to read, | |
363 | but it conveniently partitions the new messages from the old messages | |
364 | so you can easily put the old messages on tape and then remove them. | |
365 | It turns out that this automatic archiving capability is also a major | |
366 | win. | |
367 | .pp | |
368 | At UCI, | |
369 | our policy is to save archived messages on tape (every two months or so). | |
370 | We use a program called \fIbbtar\fR to implement our particular policy. | |
371 | Since some BBoards are private (see above), | |
372 | we save the archives on two tapes: | |
373 | one containing the world\-readable archives | |
374 | (this tape is read-only accessible to all users by calling the operator), | |
375 | and the other containing the non\-world\-readable ones | |
376 | (this tape is kept locked\-up somewhere). | |
ad787160 | 377 | .uh "BBoards with the POP" |
29a3a89d | 378 | .pp |
ad787160 C |
379 | If you configured \fIMH\fP with \*(lqbboards: pop\*(rq and \*(lqpop: on\*(rq, |
380 | then the \fIMH\fR user is allowed to read BBoards on a server machine | |
29a3a89d C |
381 | instead of the local host (thus saving disk space). |
382 | For completely transparent behavior, | |
383 | the administrator may set certain variables in the \fBmtstailor\fR file | |
384 | on the client host. | |
ad787160 | 385 | The variable \*(lqpopbbhost\*(rq indicates the host where BBoards are |
29a3a89d C |
386 | kept |
387 | (it doesn't have to be the POP service host, | |
388 | but this host must run both a POP server and the BBoards system). | |
ad787160 | 389 | The variable \*(lqpopbbuser\*(rq indicates the guest account on this host |
29a3a89d C |
390 | for BBoards. |
391 | This username should not be either the POP user or the BBoards user. | |
392 | Usually the anonymous FTP user (ftp) is the best choice. | |
393 | Finally, the variable \*(lqpopbblist\*(rq indicates the name of a file which | |
394 | contains a list of hosts (one to a line, official host names only) which | |
395 | should be allowed to use the POP facility to access BBoards via the guest | |
396 | account. | |
397 | (If the file is not present, then no check is made.) | |
398 | .pp | |
399 | The \*(lqpopbbuser\*(rq variable should be set on both the client and service | |
400 | host. | |
401 | The \*(lqpopbbhost\*(rq variable need be set only on the client host | |
402 | (the value, of course, is the name of the service host). | |
403 | The \*(lqpopbblist\*(rq variable need be set only on the service host. | |
ad787160 C |
404 | .pp |
405 | Finally, | |
406 | on the client host, | |
407 | if a POP service host is not explicitly given by the user | |
408 | (i.e., \*(lqpopbbhost\*(rq is implicitly used), | |
409 | then \fIbbc\fR will explicitly check the local host prior to contacting | |
410 | the service host. | |
411 | This allows each POP client host to have a few local BBoards | |
412 | (e.g., each host could have one called \*(lqsystem\*(rq), | |
413 | and then have the POP service host used for all the rest | |
414 | (a site\-wide BBoard might be known as \*(lqgeneral\*(rq). | |
415 | .uh "BBoards with the NNTP" | |
416 | .pp | |
417 | If you configured \fIMH\fP with \*(lqbboards: nntp\*(rq and \*(lqpop: on\*(rq, | |
418 | then | |
419 | the \fIMH\fR user is allowed to read the Network News on a | |
420 | server machine using the standard \fIbbc\fR command. | |
421 | For completely transparent behavior, | |
422 | the administrator may set the \*(lqnntphost\*(rq variable in the | |
423 | \fBmtstailor\fR file to indicate the host where the Network News is kept. | |
424 | The \*(lqnntphost\*(rq variable should be set only on the client host | |
425 | Finally, | |
426 | on the client host, | |
427 | if an NNTP service host is not explicitly given by the user | |
428 | (i.e., \*(lqnntphost\*(rq is implicitly used), | |
429 | then \fIbbc\fR will explicitly check the local host prior to contacting | |
430 | the service host. | |
431 | This allows each NNTP client host to have a few local BBoards | |
432 | (e.g., each host could have one called \*(lqsystem\*(rq), | |
433 | and then have the NNTP service host used for to read the Network News. | |
434 | .pp | |
435 | Reading BBoards via the POP and via the NNTP are mutually exclusive. | |
29a3a89d C |
436 | .if t \{ |
437 | .ll 6.5i | |
438 | .lt 6.5i | |
439 | \} | |
ad787160 | 440 | .fo '@(MHLEFTFOOT)'@(MHCENTERFOOT)'UCI version' |
29a3a89d C |
441 | .po -.50i |
442 | .so bboards5.me | |
443 | .so bbaka.me | |
444 | .so bbexp.me | |
445 | .so bboards8.me | |
446 | .so bbtar.me | |
447 | .po +.50i | |
448 | .he ''-%-'' | |
449 | .fo '''' | |
450 | .br | |
451 | .if t \{ | |
452 | .ll 32P | |
453 | .lt 32P | |
454 | \} | |
455 | ||
456 | .+c "POP" | |
457 | .pp | |
458 | For POP (Post Office Protocol) client hosts, | |
ad787160 | 459 | you need to edit the \fB@(MHETCPATH)/mtstailor\fR file to know about two |
29a3a89d C |
460 | hosts: |
461 | the SMTP service host and the POP service host. | |
462 | Normally, these are the same. | |
463 | Change the \*(lqlocalname\*(rq field of the \fBmtstailor\fR file | |
464 | of \fIMH\fR in the file to be the name of the POP service host. | |
ad787160 C |
465 | This makes replies to mail generated on the POP client host possible, |
466 | since \fIMH\fR will consider use the hostname of the POP service host as the | |
467 | local hostname for outgoing mail. | |
29a3a89d | 468 | Also set the value of \*(lqpophost\*(rq to this value. |
ad787160 C |
469 | This tells \fIinc\fR and \fImsgchk\fR to use POP instead of looking for mail |
470 | locally. | |
29a3a89d C |
471 | Finally, |
472 | make sure the value of \*(lqservers\*(rq includes the name of the SMTP | |
473 | service host. | |
474 | The recommended value for \*(lqservers\*(rq is: | |
475 | ||
476 | .ti +.5i | |
477 | servers:\ SMTP\-service\-host localhost \\01localnet | |
478 | .pp | |
479 | If you want more information on the Post Office Protocol used by \fIMH\fR, | |
ad787160 C |
480 | consult the files \fBsupport/pop/rfc1081.txt\fP and |
481 | \fBsupport/pop/rfc1082.txt\fP which describe the \fIMH\fP version of | |
482 | the POP: POP3. | |
29a3a89d C |
483 | .pp |
484 | For POP service hosts, | |
485 | you need to run a daemon, \fIpopd\fR\0(8). | |
486 | The daemon should start at multi\-user boot time, | |
487 | so adding the lines: | |
488 | .sp | |
489 | .nf | |
490 | .in +.5i | |
491 | if [ \-f /etc/popd ]; then | |
492 | /etc/popd & echo \-n ' pop' >/dev/console | |
493 | fi | |
494 | .in \-.5i | |
495 | .fi | |
ad787160 | 496 | .sp |
29a3a89d | 497 | to the \fB/etc/rc.local\fR file is sufficient. |
ad787160 C |
498 | .pp |
499 | The port assigned to the POP3 protocol is \*(lq110\*(rq. | |
500 | For historical reasons, many sites are using port \*(lq109\*(rq | |
501 | which is the port assigned to the \*(lqPOP\*(rq (version 1 and 2) protocol. | |
502 | The configuration option \*(lqPOPSERVICE\*(rq is the name of the | |
503 | port number that \fIMH\fP POP will try to use, and defaults to the | |
504 | name \*(lqpop\*(rq. | |
505 | .pp | |
506 | To generate \fIMH\fP to use newer assigned port number, | |
507 | in your \fIMH\fP config file, add: | |
508 | .sp | |
509 | .ti +.5i | |
510 | options POPSERVICE='\*(lqpop3\*(rq' | |
511 | .sp | |
512 | And on both the POP client and service hosts, | |
29a3a89d | 513 | you need to define the port that the POP service uses. |
ad787160 C |
514 | Add the line: |
515 | .sp | |
29a3a89d C |
516 | .nf |
517 | .in +.5i | |
ad787160 | 518 | pop3 110/tcp |
29a3a89d C |
519 | .in \-.5i |
520 | .fi | |
ad787160 | 521 | .sp |
29a3a89d C |
522 | to the \fB/etc/services\fR file (if it's not already there). |
523 | .pp | |
524 | There are two ways to administer POP: | |
525 | In \*(lqnaive\*(rq mode, | |
526 | each user-id in the \fIpasswd\fR\0(5) file is considered a POP subscriber. | |
527 | No changes are required for the mailsystem on the POP service host. | |
528 | However, | |
529 | this method requires that each POP subscriber have an entry in the password | |
530 | file. | |
531 | The POP server will fetch the user's mail from wherever maildrops are kept on | |
532 | the POP service host. | |
533 | This means that if maildrops are kept in the user's home directory, | |
534 | then each POP subscriber must have a home directory. | |
ad787160 | 535 | .pp |
29a3a89d C |
536 | In \*(lqsmart\*(rq mode |
537 | (enabled via \*(lqDPOP\*(rq being given as a configuration option), | |
538 | the list of POP subscribers and the list of | |
539 | login users are completely separate name spaces. | |
540 | A separate database (simple file similar to the \fIBBoards\fR\0(5) file) | |
541 | is used to record information about each POP subscriber. | |
542 | Unfortunately, | |
543 | the local mailsystem must be changed to reflect this. | |
544 | This requires two changes (both of which are simple): | |
545 | First, | |
546 | the aliasing mechanism is augmented so that POP subscriber addresses | |
547 | are diverted to a special delivery mechanism. | |
548 | \fIMH\fR comes with a program, \fIpopaka\fR\0(8), | |
549 | which generates the additional information to be put in the mailsystem's | |
550 | alias file. | |
551 | Second, | |
552 | a special POP channel (for MMDF-II) or POP mailer (for SendMail) | |
553 | performs the actual delivery (\fImh.6\fR supplies both). | |
554 | All it really does is just place the mail in the POP spool area. | |
555 | .pp | |
556 | These two different philosophies are not compatible on the same POP service | |
557 | host: one or the other, but not both may be run. | |
558 | Clever mailsystem people will note that | |
559 | the POP mechanism is really a special case of the more general | |
560 | BBoards mechanism. | |
561 | .pp | |
562 | In addition, there is one user-visible difference, | |
563 | which the administrator controls the availability of. | |
564 | The difference is whether the POP subscriber must supply a password to the POP | |
565 | server: | |
566 | The first method uses the standard ARPA technique of sending a username and a | |
567 | password. | |
568 | The appropriate programs (\fIinc\fR, \fImsgchk\fR, and possibly \fIbbc\fR\0) | |
569 | will prompt the user for this information. | |
570 | .pp | |
571 | The second method | |
572 | (which is enabled via \*(lqRPOP\*(rq being given as a configuration option) | |
573 | uses the Berkeley UNIX reserved port method for authentication. | |
574 | This requires that the two or three mentioned above programs be | |
575 | \fIsetuid\fR to root. | |
576 | (There are no known holes in any of these programs.) | |
577 | .pp | |
ad787160 C |
578 | To add a POP subscriber, |
579 | for the first method, one simply follows the usual procedures for adding a | |
580 | new user, which eventually results in adding a line to the \fIpasswd\fR\0(5) | |
581 | file; | |
582 | for the second method, one must edit the POP database file | |
583 | (kept in the home directory of the POP user), | |
584 | and then run the \fIpopaka\fR program. | |
585 | The output of this program is placed in the aliases file for the transport | |
586 | system (e.g., \fB/usr/lib/aliases\fR for SendMail). | |
587 | .pp | |
588 | Authentication for POP subscribers differs | |
589 | depending on the two methods. | |
590 | When the user supplies a password for the POP session: | |
591 | under the first method, | |
592 | the contents of the password field for the user's entry in the | |
593 | \fIpasswd\fR\0(5) is consulted; | |
594 | under the second method, | |
595 | the contents of the password field for the subscriber's entry in the | |
596 | \fIpop\fR\0(5) file is consulted. | |
597 | (To set this field, the \fIpopwrd\fR\0(8) program is used.) | |
598 | .pp | |
599 | If you are allowing RPOP, | |
600 | under the first method, | |
601 | the user's \fI\&.rhosts\fR file is consulted; | |
602 | under the second method, | |
603 | the contents of the network address field for the subscriber's entry | |
604 | in the \fIpop\fR\0(5) file is consulted. | |
605 | .pp | |
606 | In addition, | |
607 | a third authentication scheme is available. | |
608 | When the APOP configuration option is given, | |
609 | e.g., | |
610 | .sp | |
611 | .ti +.5i | |
612 | options APOP='\*(lq/etc/pop.auth\*(rq' | |
613 | .sp | |
614 | In this case, | |
615 | the server also allows a client to supply authentication | |
616 | credentials to provide for origin authentication and reply protection, | |
617 | but which do not involve sending a password in the clear over the network. | |
618 | A POP authorization DB, | |
619 | having as its name the value of APOP configuration option, | |
620 | is used to keep track of this information. | |
621 | This file is created and manipulated by the \fIpopauth\fR\0(8) program. | |
622 | Because this file contains secret information, | |
623 | it must be protected mode 0600 and owned by the super-user. | |
624 | Hence, | |
625 | your first step after installing the software is to issue | |
626 | .sp | |
627 | .ti +.5i | |
628 | # popauth -init | |
629 | .sp | |
630 | which creates and initalizes the POP authorization DB. | |
29a3a89d C |
631 | .if t \{ |
632 | .ll 6.5i | |
633 | .lt 6.5i | |
634 | \} | |
ad787160 | 635 | .fo '@(MHLEFTFOOT)'@(MHCENTERFOOT)'UCI version' |
29a3a89d C |
636 | .po -.50i |
637 | .so pop5.me | |
638 | .so pop8.me | |
639 | .so popaka.me | |
ad787160 | 640 | .so popauth.me |
29a3a89d C |
641 | .so popd.me |
642 | .so popwrd.me | |
643 | .po +.50i | |
644 | .he ''-%-'' | |
645 | .fo '''' | |
646 | .br | |
647 | .if t \{ | |
648 | .ll 32P | |
649 | .lt 32P | |
650 | \} | |
651 | ||
652 | .+c "MAIL FILTERING" | |
653 | .pp | |
654 | There was a time when users on a UNIX host might have had two maildrops: | |
655 | one from \fIMMDF\fR and the other from \fIUUCP\fR. | |
656 | This was really a bad problem since it prevented using a single | |
657 | user\-interface on all of your mail. | |
658 | Furthermore, | |
659 | if you wanted to send a message to addresses on different mailsystems, | |
660 | you couldn't send just one message. | |
661 | To solve all these problems, | |
662 | the notion of \fImail filtering\fR was developed that allowed sophisticated | |
663 | munging and relaying between the two pseudo\-domains. | |
664 | .pp | |
665 | \fIMH\fR will perform mail filtering, transparently, if given the MF | |
666 | configuration option. | |
667 | However, | |
668 | with the advent of \fISendMail\fR and further maturation of \fIMMDF\fR, | |
669 | \fIMH\fR doesn't really need to do this anymore, | |
670 | since these message transport agents handle it. | |
671 | .pp | |
672 | The mail\-filtering stuff is too complicated. | |
673 | It should be simpler, but, protocol translation really \fIis\fR difficult. | |
674 | .if t \{ | |
675 | .ll 6.5i | |
676 | .lt 6.5i | |
677 | \} | |
ad787160 | 678 | .fo '@(MHLEFTFOOT)'@(MHCENTERFOOT)'UCI version' |
29a3a89d C |
679 | .po -.50i |
680 | .so mf.me | |
681 | .so rmail.me | |
682 | .po +.50i | |
683 | .he ''-%-'' | |
684 | .fo '''' | |
685 | .br | |
686 | .if t \{ | |
687 | .ll 32P | |
688 | .lt 32P | |
689 | \} | |
690 | ||
691 | .+c "MH HACKING" | |
692 | .pp | |
693 | Finally, here's a little information on modifying the \fIMH\fR sources. | |
694 | A word of advice however: | |
695 | .sp 2 | |
696 | .ce | |
697 | .b \s+4DON'T\s0 | |
698 | .sp 2 | |
699 | .lp | |
700 | If you really want new \fIMH\fR capabilities, | |
701 | write a shell script instead. | |
702 | After all, | |
703 | that's what UNIX is all about, isn't it? | |
704 | .pp | |
705 | Here's the organization of the \fIMH\fR source tree. | |
706 | .sp | |
707 | .nf | |
708 | .in +.5i | |
709 | .ta \w'miscellany/ 'u +\w'sendmail/ 'u | |
710 | conf/ configurator tree | |
711 | config/ compiled configuration constants | |
712 | dist/ distributor | |
713 | doc/ manual entries | |
714 | h/ include files | |
ad787160 | 715 | miscellany/ various sundries |
29a3a89d C |
716 | mts/ MTS\-specific areas |
717 | mh/ standalone delivery | |
718 | mmdf/ MMDF\-I, MMDF\-II | |
719 | sendmail/ SendMail, SMTP | |
29a3a89d C |
720 | papers/ papers about \fIMH\fR |
721 | sbr/ subroutines | |
722 | support/ support programs and files | |
723 | bboards/ UCI BBoards facility | |
724 | general/ templates | |
725 | pop/ POP facility | |
ad787160 | 726 | tma/ Trusted Mail Agent (not present in all distributions) |
29a3a89d C |
727 | uip/ programs |
728 | zotnet/ MTS\-independent areas | |
729 | bboards/ UCI BBoards facility | |
730 | mf/ Mail Filtering | |
731 | mts/ MTS constants | |
732 | tws/ date routines | |
733 | .re | |
734 | .in -.5i | |
735 | .fi | |
736 | .if t \{ | |
737 | .ll 6.5i | |
738 | .lt 6.5i | |
739 | \} | |
ad787160 | 740 | .fo '@(MHLEFTFOOT)'@(MHCENTERFOOT)'UCI version' |
29a3a89d C |
741 | .po -.50i |
742 | .so mh-hack.me | |
743 | .po +.50i | |
744 | .he ''-%-'' | |
745 | .fo '''' | |
746 | .br | |
747 | .if t \{ | |
748 | .ll 32P | |
749 | .lt 32P | |
750 | \} | |
751 | ||
752 | .+c "HIDDEN FEATURES" | |
753 | .pp | |
754 | The capabilities discussed here should not be used on a production basis, | |
ad787160 C |
755 | as they are either experimental, are useful for debugging \fIMH\fR, or |
756 | are otherwise not recommended. | |
29a3a89d C |
757 | |
758 | .uh "Debug Facilities" | |
759 | .pp | |
760 | The \fImark\fR command has a `\-debug' switch which essentially prints out | |
761 | all the internal \fIMH\fR data structures for the folder you're looking at. | |
762 | .pp | |
763 | The \fIpost\fR command has a `\-debug' switch which does everything but | |
764 | actually post the message for you. | |
765 | Instead of posting the draft, it sends it to the standard output. | |
766 | Similarly, | |
767 | \fIsend\fR has a `\-debug' switch which gets passed to \fIpost\fR. | |
768 | .pp | |
ad787160 | 769 | Some \fIMH\fR commands look at envariables to determine debug\-mode operation |
29a3a89d | 770 | of certain new facilities. |
ad787160 | 771 | The current list of envariables is: |
29a3a89d C |
772 | .sp |
773 | .nf | |
774 | .in +.5i | |
775 | .ta \w'MHLPOPDEBUG 'u | |
776 | ^MHFDEBUG~^OVERHEAD facility | |
777 | ^MHLDEBUG~^mhl | |
778 | ^MHPDEBUG~^pick | |
779 | ^MHPOPDEBUG~^POP transactions | |
780 | ^MHVDEBUG~^window management transactions | |
781 | ^MHWDEBUG~^alternate\-mailboxes | |
782 | .re | |
783 | .in -.5i | |
784 | .fi | |
785 | ||
ad787160 C |
786 | .uh "Forwarding Mail" |
787 | .pp | |
788 | The \fIforw\fR and \fImhl\fR commands have two switches, | |
789 | `\-dashmunging' and `\-nodashmunging' which enable or disable | |
790 | the prepending of `\-\ ' in forwarded messages. To use | |
791 | `\-nodashmunging', you must use an \fImhl\fR filter file. | |
792 | ||
29a3a89d C |
793 | .uh "Send" |
794 | .pp | |
795 | The \fIsend\fR command has two switches, `\-unique' and `\-nounique', | |
796 | which are useful to certain individuals who, for obscure reasons, | |
797 | do not use draft\-folders. | |
ad787160 C |
798 | .pp |
799 | \*(lqDistribution Carbon Copy\*(rq addresses may be specified in | |
800 | the \fIDcc:\fR header. | |
801 | This header is removed before posting the message,and a copy of the message | |
802 | is distributed to each listed address. | |
803 | This could be considered a form of Blind | |
804 | Carbon Copy which is best used for sending to an address which | |
805 | would never reply (such as an auto\-archiver). | |
29a3a89d C |
806 | |
807 | .uh "Posting Mail" | |
808 | .pp | |
809 | If you're running a version of \fIMH\fR which talks directly to an | |
810 | \fISMTP\fR server (or perhaps an advanced \fIMMDF\fR submit process), | |
811 | there are lots of interesting switches for your amusement which \fIsend\fR | |
812 | and \fIpost\fR understand: | |
813 | .nf | |
814 | .in +.5i | |
815 | .ta \w'-server host 'u | |
816 | ^-mail~^Use the \fIMAIL\fR command (default) | |
817 | ^-saml~^Use the \fISAML\fR command | |
818 | ^-send~^Use the \fISEND\fR command | |
819 | ^-soml~^Use the \fISOML\fR command | |
820 | ^-snoop~^Watch the \fISMTP\fR transaction | |
821 | ^-client host~^Claim to be \*(lqhost\*(rq when posting mail | |
822 | ^-server host~^Post mail with \*(lqhost\*(rq | |
823 | .re | |
824 | .in -.5i | |
825 | .fi | |
826 | .pp | |
827 | The last switch is to be useful when \fIMH\fR resides on small | |
828 | workstations (or PC:s) in a network\-\-they can post their outgoing mail with | |
829 | a local relay, | |
830 | and reduce the load on the local system. | |
831 | On POP client hosts, | |
832 | the `\-server\ host' switch is defaulted appropriately using the SMTP | |
833 | search\-list mechanism. | |
834 | The \fIwhom\fR command understands the last three switches. | |
ad787160 C |
835 | @BEGIN: TMA |
836 | ||
837 | .+c "TRUSTED MAIL" | |
838 | .pp | |
839 | If you are licensed to run the TTI Trusted Mail Agent (TMA), | |
840 | here are three utility programs to manage the Key Distribution Server (KDS): | |
841 | \fIkdsc\fR, \fIkdsd\fR, and \fIkdser\fR. | |
842 | .if t \{ | |
843 | .ll 6.5i | |
844 | .lt 6.5i | |
845 | \} | |
846 | .fo '@(MHLEFTFOOT)'@(MHCENTERFOOT)'UCI version' | |
847 | .po -.50i | |
848 | .so kdsc.me | |
849 | .so kdsd.me | |
850 | .so kdser.me | |
851 | .po +.50i | |
852 | .he ''-%-'' | |
853 | .fo '''' | |
854 | .br | |
855 | .if t \{ | |
856 | .ll 32P | |
857 | .lt 32P | |
858 | \} | |
859 | @END: TMA | |
29a3a89d C |
860 | |
861 | .+c "CONFIGURATION OPTIONS" | |
862 | .pp | |
863 | This manual was generated with the following configuration options in | |
864 | effect: | |
865 | .sp 2 | |
866 | .hl | |
867 | .nf | |
868 | .in +1.25i | |
869 | .ta \w'BBoards Home Directory 'u | |
870 | ^Generation Date~^\*(td | |
ad787160 C |
871 | ^Primary Directory~^@(MHBINPATH)/ |
872 | ^Secondary Directory~^@(MHETCPATH)/ | |
873 | ^Maildrop Location~^@(MHDROPLOC) | |
874 | @BEGIN: BBSERVER | |
875 | ^BBoards Support~^Enabled | |
876 | ^BBoards Home Directory~^@(BBHOME) | |
877 | @END: BBSERVER | |
878 | @BEGIN: POP | |
879 | ^POP Support~^Enabled | |
880 | @END: POP | |
881 | @BEGIN: BPOP | |
882 | ^BBoards on POP~^Enabled | |
883 | @END: BPOP | |
884 | @BEGIN: NNTP | |
885 | ^BBoards using NNTP~^Enabled | |
886 | @END: NNTP | |
887 | @BEGIN: TMA | |
888 | ^Trusted Mail Support~^Enabled | |
889 | @END: TMA | |
890 | @BEGIN: SMTP | |
891 | .ds SM with SMTP | |
892 | @END: SMTP | |
893 | @BEGIN: MMDFIMTS | |
894 | ^Transport System~^MMDF-I \*(SM | |
895 | @END: MMDFIMTS | |
896 | @BEGIN: MMDFIIMTS | |
897 | ^Transport System~^MMDF-II \*(SM | |
898 | @END: MMDFIIMTS | |
899 | @BEGIN: SENDMTS | |
29a3a89d | 900 | ^Transport System~^SendMail \*(SM |
ad787160 C |
901 | @END: SENDMTS |
902 | @BEGIN: MHMTS | |
903 | ^Transport System~^Stand\-Alone Delivery | |
904 | @END: MHMTS | |
29a3a89d C |
905 | .re |
906 | .in -1.5i | |
907 | .fi | |
908 | .hl | |
909 | .\" table of contents | |
910 | .he '''' | |
911 | .fo '''' | |
912 | .bp | |
913 | .ce | |
914 | .b \\s12CONTENTS\\s0 | |
915 | .sp 3 | |
916 | .xp y | |
917 | .xp x | |
918 | .bp | |
919 | .\" And now the COVER sheet | |
920 | .po +.325i | |
921 | .ll 32P | |
922 | .nf | |
923 | ||
924 | .sp 1.5in | |
925 | .ps 24 | |
926 | .vs 32 | |
927 | .ft B | |
928 | .ce 4 | |
929 | THE RAND MH | |
930 | MESSAGE HANDLING | |
931 | SYSTEM: | |
932 | ADMINISTRATOR'S GUIDE | |
933 | .ft R | |
934 | .sp .8i | |
935 | .ps 20 | |
936 | .vs 24 | |
937 | .ce | |
938 | UCI Version | |
939 | .sp 0.7i | |
940 | .ce 2 | |
941 | Marshall T. Rose | |
942 | .sp 0.5i | |
943 | .ft I | |
944 | .ce 3 | |
945 | First Edition: | |
946 | MH Classic | |
947 | \s-2(Not to be confused with a well\-known soft drink)\s+2 | |
948 | .ft R | |
949 | .vs | |
950 | .sp 1i | |
951 | .ps 18 | |
952 | .vs 22 | |
953 | .ce 2 | |
954 | \*(td | |
955 | \*(MH |