Manpages

NAME

qmail-getpw − give addresses to users

SYNOPSIS

qmail-getpw local

DESCRIPTION

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.

RULES

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 userBREAKanything. When local is user, dash and ext are both empty. When local is userBREAKanything, 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.

SEE ALSO

qmail-users(5), qmail-lspawn(8)