Go to the first, previous, next, last section, table of contents.


The localuser director

The `localuser' director checks whether the local part of an address is the login of a local user, by calling the `getpwnam()' function. If it is, and if other conditions set by options are met, it accepts the address and sets up a transport for it. The generic `transport' option must always be specified, unless the generic `verify_only' option is set.

The user's uid and gid are set up by default to be used while running the delivery process. If the generic `home_directory' option (see chapter "Additional generic options for directors") is unset, the user's home directory is passed to the transport for use during delivery. Setting

home_directory = $home

does not work, because `$home' is not set during the expansion of `home_directory'.

When processing the `require_files' generic option, the value of `$home' is the value of `home_directory' if set, and otherwise the user's home directory. Using `require_files' it is possible to pick out all users with particular files in their home directories and route their mail to a specific transport. This could be used, for example, to check for a `.procmailrc' file and then to direct delivery via `procmail' if one is found.

match_directory (localuser) option

Option: match_directory
Type: string
Default: unset

If this option is set, the user's home directory, as obtained from `getpwnam()', must match the given string. If it does not, the director fails to match the address. This provides a way of partitioning the local users by home directory. The string is expanded before use if it contains any $ characters. If the expansion fails, Exim panics, unless the failure was explicitly triggered by a `fail' item in a conditional sub-expression in the expansion, in which case the director just fails to handle the address.

If the expanded string starts with an asterisk, then the remainder must match the end of the home directory name; if it starts with a circumflex, a regular expression match is performed. In fact, the matching process is the same as is used for domain list items and may include file lookups.

On central systems at Cambridge University, when a user account is cancelled, it remains in the password file for a while, with the home directory set to `/home/CANCELLED'. We use the `match_directory' option to detect mail addressed to such users and bounce it with an explanatory message.


Go to the first, previous, next, last section, table of contents.