[Mailman-Users] Hangs when trying to start mailman as root

Lummoxx lummoxx at gmail.com
Tue Sep 25 22:00:38 CEST 2012


That's what I thought, seemed fairly straightforward, but thanks for the
verification.

Made that modification and mailman started right up.

Verified by sending a couple messages, and this is all set.

Thank you again for the help, I appreciate it!

On Tue, Sep 25, 2012 at 3:46 PM, Mark Sapiro <mark at msapiro.net> wrote:

> Lummoxx wrote:
> >
> >That hangs just like trying to start mailman.  Whatever it's doing, it's a
> >nasty little hang.  A ctrl-c in the window won't even kill it.  Here in
> >python or the mailmanctl file.
> >
> >Here's a thought.  The server is also using libnss-pgsql.  The mailman
> user
> >and group exist normally in /etc/passwd and /etc/group, but it still may
> be
> >getting confused by this functionality?
>
>
> I don't know if this is the issue or not. It certainly seems possible.
> I've looked at the code for the Python grp module. It is a C language
> module and uses the C library functions setgrent, getgrent and
> endgrent to get the group information. My guess is there is some
> incompatibility with the C library used to build your Python and your
> system configuration.
>
>
> >Is it possible that this section can be modified to specifically set
> >whatever that line is trying to do?  We know that the mailman user and
> >group on this machine is mailman.
>
>
> The code that contains the failing line is attempting to determine all
> the supplemental groups of which the 'mailman' user is a member and
> set those groups as the suplemental groups for the process. This could
> be necessary if you had local mods to Mailman which required the
> Mailman processes to be a member of one or more of those groups (other
> than 'mailman') to access something, but in a standard Mailman, this
> shouldn't be necessary.
>
> Thus, if you modify mailmanctl as follows, I think you'll be OK.
>
> In the section
>
>     if myuid == 0:
>         # Set the process's supplimental groups.
>         groups = [x[2] for x in grp.getgrall() if mm_cfg.MAILMAN_USER
> in x[3]]
>         groups.append(gid)
>         try:
>             os.setgroups(groups)
>         except AttributeError:
>             # Python 2.1 doesn't have setgroups
>             syslog('error', 'Warning: unable to setgroups(%s)' % groups)
>         os.setgid(gid)
>         os.setuid(uid)
>
> remove or comment all but the first and last 2 lines to make it
> effectively
>
>     if myuid == 0:
>         os.setgid(gid)
>         os.setuid(uid)
>
> --
> Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
> San Francisco Bay Area, California    better use your sense - B. Dylan
>
>


More information about the Mailman-Users mailing list