Issues with mailman

Hello,
I am getting these errors when I try to send a email to my list.
Nov 14 06:53:23 2011 (28413) Uncaught runner exception: [Errno 1] Operation not permitted Nov 14 06:53:23 2011 (28413) Traceback (most recent call last): File "/usr/local/mailman/Mailman/Queue/Runner.py", line 120, in _oneloop self._onefile(msg, msgdata) File "/usr/local/mailman/Mailman/Queue/Runner.py", line 191, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/mailman/Mailman/Queue/IncomingRunner.py", line 133, in _dispose mlist.Save() File "/usr/local/mailman/Mailman/MailList.py", line 572, in Save self.__save(dict) File "/usr/local/mailman/Mailman/MailList.py", line 549, in __save os.link(fname, fname_last) OSError: [Errno 1] Operation not permitted
Nov 14 06:53:23 2011 (28413) SHUNTING: 1321275203.2377739+24351497a8000b37825224c0f6b4765a4fbb5204 Nov 14 06:53:24 2011 (28416) Uncaught runner exception: [Errno 1] Operation not permitted Nov 14 06:53:24 2011 (28416) Traceback (most recent call last): File "/usr/local/mailman/Mailman/Queue/Runner.py", line 120, in _oneloop self._onefile(msg, msgdata) File "/usr/local/mailman/Mailman/Queue/Runner.py", line 191, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/mailman/Mailman/Queue/VirginRunner.py", line 38, in _dispose return IncomingRunner._dispose(self, mlist, msg, msgdata) File "/usr/local/mailman/Mailman/Queue/IncomingRunner.py", line 133, in _dispose mlist.Save() File "/usr/local/mailman/Mailman/MailList.py", line 572, in Save self.__save(dict) File "/usr/local/mailman/Mailman/MailList.py", line 549, in __save os.link(fname, fname_last) OSError: [Errno 1] Operation not permitted
Nov 14 06:53:24 2011 (28416) SHUNTING: 1321275203.398454+e7937dfb2a6017ed81d244bd5edf34564d46f9c1 Nov 14 06:53:24 2011 (28416) Uncaught runner exception: [Errno 1] Operation not permitted Nov 14 06:53:24 2011 (28416) Traceback (most recent call last): File "/usr/local/mailman/Mailman/Queue/Runner.py", line 120, in _oneloop self._onefile(msg, msgdata) File "/usr/local/mailman/Mailman/Queue/Runner.py", line 191, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/mailman/Mailman/Queue/VirginRunner.py", line 38, in _dispose return IncomingRunner._dispose(self, mlist, msg, msgdata) File "/usr/local/mailman/Mailman/Queue/IncomingRunner.py", line 133, in _dispose mlist.Save() File "/usr/local/mailman/Mailman/MailList.py", line 572, in Save self.__save(dict) File "/usr/local/mailman/Mailman/MailList.py", line 549, in __save os.link(fname, fname_last) OSError: [Errno 1] Operation not permitted
Nov 14 06:53:24 2011 (28416) SHUNTING: 1321275203.400665+6a2e2200879ad044ec161ec0490dc757227ce1fd Nov 14 06:53:25 2011 (28413) Uncaught runner exception: [Errno 1] Operation not permitted Nov 14 06:53:25 2011 (28413) Traceback (most recent call last): File "/usr/local/mailman/Mailman/Queue/Runner.py", line 120, in _oneloop self._onefile(msg, msgdata) File "/usr/local/mailman/Mailman/Queue/Runner.py", line 191, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/mailman/Mailman/Queue/IncomingRunner.py", line 133, in _dispose mlist.Save() File "/usr/local/mailman/Mailman/MailList.py", line 572, in Save self.__save(dict) File "/usr/local/mailman/Mailman/MailList.py", line 549, in __save os.link(fname, fname_last) OSError: [Errno 1] Operation not permitted
Nov 14 06:53:25 2011 (28413) SHUNTING: 1321275205.187561+c85fcf56a61feb201e53bf2582de0866e9f36feb Nov 14 06:53:26 2011 (28416) Uncaught runner exception: [Errno 1] Operation not permitted Nov 14 06:53:26 2011 (28416) Traceback (most recent call last): File "/usr/local/mailman/Mailman/Queue/Runner.py", line 120, in _oneloop self._onefile(msg, msgdata) File "/usr/local/mailman/Mailman/Queue/Runner.py", line 191, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/mailman/Mailman/Queue/VirginRunner.py", line 38, in _dispose return IncomingRunner._dispose(self, mlist, msg, msgdata) File "/usr/local/mailman/Mailman/Queue/IncomingRunner.py", line 133, in _dispose mlist.Save() File "/usr/local/mailman/Mailman/MailList.py", line 572, in Save self.__save(dict) File "/usr/local/mailman/Mailman/MailList.py", line 549, in __save os.link(fname, fname_last) OSError: [Errno 1] Operation not permitted
Nov 14 06:53:26 2011 (28416) SHUNTING: 1321275206.4117429+635f463d9d6b7c4840165a6941ede711e8b8e7f0 Nov 14 06:55:04 2011 qrunner(28415): Traceback (most recent call last): Nov 14 06:55:04 2011 qrunner(28415): File "/usr/local/mailman/bin/qrunner", line 278, in <module> Nov 14 06:55:04 2011 qrunner(28415): main() Nov 14 06:55:04 2011 qrunner(28415): File "/usr/local/mailman/bin/qrunner", line 238, in main Nov 14 06:55:04 2011 qrunner(28415): qrunner.run() Nov 14 06:55:04 2011 qrunner(28415): File "/usr/local/mailman/Mailman/Queue/Runner.py", line 88, in run Nov 14 06:55:04 2011 qrunner(28415): self._cleanup() Nov 14 06:55:04 2011 qrunner(28415): File "/usr/local/mailman/Mailman/Queue/OutgoingRunner.py", line 137, in _cleanup Nov 14 06:55:04 2011 qrunner(28415): BounceMixin._cleanup(self) Nov 14 06:55:04 2011 qrunner(28415): File "/usr/local/mailman/Mailman/Queue/BounceRunner.py", line 137, in _cleanup Nov 14 06:55:04 2011 qrunner(28415): self._register_bounces() Nov 14 06:55:04 2011 qrunner(28415): File "/usr/local/mailman/Mailman/Queue/BounceRunner.py", line 126, in _register_bounces Nov 14 06:55:04 2011 qrunner(28415): mlist.Save() Nov 14 06:55:04 2011 qrunner(28415): File "/usr/local/mailman/Mailman/MailList.py", line 572, in Save Nov 14 06:55:04 2011 qrunner(28415): self.__save(dict) Nov 14 06:55:04 2011 qrunner(28415): File "/usr/local/mailman/Mailman/MailList.py", line 549, in __save Nov 14 06:55:04 2011 qrunner(28415): os.link(fname, fname_last) Nov 14 06:55:04 2011 qrunner(28415): OSError : [Errno 1] Operation not permitted

