Prior to V8.7 the user and group
identities under which sendmail ran were defined
by an elaborate set of properties (described under the
F=S delivery agent flag in F=S). Beginning with V8.7,
sendmail now offers the U=
delivery agent equate as the means to define those identities. If the
U= delivery agent equate is specified, it sets the
default user and group identities for the delivery agent and always
overrides the values of the DefaultUser option
(DefaultUser). If the F=S
delivery agent flag is not set, any controlling user will override
this U= delivery agent equate.
The form of the U= delivery agent equate looks
like this:
U=user:group
Here, user is the alphanumeric identity of
a user on the local system. The user is
looked up with the method defined by the
MailboxDatabase option (MailboxDatabase).
If user is found, the numeric
user-id returned becomes the value used.
Otherwise, user, which must be fully
numeric, becomes the value used.
The colon, if present,
is followed by the alphanumeric identity of a group on the local
system. If group is found in the local
group(5) file, the numeric
group-id from that file is used. Otherwise,
group, which must be fully numeric,
becomes the value used. If the colon and group are missing and if
user was found when looked up, the value
is taken from the group-id returned by the
lookup.
Some delivery agents provide mc macros with
which to add a U= equate. For example, the
following mc configuration lines add that
default to the various cyrus delivery agents:
define(`CYRUS_MAILER_USER', `cyrus:nullmail') this must be
MAILER(`cyrus') before this
See the section describing a particular delivery agent to find an
appropriate mc macro with which to redefine the
U= for that delivery agent. See Table 20-1, in Section 20.4, for a guide
to all delivery agents.
For some delivery agents, there are no mc
configuration macros available to directly give a value to this
U= equate. Instead, you can use a bit of sleight
of hand to add a U= to a particular delivery
agent:
define(`LOCAL_MAILER_PATH', `/usr/lib/mail.local, U=mail:mail') this must be
MAILER(`local') before this
The LOCAL_MAILER_PATH mc configuration macro
(See this section) is usually used to define the path for
the local delivery agent. Instead of using it for
that reason, here we simply restate the path that appears in the
current sendmail.cf file, and add the
U= declaration to that path. As with all
modifications of delivery agent equates, the modification must
precede the MAILER declaration for the corresponding delivery agent.