|
1 .TH qmail-getpw 8 |
|
2 .SH NAME |
|
3 qmail-getpw \- give addresses to users |
|
4 .SH SYNOPSIS |
|
5 .B qmail-getpw |
|
6 .I local |
|
7 .SH DESCRIPTION |
|
8 In |
|
9 .BR qmail , |
|
10 each user controls a vast array of local addresses. |
|
11 .B qmail-getpw |
|
12 finds the user that controls a particular address, |
|
13 .IR local . |
|
14 It prints six pieces of information, |
|
15 each terminated by NUL: |
|
16 .IR user ; |
|
17 .IR uid ; |
|
18 .IR gid ; |
|
19 .IR homedir ; |
|
20 .IR dash ; |
|
21 and |
|
22 .IR ext . |
|
23 The user's account name is |
|
24 .IR user ; |
|
25 the user's uid and gid in decimal are |
|
26 .I uid |
|
27 and |
|
28 .IR gid ; |
|
29 the user's home directory is |
|
30 .IR homedir ; |
|
31 and messages to |
|
32 .I local |
|
33 will be handled by |
|
34 .IR homedir\fB/.qmail\fIdashext . |
|
35 |
|
36 In case of trouble, |
|
37 .B qmail-getpw |
|
38 exits nonzero without printing anything. |
|
39 |
|
40 .B WARNING: |
|
41 The operating system's |
|
42 .B getpwnam |
|
43 function, which is at the heart of |
|
44 .BR qmail-getpw , |
|
45 is inherently unreliable: |
|
46 it fails to distinguish between temporary errors and nonexistent users. |
|
47 Future versions of |
|
48 .B getpwnam |
|
49 should return ETXTBSY to indicate temporary errors |
|
50 and ESRCH to indicate nonexistent users. |
|
51 .SH "RULES" |
|
52 .B qmail-getpw |
|
53 considers an account in |
|
54 .B /etc/passwd |
|
55 to be a user if |
|
56 (1) the account has a nonzero uid, |
|
57 (2) the account's home directory exists (and is visible to |
|
58 .BR qmail-getpw ), |
|
59 and |
|
60 (3) the account owns its home directory. |
|
61 .B qmail-getpw |
|
62 ignores account names containing uppercase letters. |
|
63 .B qmail-getpw |
|
64 also assumes that all account names are shorter than 32 characters. |
|
65 |
|
66 .B qmail-getpw |
|
67 gives each user |
|
68 control over the basic |
|
69 .I user |
|
70 address and |
|
71 all addresses of the form |
|
72 .IR user\fBBREAK\fIanything . |
|
73 When |
|
74 .I local |
|
75 is |
|
76 .IR user , |
|
77 .I dash |
|
78 and |
|
79 .I ext |
|
80 are both empty. |
|
81 When |
|
82 .I local |
|
83 is |
|
84 .IR user\fBBREAK\fIanything , |
|
85 .I dash |
|
86 is a hyphen and |
|
87 .I ext |
|
88 is |
|
89 .IR anything . |
|
90 .I user |
|
91 may appear in any combination of uppercase and lowercase letters |
|
92 at the front of |
|
93 .IR local . |
|
94 |
|
95 A catch-all user, |
|
96 .BR alias , |
|
97 controls all other addresses. |
|
98 In this case |
|
99 .I ext |
|
100 is |
|
101 .I local |
|
102 and |
|
103 .I dash |
|
104 is a hyphen. |
|
105 |
|
106 You can override all of |
|
107 .BR qmail-getpw 's |
|
108 decisions with the |
|
109 .B qmail-users |
|
110 mechanism, which is reliable, highly configurable, and much faster than |
|
111 .BR qmail-getpw . |
|
112 .SH "SEE ALSO" |
|
113 qmail-users(5), |
|
114 qmail-lspawn(8) |