Chris Petrik wrote:
Mailman's IncomingRunner is trying to save an updated list object. It has saved it to lists/LISTNAME/config.pck.tmp.HOSTNAME.PID. It then tries to remove lists/LISTNAME/config.pck.last, create lists/LISTNAME/config.pck.last as a hard link to lists/LISTNAME/config.pck and finally rename lists/LISTNAME/config.pck.tmp.HOSTNAME.PID to lists/LISTNAME/config.pck . The creation of lists/LISTNAME/config.pck.last as a hard link to lists/LISTNAME/config.pck is being denied by the OS.
It's not too likely, but this may be a permissions issue that can be fixed by running Mailman's bin/check_perms -f as root.
More likely, SELinux or some other security manager is involved.
See the results of this search <http://www.google.com/search?q=site:mail.python.org+inurl%3Amailman+os.link%28fname%2C+fname_last%29+OSError%3A+[Errno+1]+Operation+not+permitted>
Nov 14 06:53:23 2011 (28413) SHUNTING: 1321275203.2377739+24351497a8000b37825224c0f6b4765a4fbb5204
Because of the above exception, the message has been moved to the shunt queue where it can be reprocessed after the underlying problem is resolved by running Mailman's bin/unshunt.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On 11/14/2011 9:40 PM, Mark Sapiro wrote:
I ran check-perms -f it fixed a couple perms, but did not fix the
File "/usr/local/mailman/Mailman/MailList.py", line 549, in __save os.link(fname, fname_last) OSError: [Errno 1] Operation not permitted
I am not using selinux as the OS is FreeBSD not sure where else to look.

