Skip to content

qmail getpw.8

Manvendra Bhangui edited this page Jul 5, 2024 · 4 revisions

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 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.

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 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.

SEE ALSO

getpwnam(3) qgetpwnam(3), qmail-users(5), qmail-lspawn(8),

Clone this wiki locally