qmail-getpw(8) | System Manager's Manual | qmail-getpw(8) |
qmail-getpw - give addresses to users
qmail-getpw local
In qmail, each user controls a vast array of local addresses. qmail-getpw finds the user that controls a particular address, local. It prints six pieces of information, each terminated by NUL: user; uid; gid; homedir; dash; and ext. The user's account name is user; the user's uid and gid in decimal are uid and gid; the user's home directory is homedir; and messages to local will be handled by homedir/.qmaildashext.
In case of trouble, qmail-getpw exits nonzero without printing anything.
WARNING: The operating system's getpwnam function, which is at the heart of qmail-getpw, is inherently unreliable: it fails to distinguish between temporary errors and nonexistent users. Future versions of getpwnam should return ETXTBSY to indicate temporary errors and ESRCH to indicate nonexistent users.
qmail-getpw considers an account in /etc/passwd to be a user if (1) the account has a nonzero uid, (2) the account's home directory exists (and is visible to qmail-getpw), and (3) the account owns its home directory. qmail-getpw ignores account names containing uppercase letters. qmail-getpw also assumes that all account names are shorter than 32 characters.
qmail-getpw gives each user control over the basic user address and all addresses of the form user-anything. When local is user, dash and ext are both empty. When local is user-anything, dash is a hyphen and ext is anything. user may appear in any combination of uppercase and lowercase letters at the front of local.
A catch-all user, alias, controls all other addresses. In this case ext is local and dash is a hyphen.
You can override all of qmail-getpw's decisions with the qmail-users mechanism, which is reliable, highly configurable, and much faster than qmail-getpw.