Chris Petrik wrote:
Look in Mailman's lists/LISTNAME/ directory. I think you will see one config.pck file, no config.pck.last file and one or more config.pck.tmp.* files.
As the Mailman user (_mailman on FreeBSD ?) try to cd to the lists/LISTNAME/ directory and for one (or the only) config.pck.tmp.* file try
ln config.pck.tmp.whatever config.pck.last
If that fails, figure out why.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On 11/15/2011 10:35 AM, Mark Sapiro wrote:
Fist off I had to remove the nologin and replace it with csh using chsh -s csh mailman to su - mailman or else I get: hosting# su - mailman This account is currently not available. hosting# id mailman uid=91(mailman) gid=91(mailman) groups=91(mailman),26(mailnull)
Once that was done I was in the root dir: /usr/local/mailman which is fine
hosting# su - mailman %id uid=91(mailman) gid=91(mailman) groups=91(mailman) %ls Mailman cron locks pending.pck spam archives data logs pythonlib templates bin icons mail qfiles tests cgi-bin lists messages scripts %pwd /usr/local/mailman
% cd lists/services-officialunix.com %ls -l |wc -l 8 % %ls -l total 24 -rw-rw---- 1 www mailman 3792 Nov 15 07:35 config.pck -rw-rw---- 1 mailman mailman 3792 Nov 15 08:03 config.pck.tmp.hosting.officialunix.com.30747 -rw-rw---- 1 mailman mailman 3835 Nov 15 08:00 config.pck.tmp.hosting.officialunix.com.74443 -rw-rw---- 1 mailman mailman 3792 Nov 15 07:48 config.pck.tmp.hosting.officialunix.com.74445 -rw-rw---- 1 mailman mailman 3792 Nov 15 08:00 config.pck.tmp.hosting.officialunix.com.74446 -rw-rw---- 1 mailman mailman 131 Nov 15 07:37 pending.pck -rw-rw-r-- 1 mailman mailman 599 Nov 15 07:37 request.pck %ln config.pck.tmp.hosting.officialunix.com.74446 config.pck.last %ls config.pck config.pck.last
Chris

On 11/15/2011 8:48 AM, Chris Petrik wrote:
Actually, I gave you the wrong advice. The ln command should have been
ln config.pck config.pck.last
If that works, instead of trying this via the ln command, you could try it in a python process. Again as user mailman in mailman's home directory do
bin/withlist -i
This will respond with a few lines followed by a >>> prompt. At the prompts enter
import os os.unlink('lists/services-officialunix.com/config.pck.last')
(ignore any non-existant file exception)
os.link('lists/services-officialunix.com/config.pck', 'lists/services-officialunix.com/config.pck.last')
You can enter that all on one line, or you can enter
os.link('lists/services-officialunix.com/config.pck',
which will result in a ... prompt to which you enter
'lists/services-officialunix.com/config.pck.last')
If that works, the question is why can you do it as mailman, but the qrunners can't? Did you start Mailman by running bin/mailmanctl start as root? If not, stop Mailman and then start is as root.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On 11/15/2011 4:37 PM, Mark Sapiro wrote:
Hello,
First that option gave me an error as the file config.pck was owned by www I changed it to root:mailman still gave me a perm error so I changed it to mailmail:mailman and it worked.
Did the bin/withlist -i and it did the os.unlink and os.link commands without issue.
After changing the perms I see that it now works without issue. Guess my webpanel is the culprit. I will see if I can try and inform the developers of this so I don't have to be changing the perms to make mailman work.
Thank you Mark for pointing these thing out to me :)
Chris

