qmail-getpw.9
changeset 0 068428edee47
equal deleted inserted replaced
-1:000000000000 0:068428edee47
       
     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)