The Community Forums

Interact with an entire community of cPanel & WHM users!
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Mailman ownership problem

Discussion in 'E-mail Discussions' started by serg, Feb 14, 2008.

  1. serg

    serg Member

    Joined:
    May 30, 2003
    Messages:
    11
    Likes Received:
    0
    Trophy Points:
    1
    WHM 11.15.0 cPanel 11.18.1-S20683
    FREEBSD 6.2

    I've transfered some domains to new box these days and I've faced with plenty of problems with it.

    Here is what you got once going to edit any maillist

    Code:
    Bug in Mailman version 2.1.9.cp2
    
    We're sorry, we hit a bug!
    
    Please inform the webmaster for this site of this problem. Printing of traceback and other system information has been explicitly inhibited, but the webmaster can find this information in the Mailman error logs. 
    I check things to find out real reason for this problem, here is what I found:

    1. All lists are placed into directory /usr/local/cpanel/3rdparty/mailman/lists
    2. test_test.com within it has 3 files: config.pck config.pck.last request.pck
    3. All of these files are owner mailman:mailman

    When anyone try to modify list settings via browser (http://mail.test.com/mailman/admin/test_test.com):
    1. config.pck.last is removed
    2. temp file created config.pck.tmp.servername.com.12345
    3. these tempfile has ownership nobody:mailman

    tempfile refused to replace config.pck as it has a different owner.
    And thats why mailman reply with "hit a bug".

    First of all I done a quick test, by change ownership for config.pck to nobody:mailman
    After that mailman error message dissapeared and I was able to modify list setting.
    However I got an error once mailman cronjobs started like:
    Code:
    Traceback (most recent call last):
      File "/usr/local/cpanel/3rdparty/mailman/cron/checkdbs", line 203, in <module>
        main()
      File "/usr/local/cpanel/3rdparty/mailman/cron/checkdbs", line 100, in main
        mlist.Save()
      File "/usr/local/cpanel/3rdparty/mailman/Mailman/MailList.py", line 572, in Save
        self.__save(dict)
      File "/usr/local/cpanel/3rdparty/mailman/Mailman/MailList.py", line 549, in __save
        os.link(fname, fname_last)
    OSError: [Errno 1] Operation not permitted
    
    With the same creation of temp file but owned mailman:mailman.

    So quick test shows me that the problem IS with the ownership and it couldn't be completely removed by simple ownership change.

    /usr/local/cpanel/3rdparty/mailman/cgi-bin/admin is the program serving my http request and it has ( as almost all there ) setgid bit setuped.
    I'll have no errors for both http and cron in case I set the setuid bit there,
    However I'm not quite sure that it won't lead to security problems out of there.

    Old server with old OS (FreeBSD 4.11) and relatively old Cpanel release (S18473) has no such issue with mailman. But I didn't "play with easy_apache" there, maybe that is the case?
     
  2. serg

    serg Member

    Joined:
    May 30, 2003
    Messages:
    11
    Likes Received:
    0
    Trophy Points:
    1
    /usr/local/cpanel/3rdparty/mailman/cgi-bin/admindb needs the same fix as well
     
  3. internetfab

    internetfab Well-Known Member
    PartnerNOC

    Joined:
    Feb 20, 2003
    Messages:
    336
    Likes Received:
    0
    Trophy Points:
    16
    Location:
    Gothenburg, Sweden
    cPanel Access Level:
    DataCenter Provider
    Not 100% sure this is related to your bug, but we've installed a new server with CentOS5 and latest release build. We were unable to create new mailman lists or use ones that are moved to the server.

    The setgid bit was not set, i tried setting it (since it IS set on all the other servers?) but that didn't help. The cPanel log shows:

    Code:
    Traceback (most recent call last):
      File "/usr/local/cpanel/bin/cp_mailman2", line 15, in ?
        import paths
      File "/usr/local/cpanel/bin/paths.py", line 60, in ?
        import korean
    ImportError: No module named korean
    After checking google, finding an old mailman archive from 2002, I installed python-devel through yum and then ran /scripts/reinstallmailman and it worked like a charm :)

    Hope this helps someone.
     
Loading...

Share This Page