On 11/15/2011 5:09 PM, Chris Petrik wrote:
I recompiled mailman with the cgi_gid changed to mailman and the apache config to be changed as AssignUserID mailman mailman and now I don't get the bug page and all is well. I will continue to monitor the mailman services too see if any more perm issues arise before I create production mailing lists.
I am not sure if this is the proper way to run mailman but it seems to work, since the web panel is always open to issues and bug reports which is awesome it is not that hard to explain to them the issue and have them fix it. Seems rather obvious mailman creates files as user mailman but editing the files in a web browser creates the files as the running user of the web server IE: www if I am not mistaken using the itk patch will allow the web server to create/edit files as the user set in the AssignUSerID directive in apache.
Thank you for the help

Chris Petrik wrote:
It should work. See the FAQ at <http://wiki.list.org/x/tYA9> for more on this, but basically, Mailman's directories are group mailman and SETGID so that subordinate files are created with group mailman. Mailman's Cgi wrappers and mail wrapper are group mailman and SETGID so they run with effective group mailman. Mailman's qrunners run as user:group mailman:mailman.
The whole thing is based on anything that is running in group mailman has write permission on all the mutable directories and their contents.
If your OS does not allow user:group www:mailman to do certain operations on files owned by mailman:mailman even though the mailman group has write permission and likewise for group mailman:mailman on files owned by www:mailman, you will not be able to avoid these issues.
Mailman is known to work on FreeBSD, so there must be something you can do to enable this.
In a followup Chris added:
This is not a good idea. It means the web server now runs as mailman:mailman and can access anything in Mailman's tree without necessarily going through the authentication in the CGIs. There may not be any URLs that can do this, but consider http://www.example.com/pipermail/../../lists for example.
I don't know how your web server works, but the owner = www or mailman shouldn't matter as everything should be based on group. Possibly, the issue is the web server is not honoring the SETGID bit on the CGI wrappers.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On 11/15/2011 5:43 PM, Mark Sapiro wrote:
If I change the owner to www for config.pck the webui works but then I get the perm os.link errors. if I change the perms for config.pck to mailman i no longer get the on.link errors but I get the bug page.
I no recompiled mailman to the defaults and trying to figure out what is causing this as:
Bug in Mailman version 2.1.14
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.
is not very informative.
looking at the log all I see is the typical: admin(62887): File "/usr/local/mailman/Mailman/MailList.py", line 549, in __s$ admin(62887): os.link(fname, fname_last) admin(62887): OSError: [Errno 1] Operation not permitted
and nothing in the apache logs to tell me anything valuable besides what logs/error says any possible way to make it spit some debug info out for means of testing then turn it off?
Chris

Chris Petrik wrote:
Right. It is the same error. In this case above it is the web admin CGI that encounters the error.
It appears the underlying issue is that your OS will not allow anyone other than the owner of a file to create a hard link to it.
I.e. if config.pck is owned by www:mailman, the qrunners running as mailman:mailman can't create the link and if config.pck is owned by mailman:mailman the web server running as www:mailman can't create the link.
This prevents an updated list object from being saved by any process not running as the user who owns config.pck even though that process is running as group mailman and the mailman group *should* have permission.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Chris Petrik wrote:
Mailman's IncomingRunner is trying to save an updated list object. It has saved it to lists/LISTNAME/config.pck.tmp.HOSTNAME.PID. It then tries to remove lists/LISTNAME/config.pck.last, create lists/LISTNAME/config.pck.last as a hard link to lists/LISTNAME/config.pck and finally rename lists/LISTNAME/config.pck.tmp.HOSTNAME.PID to lists/LISTNAME/config.pck . The creation of lists/LISTNAME/config.pck.last as a hard link to lists/LISTNAME/config.pck is being denied by the OS.
It's not too likely, but this may be a permissions issue that can be fixed by running Mailman's bin/check_perms -f as root.
More likely, SELinux or some other security manager is involved.
See the results of this search <http://www.google.com/search?q=site:mail.python.org+inurl%3Amailman+os.link%28fname%2C+fname_last%29+OSError%3A+[Errno+1]+Operation+not+permitted>
Nov 14 06:53:23 2011 (28413) SHUNTING: 1321275203.2377739+24351497a8000b37825224c0f6b4765a4fbb5204
Because of the above exception, the message has been moved to the shunt queue where it can be reprocessed after the underlying problem is resolved by running Mailman's bin/unshunt.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On 11/14/2011 9:40 PM, Mark Sapiro wrote:
I ran check-perms -f it fixed a couple perms, but did not fix the
File "/usr/local/mailman/Mailman/MailList.py", line 549, in __save os.link(fname, fname_last) OSError: [Errno 1] Operation not permitted
I am not using selinux as the OS is FreeBSD not sure where else to look.

