Mailman GID problem

Paul Schmehl pauls at utdallas.edu
Fri Apr 20 19:04:27 UTC 2007


--On Friday, April 20, 2007 11:38:03 -0500 Jeffrey Goldberg 
<jeffrey at goldmark.org> wrote:

> On Apr 20, 2007, at 10:42 AM, David Southwell wrote:
>
>> Extract from /var/maillog
>> Apr 20 08:24:58 dns1 Mailman mail-wrapper: Group mismatch error.
>> Mailman
>> expected the mail wrapper script to be executed as group "nobody",
>> but the
>> system's mail server executed the mail script as group "mailman".  Try
>> tweaking the mail server to run the script as group "nobody", or re-
>> run
>> configure,  providing the command line option `--with-mail-
>> gid=mailman'.
>
> I've given a complementary response on the mailman-users list (to which
> I'm also cc'ing this)
>
> Nothing I say below takes away from what I said in that previous post.
> The answers to the questions I've asked would have resolved this problem
> long ago.
>
> There appears to be a bug in the pkg-install file that comes with the
> current mailman port.  When one installs (through FreeBSD ports) mailman
> selecting postfix as the MTA, the MAIL_GID correctly gets set to "nobody"
>
> But in the pkg-install script all of the mailman files get set with
>
>      echo "---> Creating Mailman directory (/usr/local/mailman)"
>      (umask 002 && /bin/mkdir -p "/usr/local/mailman") || exit 1
>      /usr/sbin/chown -R "mailman:mailman" "/usr/local/mailman" || exit 1
>      /bin/chmod g+s "/usr/local/mailman" || exit 1
>
> Which is correct for everything except for /usr/local/mailman/data which
> should actually be set with
>
>     chown -R nobody:mailman /usr/local/mailman/data
>
> I don't know enough about ports to actually find the source pkg-install
> fine (the one I looked at and quoted from is after make has edited it
> with sed).  So I'm not certain whether the problem is in the Makefile or
> in the source for the pkg-install.
>
> I experienced the same problem David had just a few weeks ago, but I
> attributed the problem (which I fixed by manually doing the chown) to me
> having moved my mailman set up from one machine to another.  So I thought
> that I had the wrong permissions for /usr/local/mailman/data as a
> consequence of the move and not because the mailman FreeBSD port was
> broken.
>
> When I saw some of David's problems I started to have some suspicions,
> but I wasn't able to get enough information from him to really look at
> the ownerships the port set up.

*If* what you say is true, then this should fix it:

--- pkg-install.orig    Fri Apr 20 13:42:17 2007
+++ pkg-install Fri Apr 20 13:42:47 2007
@@ -43,6 +43,7 @@
     (umask 002 && /bin/mkdir -p "%%MAILMANDIR%%") || exit 1
     /usr/sbin/chown -R "%%USER%%:%%GROUP%%" "%%MAILMANDIR%%" || exit 1
     /bin/chmod g+s "%%MAILMANDIR%%" || exit 1
+    /usr/sbin/chown -R "nobody" "%%MAILMANDIR%%/data" || exit 1
   fi
   ;;

I haven't tested it, so use it at your own risk.

Paul Schmehl (pauls at utdallas.edu)
Senior Information Security Analyst
The University of Texas at Dallas
http://www.utdallas.edu/ir/security/


More information about the freebsd-ports mailing list