-
-
Notifications
You must be signed in to change notification settings - Fork 3
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 NULL: 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**/.qmail**dashext.
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.
You can set the environment variable USE_QPWGR environment variable to use an internal implementation of getpwnam(3) - qgepwnam(3). qgetpwnam(3) sets ENOENT for non-existent users and return ETXTBSY.
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.
getpwnam(3) qgetpwnam(3), qmail-users(5), qmail-lspawn(8),