Chris Petrik wrote:
Look in Mailman's lists/LISTNAME/ directory. I think you will see one config.pck file, no config.pck.last file and one or more config.pck.tmp.* files.
As the Mailman user (_mailman on FreeBSD ?) try to cd to the lists/LISTNAME/ directory and for one (or the only) config.pck.tmp.* file try
ln config.pck.tmp.whatever config.pck.last
If that fails, figure out why.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On 11/15/2011 10:35 AM, Mark Sapiro wrote:
Fist off I had to remove the nologin and replace it with csh using chsh -s csh mailman to su - mailman or else I get: hosting# su - mailman This account is currently not available. hosting# id mailman uid=91(mailman) gid=91(mailman) groups=91(mailman),26(mailnull)
Once that was done I was in the root dir: /usr/local/mailman which is fine
hosting# su - mailman %id uid=91(mailman) gid=91(mailman) groups=91(mailman) %ls Mailman cron locks pending.pck spam archives data logs pythonlib templates bin icons mail qfiles tests cgi-bin lists messages scripts %pwd /usr/local/mailman
% cd lists/services-officialunix.com %ls -l |wc -l 8 % %ls -l total 24 -rw-rw---- 1 www mailman 3792 Nov 15 07:35 config.pck -rw-rw---- 1 mailman mailman 3792 Nov 15 08:03 config.pck.tmp.hosting.officialunix.com.30747 -rw-rw---- 1 mailman mailman 3835 Nov 15 08:00 config.pck.tmp.hosting.officialunix.com.74443 -rw-rw---- 1 mailman mailman 3792 Nov 15 07:48 config.pck.tmp.hosting.officialunix.com.74445 -rw-rw---- 1 mailman mailman 3792 Nov 15 08:00 config.pck.tmp.hosting.officialunix.com.74446 -rw-rw---- 1 mailman mailman 131 Nov 15 07:37 pending.pck -rw-rw-r-- 1 mailman mailman 599 Nov 15 07:37 request.pck %ln config.pck.tmp.hosting.officialunix.com.74446 config.pck.last %ls config.pck config.pck.last
Chris

On 11/15/2011 8:48 AM, Chris Petrik wrote:
Actually, I gave you the wrong advice. The ln command should have been
ln config.pck config.pck.last
If that works, instead of trying this via the ln command, you could try it in a python process. Again as user mailman in mailman's home directory do
bin/withlist -i
This will respond with a few lines followed by a >>> prompt. At the prompts enter
import os os.unlink('lists/services-officialunix.com/config.pck.last')
(ignore any non-existant file exception)
os.link('lists/services-officialunix.com/config.pck', 'lists/services-officialunix.com/config.pck.last')
You can enter that all on one line, or you can enter
os.link('lists/services-officialunix.com/config.pck',
which will result in a ... prompt to which you enter
'lists/services-officialunix.com/config.pck.last')
If that works, the question is why can you do it as mailman, but the qrunners can't? Did you start Mailman by running bin/mailmanctl start as root? If not, stop Mailman and then start is as root.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On 11/15/2011 4:37 PM, Mark Sapiro wrote:
Hello,
First that option gave me an error as the file config.pck was owned by www I changed it to root:mailman still gave me a perm error so I changed it to mailmail:mailman and it worked.
Did the bin/withlist -i and it did the os.unlink and os.link commands without issue.
After changing the perms I see that it now works without issue. Guess my webpanel is the culprit. I will see if I can try and inform the developers of this so I don't have to be changing the perms to make mailman work.
Thank you Mark for pointing these thing out to me :)
Chris

