---
name: "qmail-getpw"
section: "8"
platform: "linux"
package: "qmail"
version: "1.06-6.2~deb10u1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/qmail-getpw"
---

# qmail-getpw(8)

give addresses to users

## 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**/.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.

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

[qmail-users(5)](/qmail-users/5.md), [qmail-lspawn(8)](/qmail-lspawn/8.md)
