|
1 \input texinfo @c -*-texinfo-*- |
|
2 @c %**start of header |
|
3 @setfilename configuration.info |
|
4 @settitle Vmailmgr Configuration Files |
|
5 @setchapternewpage off |
|
6 @paragraphindent 5 |
|
7 @footnotestyle end |
|
8 @c %**end of header |
|
9 |
|
10 @ifinfo |
|
11 Copyright @copyright{} 1998 Bruce Guenter |
|
12 @end ifinfo |
|
13 |
|
14 @titlepage |
|
15 @title Vmailmgr Configuration Files |
|
16 @author Bruce Guenter |
|
17 @subtitle @today{} |
|
18 @end titlepage |
|
19 |
|
20 @node Top, General Information, (dir), (dir) |
|
21 |
|
22 @menu |
|
23 * General Information:: |
|
24 * Configuration Files:: |
|
25 @end menu |
|
26 |
|
27 @c **************************************************************************** |
|
28 @node General Information, Configuration Files, Top, Top |
|
29 @chapter General Information |
|
30 |
|
31 @menu |
|
32 * Search Order:: |
|
33 * File Types:: |
|
34 * Command Execution:: |
|
35 @end menu |
|
36 |
|
37 @c ============================================================================ |
|
38 @node Search Order, File Types, General Information, General Information |
|
39 @section Search Order |
|
40 |
|
41 The system will look for the configuration files listed below in one of |
|
42 the following three locations, in the order they are listed: |
|
43 @enumerate |
|
44 @item The domain-local configuration directory |
|
45 @item The user-local configuration directory |
|
46 @item The global configuration directory |
|
47 @end enumerate |
|
48 The global configuration directory is set to @file{/etc/vmailmgr} by |
|
49 default. |
|
50 The user-local and domain-local configuration directories (for now, one |
|
51 and the same) are a subdirectory, named @file{.vmailmgr} by default, of |
|
52 either the user's home directory or the domain subdirectory. |
|
53 If a file matching the configuration name is found in one of the local |
|
54 directories, the search stops and it is not searched for in any |
|
55 higher up directories. |
|
56 |
|
57 @c ============================================================================ |
|
58 @node File Types, Command Execution, Search Order, General Information |
|
59 @section File Types |
|
60 |
|
61 Each of the configuration files falls into one of the following types: |
|
62 |
|
63 @table @asis |
|
64 |
|
65 @item String |
|
66 |
|
67 A single line is read from this type and used as-is with no conversion. |
|
68 All data after the first line is ignored. |
|
69 |
|
70 @item Directory |
|
71 |
|
72 A single line is read from this type. |
|
73 If it does not have a trailing slash (@samp{/}), one is appended. |
|
74 All data after the first line is ignored. |
|
75 |
|
76 @item Number |
|
77 |
|
78 A single line is read from this type and converted to an unsigned |
|
79 integer. |
|
80 If the conversion succeeds, the value is used. |
|
81 All data after the first line is ignored. |
|
82 |
|
83 @item List |
|
84 |
|
85 Each line of the file is read, stripped of leading and trailing |
|
86 whitespace, and treated as a separate value. |
|
87 Lines that contain only whitespace (ie blank lines) or lines beginning |
|
88 with a pound symbol (@samp{#}) are ignored. |
|
89 |
|
90 @item Executable |
|
91 |
|
92 If the execute bits on the file are set, it is treated as an executable |
|
93 file and is executed with no interpretation by vmailmgr. |
|
94 The the Command Execution section below for details. |
|
95 |
|
96 @end table |
|
97 |
|
98 All lines are stripped of any leading or trailing white space. |
|
99 |
|
100 Configuration files marked as @samp{(global only)} are read |
|
101 before any user-level processing occurrs, and so are not functional in |
|
102 the user-level configuration. |
|
103 |
|
104 @c ============================================================================ |
|
105 @node Command Execution, , File Types, General Information |
|
106 @section Command Execution |
|
107 |
|
108 The following rules apply to executing a single command or a list of |
|
109 commands. |
|
110 |
|
111 The executables are searched in reverse order of the configuration |
|
112 files. |
|
113 That is, the global setting is used first, and then the local settings. |
|
114 If the named file either does not exist in a directory or is not |
|
115 executable, that directory is skipped. |
|
116 |
|
117 A command exit code of @samp{99} indicates that the command completed |
|
118 successfully but no further commands should be executed. |
|
119 All other non-zero exit codes are treated as an error and will cause the |
|
120 invoking program to stop with the same error code. |
|
121 For @file{vdeliver}, an error exit of 111 will be passed up to qmail as a |
|
122 temporary error, and an error exit of 100 will be passed up as a |
|
123 permanent failure. |
|
124 See the @file{qmail-command} man page for full details on delivery error |
|
125 codes. |
|
126 For @file{checkvpw}, any non-zero exit code (except as described above) |
|
127 will cause authentication to fail. |
|
128 |
|
129 The following environment variables will be set (where applicable): |
|
130 |
|
131 @table @samp |
|
132 @item HOME |
|
133 The home directory of the real user. |
|
134 @item MAILDIR |
|
135 The mail directory of the real or virtual user. |
|
136 @item USER |
|
137 The real user's name. |
|
138 @item VUSER |
|
139 The virtual user's name. |
|
140 For base user logins, this is blank, and all the following items |
|
141 prefixed with @samp{VUSER_} are not set. |
|
142 @item VUSER_CTIME |
|
143 The virtual user's creation time (or "0" if unknown). |
|
144 @item VUSER_EXPIRY |
|
145 The virtual user's expiry time (or "-" if not applicable). |
|
146 @item VUSER_HARDQUOTA |
|
147 The virtual user's total size hard quota (in bytes, or "-" if not applicable). |
|
148 @item VUSER_MSGCOUNT |
|
149 The virtual user's message count limit (or "-" if not applicable). |
|
150 @item VUSER_MSGSIZE |
|
151 The virtual user's message size limit (or "-" if not applicable). |
|
152 @item VUSER_PERSONAL |
|
153 The virtual user's personal data. |
|
154 @item VUSER_SOFTQUOTA |
|
155 The virtual user's total size soft quota (in bytes, or "-" if not applicable). |
|
156 @end table |
|
157 |
|
158 @c **************************************************************************** |
|
159 @node Configuration Files, , General Information, Top |
|
160 @chapter Configuration Files |
|
161 |
|
162 Each of the following sections identifies a single configuration file |
|
163 |
|
164 @menu |
|
165 * authvmailmgr-error:: |
|
166 * authvmailmgr-loginfail:: |
|
167 * authvmailmgr-postsetuid:: |
|
168 * authvmailmgr-presetuid:: |
|
169 * autoresponse-dir:: |
|
170 * autoresponse-file:: |
|
171 * bulletin-dir:: |
|
172 * checkvpw-error:: |
|
173 * checkvpw-loginfail:: |
|
174 * checkvpw-postexec:: |
|
175 * checkvpw-postsetuid:: |
|
176 * checkvpw-presetuid:: |
|
177 * default-expiry:: |
|
178 * default-maildir:: |
|
179 * default-msgcount:: |
|
180 * default-msgsize:: |
|
181 * default-hardquota:: |
|
182 * default-softquota:: |
|
183 * default-username:: |
|
184 * error-maildir:: |
|
185 * global-bulletin-dir:: |
|
186 * maildir-arg-str:: |
|
187 * password-file:: |
|
188 * postmaster-aliases:: |
|
189 * postmaster-email:: |
|
190 * qmail-root:: |
|
191 * separators:: |
|
192 * socket-file:: |
|
193 * user-dir:: |
|
194 * user-dir-bits:: |
|
195 * user-dir-slices:: |
|
196 * vdeliver-postdeliver:: |
|
197 * vdeliver-predeliver:: |
|
198 * vsetup-post:: |
|
199 * vsetup-pre:: |
|
200 @end menu |
|
201 |
|
202 @c ============================================================================ |
|
203 @node authvmailmgr-error, authvmailmgr-loginfail, Configuration Files, Configuration Files |
|
204 @section authvmailmgr-error |
|
205 |
|
206 @table @strong |
|
207 @item Type |
|
208 executable |
|
209 @item Default |
|
210 Empty |
|
211 @item Used By |
|
212 authvmailmgr |
|
213 @item Description |
|
214 This is executed by authvmailmgr if any error occurrs other than those |
|
215 caught by @file{authvmailmgr-loginfail} below. |
|
216 The environment variable @code{AUTHVMAILMGR_ERROR} will contain an error |
|
217 message. |
|
218 This can be used to output logging messages about errors in authvmailmgr. |
|
219 @end table |
|
220 |
|
221 @c ============================================================================ |
|
222 @node authvmailmgr-loginfail, authvmailmgr-postsetuid, authvmailmgr-error, Configuration Files |
|
223 @section authvmailmgr-loginfail |
|
224 |
|
225 @table @strong |
|
226 @item Type |
|
227 executable |
|
228 @item Default |
|
229 Empty |
|
230 @item Used By |
|
231 authvmailmgr |
|
232 @item Description |
|
233 This is executed by authvmailmgr if the user's login fails. |
|
234 The environment variable @code{AUTHVMAILMGR_ERROR} will contain an error |
|
235 message. |
|
236 The environment variable @code{VUSER} will be set to the virtual user |
|
237 name if it has been determined. |
|
238 This can be used to output logging messages about login failures or to |
|
239 throttle hackers. |
|
240 @end table |
|
241 |
|
242 @c ============================================================================ |
|
243 @node authvmailmgr-postsetuid, authvmailmgr-presetuid, authvmailmgr-loginfail, Configuration Files |
|
244 @section authvmailmgr-postsetuid |
|
245 |
|
246 @table @strong |
|
247 @item Type |
|
248 executable |
|
249 @item Default |
|
250 @samp {vpopbull} |
|
251 @item Used By |
|
252 authvmailmgr |
|
253 @item Description |
|
254 This is executed by authvmailmgr after a user is successfully authenticated. |
|
255 @end table |
|
256 |
|
257 @c ============================================================================ |
|
258 @node authvmailmgr-presetuid, autoresponse-dir, authvmailmgr-postsetuid, Configuration Files |
|
259 @section authvmailmgr-presetuid |
|
260 |
|
261 @table @strong |
|
262 @item Type |
|
263 executable |
|
264 @item Default |
|
265 Empty |
|
266 @item Used By |
|
267 authvmailmgr |
|
268 @item Description |
|
269 This list is executed by authvmailmgr before changing user away from root, |
|
270 and before authenticating a virtual user. |
|
271 Note: The environment variable @samp{MAILDIR} is not set since the |
|
272 virtual user has not yet been authenticated, or even looked up |
|
273 at this point. |
|
274 For the same reason, @samp{VUSER} is not authenticated and is under |
|
275 complete control of the invoking user. |
|
276 @end table |
|
277 |
|
278 @c ============================================================================ |
|
279 @node autoresponse-dir, autoresponse-file, authvmailmgr-presetuid, Configuration Files |
|
280 @section autoresponse-dir |
|
281 |
|
282 @table @strong |
|
283 @item Type |
|
284 directory |
|
285 @item Default |
|
286 @samp{autoresponse} |
|
287 @item Used By |
|
288 vmailmgrd, autoresponder script |
|
289 @item Description |
|
290 Identifies the subdirectory of the virtual user directory in which all |
|
291 autoresponse data is stored. |
|
292 @end table |
|
293 |
|
294 @c ============================================================================ |
|
295 @node autoresponse-file, bulletin-dir, autoresponse-dir, Configuration Files |
|
296 @section autoresponse-file |
|
297 |
|
298 @table @strong |
|
299 @item Type |
|
300 string |
|
301 @item Default |
|
302 @samp{message.txt} |
|
303 @item Used By |
|
304 vmailmgrd, autoresponder script |
|
305 @item Description |
|
306 Identifies the file name within the autoresponse directory that contains |
|
307 the autoresponse message. |
|
308 @end table |
|
309 |
|
310 @c ============================================================================ |
|
311 @node bulletin-dir, checkvpw-error, autoresponse-file, Configuration Files |
|
312 @section bulletin-dir |
|
313 |
|
314 @table @strong |
|
315 @item Type |
|
316 directory |
|
317 @item Default |
|
318 @samp{bulletins} |
|
319 @item Used By |
|
320 checkvpw |
|
321 @item Description |
|
322 Identifies the subdirectory of the domain directory in which bulletins |
|
323 local to a domain are stored. |
|
324 @end table |
|
325 |
|
326 @c ============================================================================ |
|
327 @node checkvpw-error, checkvpw-loginfail, bulletin-dir, Configuration Files |
|
328 @section checkvpw-error |
|
329 |
|
330 @table @strong |
|
331 @item Type |
|
332 executable |
|
333 @item Default |
|
334 Empty |
|
335 @item Used By |
|
336 checkvpw |
|
337 @item Description |
|
338 This is executed by checkvpw if any error occurrs other than those |
|
339 caught by @file{checkvpw-loginfail} below. |
|
340 The environment variable @code{CHECKVPW_ERROR} will contain an error |
|
341 message. |
|
342 This can be used to output logging messages about errors in checkvpw. |
|
343 @end table |
|
344 |
|
345 @c ============================================================================ |
|
346 @node checkvpw-loginfail, checkvpw-postexec, checkvpw-error, Configuration Files |
|
347 @section checkvpw-loginfail |
|
348 |
|
349 @table @strong |
|
350 @item Type |
|
351 executable |
|
352 @item Default |
|
353 Empty |
|
354 @item Used By |
|
355 checkvpw |
|
356 @item Description |
|
357 This is executed by checkvpw if the user's login fails. |
|
358 The environment variable @code{CHECKVPW_ERROR} will contain an error |
|
359 message. |
|
360 The environment variable @code{VUSER} will be set to the virtual user |
|
361 name if it has been determined. |
|
362 This can be used to output logging messages about login failures or to |
|
363 throttle hackers. |
|
364 @end table |
|
365 |
|
366 @c ============================================================================ |
|
367 @node checkvpw-postexec, checkvpw-postsetuid, checkvpw-loginfail, Configuration Files |
|
368 @section checkvpw-postexec |
|
369 |
|
370 @table @strong |
|
371 @item Type |
|
372 executable |
|
373 @item Default |
|
374 Empty |
|
375 @item Used By |
|
376 checkvpw |
|
377 @item Description |
|
378 This is executed by checkvpw after the subcommand successfully completes. |
|
379 @end table |
|
380 |
|
381 @c ============================================================================ |
|
382 @node checkvpw-postsetuid, checkvpw-presetuid, checkvpw-postexec, Configuration Files |
|
383 @section checkvpw-postsetuid |
|
384 |
|
385 @table @strong |
|
386 @item Type |
|
387 executable |
|
388 @item Default |
|
389 @samp {vpopbull} |
|
390 @item Used By |
|
391 checkvpw |
|
392 @item Description |
|
393 This is executed by checkvpw after a user is successfully authenticated. |
|
394 @end table |
|
395 |
|
396 @c ============================================================================ |
|
397 @node checkvpw-presetuid, default-expiry, checkvpw-postsetuid, Configuration Files |
|
398 @section checkvpw-presetuid |
|
399 |
|
400 @table @strong |
|
401 @item Type |
|
402 executable |
|
403 @item Default |
|
404 Empty |
|
405 @item Used By |
|
406 checkvpw |
|
407 @item Description |
|
408 This list is executed by checkvpw before changing user away from root, |
|
409 and before authenticating a virtual user. |
|
410 Note: The environment variable @samp{MAILDIR} is not set since the |
|
411 virtual user has not yet been authenticated, or even looked up |
|
412 at this point. |
|
413 For the same reason, @samp{VUSER} is not authenticated and is under |
|
414 complete control of the invoking user. |
|
415 @end table |
|
416 |
|
417 @c ============================================================================ |
|
418 @node default-expiry, default-maildir, checkvpw-presetuid, Configuration Files |
|
419 @section default-expiry |
|
420 |
|
421 @table @strong |
|
422 @item Type |
|
423 number |
|
424 @item Default |
|
425 @samp{-1} |
|
426 @item Used By |
|
427 vadduser |
|
428 @item Description |
|
429 Sets the default expiry value for newly created users. |
|
430 Negative values indicate no expiry. |
|
431 @end table |
|
432 |
|
433 @c ============================================================================ |
|
434 @node default-maildir, default-msgcount, default-expiry, Configuration Files |
|
435 @section default-maildir |
|
436 |
|
437 @table @strong |
|
438 @item Type |
|
439 directory |
|
440 @item Default |
|
441 @samp{Maildir} |
|
442 @item Used By |
|
443 checkvpw |
|
444 @item Description |
|
445 Sets the name of the directory to be used as a non-virtual user's maildir. |
|
446 @end table |
|
447 |
|
448 @c ============================================================================ |
|
449 @node default-msgcount, default-msgsize, default-maildir, Configuration Files |
|
450 @section default-msgcount |
|
451 |
|
452 @table @strong |
|
453 @item Type |
|
454 number |
|
455 @item Default |
|
456 @samp{-1} |
|
457 @item Used By |
|
458 vadduser |
|
459 @item Description |
|
460 Sets the default message count limit. |
|
461 @end table |
|
462 |
|
463 @c ============================================================================ |
|
464 @node default-msgsize, default-hardquota, default-msgcount, Configuration Files |
|
465 @section default-msgsize |
|
466 |
|
467 @table @strong |
|
468 @item Type |
|
469 number |
|
470 @item Default |
|
471 @samp{-1} |
|
472 @item Used By |
|
473 vadduser |
|
474 @item Description |
|
475 Sets the default message size limit, in bytes. |
|
476 @end table |
|
477 |
|
478 @c ============================================================================ |
|
479 @node default-hardquota, default-softquota, default-msgsize, Configuration Files |
|
480 @section default-hardquota |
|
481 |
|
482 @table @strong |
|
483 @item Type |
|
484 number |
|
485 @item Default |
|
486 @samp{-1} |
|
487 @item Used By |
|
488 vadduser |
|
489 @item Description |
|
490 Sets the default hard quota, in bytes. |
|
491 @end table |
|
492 |
|
493 @c ============================================================================ |
|
494 @node default-softquota, default-username, default-hardquota, Configuration Files |
|
495 @section default-softquota |
|
496 |
|
497 @table @strong |
|
498 @item Type |
|
499 number |
|
500 @item Default |
|
501 @samp{-1} |
|
502 @item Used By |
|
503 vadduser |
|
504 @item Description |
|
505 Sets the default soft quota, in bytes. |
|
506 @end table |
|
507 |
|
508 @c ============================================================================ |
|
509 @node default-username, error-maildir, default-softquota, Configuration Files |
|
510 @section default-username |
|
511 |
|
512 @table @strong |
|
513 @item Type |
|
514 string |
|
515 @item Default |
|
516 @samp{+} |
|
517 @item Used By |
|
518 vmailmgrd |
|
519 @item Description |
|
520 Identifies the name of the virtual user to be looked up if a lookup of |
|
521 another virtual user fails. |
|
522 @end table |
|
523 |
|
524 @c ============================================================================ |
|
525 @node error-maildir, global-bulletin-dir, default-username, Configuration Files |
|
526 @section error-maildir |
|
527 |
|
528 @table @strong |
|
529 @item Type |
|
530 directory |
|
531 @item Default |
|
532 @samp{/var/lib/vmailmgr/error-maildir} |
|
533 @item Used By |
|
534 checkvpw |
|
535 @item Description |
|
536 Specifies the path of a read-only maildir containing a message to be |
|
537 sent to the user when the maildir corresponding to that user does not |
|
538 exist. |
|
539 @end table |
|
540 |
|
541 @c ============================================================================ |
|
542 @node global-bulletin-dir, maildir-arg-str, error-maildir, Configuration Files |
|
543 @section global-bulletin-dir |
|
544 |
|
545 @table @strong |
|
546 @item Type |
|
547 directory |
|
548 @item Default |
|
549 @samp{/var/spool/bulletins} |
|
550 @item Used By |
|
551 checkvpw |
|
552 @item Description |
|
553 Identifies a site-wide bulletin directory. |
|
554 @end table |
|
555 |
|
556 @c ============================================================================ |
|
557 @node maildir-arg-str, password-file, global-bulletin-dir, Configuration Files |
|
558 @section maildir-arg-str |
|
559 |
|
560 @table @strong |
|
561 @item Type |
|
562 string |
|
563 @item Default |
|
564 @samp{maildir} |
|
565 @item Used By |
|
566 checkvpw (global only) |
|
567 @item Description |
|
568 Identifies the string to search for when attempting to identify the |
|
569 maildir argument on the command line to checkvpw. |
|
570 @end table |
|
571 |
|
572 @c ============================================================================ |
|
573 @node password-file, postmaster-aliases, maildir-arg-str, Configuration Files |
|
574 @section password-file |
|
575 |
|
576 @table @strong |
|
577 @item Type |
|
578 string |
|
579 @item Default |
|
580 @samp{passwd} |
|
581 @item Used By |
|
582 vmailmgrd and command-line programs |
|
583 @item Description |
|
584 Identifies the file that contains user names, passwords, and |
|
585 destinations for a virtual domain. |
|
586 Note that this has nothing to do with "real" users, for which the |
|
587 password file is determined by the system libraries. |
|
588 @end table |
|
589 |
|
590 @c ============================================================================ |
|
591 @node postmaster-aliases, postmaster-email, password-file, Configuration Files |
|
592 @section postmaster-aliases |
|
593 |
|
594 @table @strong |
|
595 @item Type |
|
596 list |
|
597 @item Default |
|
598 @samp{mailer-daemon} |
|
599 @samp{postmaster} |
|
600 @samp{root} |
|
601 @item Used By |
|
602 vsetup |
|
603 @item Description |
|
604 A list of aliases to the postmaster email address to set |
|
605 up when creating a new virtual domain with the vsetup command. |
|
606 This should @emph{always} contain both @samp{postmaster} and |
|
607 @samp{mailer-daemon} (required by the RFCs), and should usually contain |
|
608 @samp{root}. |
|
609 @end table |
|
610 |
|
611 @c ============================================================================ |
|
612 @node postmaster-email, qmail-root, postmaster-aliases, Configuration Files |
|
613 @section postmaster-email |
|
614 |
|
615 @table @strong |
|
616 @item Type |
|
617 string |
|
618 @item Default |
|
619 @samp{postmaster@@} |
|
620 @item Used By |
|
621 vsetup |
|
622 @item Description |
|
623 Identifies the email address of the entity responsible |
|
624 for the administration of the (virtual) host when building the |
|
625 postmaster aliases above. |
|
626 If this value ends with a trailing @samp{@@}, the value of |
|
627 @file{/var/qmail/control/me} is filled in for the host name. |
|
628 If no @samp{@@} is present, the current virtual host name |
|
629 is filled in by vdeliver. |
|
630 If this is set to @samp{postmaster}, a mail loop |
|
631 will result and all mail to this address will bounce. |
|
632 @end table |
|
633 |
|
634 @c ============================================================================ |
|
635 @node qmail-root, separators, postmaster-email, Configuration Files |
|
636 @section qmail-root |
|
637 |
|
638 @table @strong |
|
639 @item Type |
|
640 string |
|
641 @item Default |
|
642 @samp{/var/qmail} |
|
643 @item Used By |
|
644 checkvpw, vdeliver, vmailmgrd |
|
645 @item Description |
|
646 Specifies the location of the base directory of your qmail install. |
|
647 Set this to whatever you put into @file{conf-home} when you built and |
|
648 installed qmail. |
|
649 @end table |
|
650 |
|
651 @c ============================================================================ |
|
652 @node separators, socket-file, qmail-root, Configuration Files |
|
653 @section separators |
|
654 |
|
655 @table @strong |
|
656 @item Type |
|
657 string |
|
658 @item Default |
|
659 @samp{@@:} |
|
660 @item Used By |
|
661 checkvpw (global only) |
|
662 @item Description |
|
663 Identifies the set of valid separators within a user login name between |
|
664 the virtual user name and virtual domain name when logging in via |
|
665 checkvpw. |
|
666 For example, if separators contains @samp{@@:} then @samp{user@@domain} and |
|
667 @samp{user:domain} are equivalent POP mailbox names. |
|
668 @end table |
|
669 |
|
670 @c ============================================================================ |
|
671 @node socket-file, user-dir, separators, Configuration Files |
|
672 @section socket-file |
|
673 |
|
674 @table @strong |
|
675 @item Type |
|
676 string |
|
677 @item Default |
|
678 @samp{/tmp/.vmailmgrd} |
|
679 @item Used By |
|
680 vmailmgrd, checkvpw, vdeliver, and the CGI programs |
|
681 @item Description |
|
682 Identifies the file name of the local socket used to |
|
683 communicate between the vmailmgr daemon and the other programs. |
|
684 @emph{Warning:} Changing this in the local configuration directories |
|
685 will cause vdeliver to fail. |
|
686 @end table |
|
687 |
|
688 @c ============================================================================ |
|
689 @node user-dir, user-dir-bits, socket-file, Configuration Files |
|
690 @section user-dir |
|
691 |
|
692 @table @strong |
|
693 @item Type |
|
694 directory |
|
695 @item Default |
|
696 @samp{users} |
|
697 @item Used By |
|
698 vmailmgrd and command-line programs |
|
699 @item Description |
|
700 Identifies the subdirectory from the virtual domain directory in which a |
|
701 virtual user's maildir will be created. |
|
702 Since this maildir is recorded in the password table, it does not have |
|
703 to be the same for each user within a domain. |
|
704 This is prefixed with @samp{./} before it is used in the password table. |
|
705 @end table |
|
706 |
|
707 @c ============================================================================ |
|
708 @node user-dir-bits, user-dir-slices, user-dir, Configuration Files |
|
709 @section user-dir-bits |
|
710 |
|
711 @table @strong |
|
712 @item Type |
|
713 @item Default |
|
714 @samp{0} |
|
715 @item Used By |
|
716 vmailmgrd and command-line programs when creating new users. |
|
717 @item Description |
|
718 @xref{user-dir-slices} |
|
719 @end table |
|
720 |
|
721 @c ============================================================================ |
|
722 @node user-dir-slices, vdeliver-postdeliver, user-dir-bits, Configuration Files |
|
723 @section user-dir-slices |
|
724 |
|
725 @table @strong |
|
726 @item Type |
|
727 @item Default |
|
728 @samp{0} |
|
729 @item Used By |
|
730 vmailmgrd and command-line programs when creating new users. |
|
731 @item Description |
|
732 @file{user-dir-bits} and @file{user-dir-slices} work together. When creating a |
|
733 new user directory name, a hash code is generated on the name of the |
|
734 new user. This hash code is split into @file{user-dir-slices} pieces, each |
|
735 @file{user-dir-bits} bits long. Each of these pieces is translated to an |
|
736 ASCII string by converting the binary code to hexadecimal. The |
|
737 resulting user directory name is then composed of: |
|
738 @itemize @bullet |
|
739 @item the base users directory, followed by a @samp{/} |
|
740 @item each of the string pieces, each followed by a @samp{/} |
|
741 @item the user's name |
|
742 @end itemize |
|
743 For example, with @file{user-dir-bits} set to 6 and |
|
744 @file{user-dir-slices} set to 1, a user |
|
745 named @samp{c} maps to a directory name of @samp{users/2f/c/}. |
|
746 @end table |
|
747 |
|
748 @c ============================================================================ |
|
749 @node vdeliver-postdeliver, vdeliver-predeliver, user-dir-slices, Configuration Files |
|
750 @section vdeliver-postdeliver |
|
751 |
|
752 @table @strong |
|
753 @item Type |
|
754 executable |
|
755 @item Default |
|
756 Empty |
|
757 @item Used By |
|
758 vdeliver |
|
759 @item Description |
|
760 This list is executed after the delivery is successfully |
|
761 completed. |
|
762 Since vdeliver expects @samp{USER} and @samp{HOME} to be set, it does |
|
763 not set them itself. |
|
764 If the command returns with an error code, a warning is printed, but |
|
765 delivery does not fail, as failure would lead to duplicates. |
|
766 @end table |
|
767 |
|
768 @c ============================================================================ |
|
769 @node vdeliver-predeliver, vsetup-post, vdeliver-postdeliver, Configuration Files |
|
770 @section vdeliver-predeliver |
|
771 |
|
772 @table @strong |
|
773 @item Type |
|
774 executable |
|
775 @item Default |
|
776 Empty |
|
777 @item Used By |
|
778 vdeliver |
|
779 @item Description |
|
780 This list is executed before the delivery is attempted, but |
|
781 after the virtual user information is looked up. |
|
782 Since vdeliver expects @samp{USER} and @samp{HOME} to be set, it does |
|
783 not set them itself. |
|
784 @end table |
|
785 |
|
786 @c ============================================================================ |
|
787 @node vsetup-post, vsetup-pre, vdeliver-predeliver, Configuration Files |
|
788 @section vsetup-pre |
|
789 |
|
790 @table @strong |
|
791 @item Type |
|
792 executable |
|
793 @item Default |
|
794 Empty |
|
795 @item Used By |
|
796 vsetup |
|
797 @item Description |
|
798 This list is executed after the vsetup command has sucessfully done |
|
799 everything else. |
|
800 @end table |
|
801 |
|
802 |
|
803 @c ============================================================================ |
|
804 @node vsetup-pre, , vsetup-post, Configuration Files |
|
805 @section vsetup-pre |
|
806 |
|
807 @table @strong |
|
808 @item Type |
|
809 executable |
|
810 @item Default |
|
811 Empty |
|
812 @item Used By |
|
813 vsetup |
|
814 @item Description |
|
815 This list is executed before the vsetup command makes any changes. |
|
816 @end table |
|
817 |
|
818 |
|
819 @contents |
|
820 |
|
821 @bye |