procmail
[Top] [All Lists]

Re: procmail/sendmail/virtual user table

1999-01-28 22:17:49
Date: Thu, 28 Jan 1999 12:18:19 -0800 (PST)
From: "B. Engineer" <bne(_at_)3media(_dot_)com>
X-Gnus-Article-Number: 41   Thu Jan 28 20:17:37 1999

Hello:
      I have procmail 3.11p7 with sendmail. I am using procmail
directly in sendmail for local mail delivery. I have virtual user
tables for sendmail. I removed the F=w flag in sendmail.cf so I do
not depend on a user existing in /etc/paswd.  So far so
good. sendmail seems to tell procmail (I can see that in the log) to
take mail for foo(_at_)bar(_dot_)com and drop it bar_foo per the virtual user
table
 My question is: The problem is procmail barfs saying no such user.
 procmail: Unknown user <bar_foo> 550 <foo(_at_)bar(_dot_)com>... User unknown
 Now if I create a /etc/passwd entry for bar_foo procmail is
happy. I want to avoid doing that and achiece the following:
 deliver the mail as long as the user exists in sendmails virtual
user table or bounce it back.
 Is this possible or am I barking up the wrong tree?

Probably procmail is trying to setuid(bar_foo).  The configuration
that you get with sendmail's FEATURE(local_procmail) has F=S and A=
... -d $u, which will make procmail do just that.  To stop it you must
remove "-d $u" from the arguments and S from the flags.  (You can say
"define(`LOCAL_MAILER_FLAGS',`whatever') and
"define(`LOCAL_MAILER_ARGS',`whatever') in the m4 configuration file,
where the whatevers are what you'll find in
cf/features/local_procmail.m4 with the things I just told you to
remove removed).  That also means that procmail must be either setuid
root (which I'd avoid despite all assurances) or setgid mail, bin,
daemon, or whatever group owns your spooling directory, to be able to
create lockfiles there.

Hope this helps,

-- 
Ian T Zimmerman                        <itz(_at_)transbay(_dot_)net>
I came to the conclusion that what was wrong about the guillotine
was that the condemned man had no chance at all, absolutely none.
Albert Camus, _The Outsider_

<Prev in Thread] Current Thread [Next in Thread>