On 11/15/2011 5:00 PM, Chris Petrik wrote:
Hello,
Now when I try to go to the admin section of the webui for the mailing I get the bug page. Which is easily fixed by changing the owner from mailman to www.
I tried adding mailman to group www but that doesn't seem to work.
Chris

On 11/15/2011 5:09 PM, Chris Petrik wrote:
I recompiled mailman with the cgi_gid changed to mailman and the apache config to be changed as AssignUserID mailman mailman and now I don't get the bug page and all is well. I will continue to monitor the mailman services too see if any more perm issues arise before I create production mailing lists.
I am not sure if this is the proper way to run mailman but it seems to work, since the web panel is always open to issues and bug reports which is awesome it is not that hard to explain to them the issue and have them fix it. Seems rather obvious mailman creates files as user mailman but editing the files in a web browser creates the files as the running user of the web server IE: www if I am not mistaken using the itk patch will allow the web server to create/edit files as the user set in the AssignUSerID directive in apache.
Thank you for the help

Chris Petrik wrote:
It should work. See the FAQ at <http://wiki.list.org/x/tYA9> for more on this, but basically, Mailman's directories are group mailman and SETGID so that subordinate files are created with group mailman. Mailman's Cgi wrappers and mail wrapper are group mailman and SETGID so they run with effective group mailman. Mailman's qrunners run as user:group mailman:mailman.
The whole thing is based on anything that is running in group mailman has write permission on all the mutable directories and their contents.
If your OS does not allow user:group www:mailman to do certain operations on files owned by mailman:mailman even though the mailman group has write permission and likewise for group mailman:mailman on files owned by www:mailman, you will not be able to avoid these issues.
Mailman is known to work on FreeBSD, so there must be something you can do to enable this.
In a followup Chris added:
This is not a good idea. It means the web server now runs as mailman:mailman and can access anything in Mailman's tree without necessarily going through the authentication in the CGIs. There may not be any URLs that can do this, but consider http://www.example.com/pipermail/../../lists for example.
I don't know how your web server works, but the owner = www or mailman shouldn't matter as everything should be based on group. Possibly, the issue is the web server is not honoring the SETGID bit on the CGI wrappers.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On 11/15/2011 5:43 PM, Mark Sapiro wrote:
If I change the owner to www for config.pck the webui works but then I get the perm os.link errors. if I change the perms for config.pck to mailman i no longer get the on.link errors but I get the bug page.
I no recompiled mailman to the defaults and trying to figure out what is causing this as:
Bug in Mailman version 2.1.14
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.
is not very informative.
looking at the log all I see is the typical: admin(62887): File "/usr/local/mailman/Mailman/MailList.py", line 549, in __s$ admin(62887): os.link(fname, fname_last) admin(62887): OSError: [Errno 1] Operation not permitted
and nothing in the apache logs to tell me anything valuable besides what logs/error says any possible way to make it spit some debug info out for means of testing then turn it off?
Chris

Chris Petrik wrote:
Right. It is the same error. In this case above it is the web admin CGI that encounters the error.
It appears the underlying issue is that your OS will not allow anyone other than the owner of a file to create a hard link to it.
I.e. if config.pck is owned by www:mailman, the qrunners running as mailman:mailman can't create the link and if config.pck is owned by mailman:mailman the web server running as www:mailman can't create the link.
This prevents an updated list object from being saved by any process not running as the user who owns config.pck even though that process is running as group mailman and the mailman group *should* have permission.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (2)
-
Chris Petrik
-
Mark Sapiro