Troubleshooting help needed

Hi,
I've been off this list for a few years, but suddenly today I've run into a problem and I'm stumped. I suspect it might be a postfix problem, not a mailman problem, but I'm not really sure and I'm hoping someone here can give me some pointers.
Until this morning I've had mailman working fine for me (for many years and over one year with my current server, which is running CentOS 6). Basically one small list that is active daily and a few other lists that are mostly inactive. I wanted to disable two of the inactive lists without removing them or their archives. To do this, I edited my /etc/mailman/virtual-mailman file and added "# " in front of all of the entries for those lists. I did the same in the /etc/mailman/aliases file. Prior to these edits I had googled and found some messages from Mark that seemed to indicate that this was an appropriate approach.
I rebuilt the /etc/mailman/virtual-mailman.db file using "postmap virtual-mailman" command. I think I failed to rebuild the aliases.db file at this point. I reloaded postfix (postfix reload). I assumed everything was fine and went about my day. Around noon I received an email from a list user indicating that the list was down. When he posted, he got this error:
<heap@xxxx.com>: unknown user: "heap"
Since that time, I've tried about everything to get the lists working again. I uncommented the lines. I've deleted and rebuilt the aliases.db and mailman-virtual.db files. I always reload postfix after any changes. I even rebooted the server. No luck.
As a workaround, I tried to create an alias to a list of email addresses (i.e., bypassing mailman). This alias also is reported as not existing. I'm stumped. None of my other files have changed recently (based on file dates). I don't see any errors in my /var/log/maillog or /var/log/messages logs. Or in any of the /var/log/mailman logs.
My assumption is that some configuration file has an error in it that is keeping all virtual addresses or aliases from working, but I can't see where the error is and I don't get any errors that tell me about it.
One other odd thing that I saw was the at some point after I deleted the aliases.db file, it wasn't getting rebuilt when I ran "newaliases". I ended up rebuilding it using makemap directly.
As I said, I would greatly appreciate any pointers. Is there a log file that I'm missing? Any good way to get diagnostic output or trace things?
John

On 10/11/2015 03:05 PM, John Swartzentruber wrote:
Until this morning I've had mailman working fine for me (for many years and over one year with my current server, which is running CentOS 6). Basically one small list that is active daily and a few other lists that are mostly inactive. I wanted to disable two of the inactive lists without removing them or their archives. To do this, I edited my /etc/mailman/virtual-mailman file and added "# " in front of all of the entries for those lists. I did the same in the /etc/mailman/aliases file. Prior to these edits I had googled and found some messages from Mark that seemed to indicate that this was an appropriate approach.
OK
I rebuilt the /etc/mailman/virtual-mailman.db file using "postmap virtual-mailman" command. I think I failed to rebuild the aliases.db file at this point. I reloaded postfix (postfix reload). I assumed everything was fine and went about my day. Around noon I received an email from a list user indicating that the list was down. When he posted, he got this error:
Run
postmap /etc/mailman/virtual-mailman
and
postalias /etc/mailman/aliases
assuming those are the correct paths, and run them both as the 'mailman' user. In any case, the resultant virtual-mailman.db and aliases.db should be both user and group 'mailman' or whatever the mailman user/group is on your system.
Note that the command is postmap for the virtual maps and postalias for the aliases;
If that doesn't fix it, post the output from 'postconf -n' and the postfix log messages for a failed delivery.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On 10/11/2015 7:31 PM, Mark Sapiro wrote:
On 10/11/2015 03:05 PM, John Swartzentruber wrote:
Until this morning I've had mailman working fine for me (for many years and over one year with my current server, which is running CentOS 6). Basically one small list that is active daily and a few other lists that are mostly inactive. I wanted to disable two of the inactive lists without removing them or their archives. To do this, I edited my /etc/mailman/virtual-mailman file and added "# " in front of all of the entries for those lists. I did the same in the /etc/mailman/aliases file. Prior to these edits I had googled and found some messages from Mark that seemed to indicate that this was an appropriate approach.
OK
I rebuilt the /etc/mailman/virtual-mailman.db file using "postmap virtual-mailman" command. I think I failed to rebuild the aliases.db file at this point. I reloaded postfix (postfix reload). I assumed everything was fine and went about my day. Around noon I received an email from a list user indicating that the list was down. When he posted, he got this error:
Run
postmap /etc/mailman/virtual-mailman
and
postalias /etc/mailman/aliases
assuming those are the correct paths, and run them both as the 'mailman' user. In any case, the resultant virtual-mailman.db and aliases.db should be both user and group 'mailman' or whatever the mailman user/group is on your system.
Note that the command is postmap for the virtual maps and postalias for the aliases;
If that doesn't fix it, post the output from 'postconf -n' and the postfix log messages for a failed delivery.
Thanks Mark. That seems to have made things work. I'm guessing the problem must have been that my aliases.db and virtual-mailman.db files were root:mailman, not mailman:mailman. I did a chown on them and my message just went through.
For future reference, where is the postfix log? Is this just the normal /var/log/maillog file? Also, how do I run those commands as the mailman user? I tried "su mailman" and "su - mailman", but it says "This account is currently not available". I see that it is listed as nologin in /etc/passwd.
Thanks again for your help. I'm glad things are working again and I have some clue as to how I inadvertently broke things.

On 10/11/2015 05:18 PM, John Swartzentruber wrote:
Thanks Mark. That seems to have made things work. I'm guessing the problem must have been that my aliases.db and virtual-mailman.db files were root:mailman, not mailman:mailman. I did a chown on them and my message just went through.
OK, good.
The important thing is the owner of the aliases.db file. See the "DELIVERY RIGHTS" paragraph in 'man 8 local'. That file needs to be owned by mailman and not by root.
Postfix will attempt to invoke the pipe in the alias as the owner of the aliases.db file unless that is root in which case it will invoke it as the configured 'default_privs' user which is usually 'nobody' and that won't work.
For future reference, where is the postfix log? Is this just the normal /var/log/maillog file?
Yes, that would be it.
Also, how do I run those commands as the mailman user? I tried "su mailman" and "su - mailman", but it says "This account is currently not available". I see that it is listed as nologin in /etc/passwd.
Something like
sudo -u mailman postalias /etc/mailman/aliases
and similarly for postmap.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (2)
-
John Swartzentruber
-
Mark Sapiro