[Mailman-Users] Solution to my 550 user not found problem..

tek tek at linuxdojo.net
Thu Aug 15 14:48:25 CEST 2002


My Problem: 550 user not found errors, 
aliases database are setup correctly but still mailman wont work?
all mail to lists fails with 550

I read everything i could find for 2 weeks and found no helpful solutions 
posted anywhere online nor could i get help on any of the lists, this one 
included. not even one single reply So im posting this hoping to help the 
next poor guy who tries to do the same thing i was trying to do.

that isnt to say my way is the right or only way, its just the one that 
made it work.
 
BUT i did solve it, FINALLY!

here is what worked for me.
of course your mileage may vary.
and if anyone reading this see's something i have done that creates any 
kind of security issues or something PLEASE LET ME KNOW.
thanks!

How to get Mailman to support ALL your Virtual domains on Postfix
This was done on Mandrake 8.2 prosuite server with an Openwall security 
patched kernel
with Postfix-20010228-pl08, Apache-AdvancedExtranetServer/1.3.23 and 
Mailman 2.09

in terms of postix specific configurations you need to use two files 
which you will call out in your main.cf
like so

alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
smtpd_recipient_restrictions = reject_invalid_hostname,                   
                               permit_mynetworks,
                               reject_non_fqdn_recipient,                 
                               check_client_access                        
                               hash:/etc/postfix/pop-before-smtp,         
                               check_relay_domains
                               virtual_maps = hash:/etc/postfix/virtual

they (virtual and aliases) are both essentially tables, mapping the users 
to specific virtual domains and also
virtual users to their user accounts either local or remote.

I am using two files to do this one is /etc/postfix/virtual the other is
/etc/postfix/aliases
the table i am using to make virual domains itself work is 
/etc/postfix/virtual and should look
something like this inside of it
#######################################################################
############# beginning of /etc/postfix/virtual file ##################
	     #######################################
	     ##     		      	          ##
	     ### this is my first virtual domain ###
	     ##  				  ##
	     #######################################
one_of_my_domains.com virtual
mail.one_of_my_domains.com virtual
user1 at one_of_my_domains.com user1
user2 at one_of_my_domains.com user2
sales at one_of_my_domains.com sales1
info at one_of_my_domains.com info1
webmaster at one_of_my_domains.com webmaster1
	     ######################################
	     ##				         ##
	     ### first mailing list on domain 1 ###
	     ##			                 ##
	     ######################################
test at one_of_my_domains.com       test
test-admin at one_of_my_domains.com        test-admin
test-request at one_of_my_domains.com      test-request
test-owner at one_of_my_domains.com        test-owner
		      #################
		      ##	     ##
		      ### next list ###
		      ##	     ##
		      #################
foobar at one_of_my_domains.com            foobar
foobar-admin at one_of_my_domains.com     foobar-admin
foobar-request at one_of_my_domains.com    foobar-request
foobar-owner at one_of_my_domains.com      foobar-owner
		 ###########################
		 ##			  ## 
		 ### next virtual domain ###
		 ##			  ##
		 ###########################
someone_elses_domain.net virtual
mail.someone_elses_domain.net virtual
anotheruser at someone_elses_domain.net anotheruser
user2 at someone_elses_domain.net user3
sales at someone_elses_domain.net sales2
info at someone_elses_domain.net info2
webmaster at someone_elses_domain.net webmaster2
	   ######################################
	   ##				       ##
	   ###  mailing list on second domain ###
	   ##				       ##
   	   ######################################
test at someone_elses_domain.net       test
test-admin at someone_elses_domain.net        test-admin
test-request at someone_elses_domain.net      test-request
test-owner at someone_elses_domain.net        test-owner
		    #################
		    ##	           ##
		    ### next list ###
		    ##	           ##
		    #################
boofar at someone_elses_domain.net            boofar
boofar-admin at someone_elses_domain.net     boofar-admin
boofar-request at someone_elses_domain.net    boofar-request
boofar-owner at someone_elses_domain.net      boofar-owner
################ end of /etc/postfix/virtual file #################
###################################################################

that does the mapping of the virtual domains and also gets mailman going 
on the 
virtual domains, each new list you create must be added in here in the 
same fashion
and also in your /etc/postfix/aliases file if your doing any user account 
mapping as we are above by having sales at domain.com and 
sales at another_domain.net on the same box
the format for the /etc/postfix/aliases is as follows.

###################################################################
############### beginning of /etc/postfix/aliases #################
# Basic system aliases -- these MUST be present.
MAILER-DAEMON:  postmaster
postmaster:     root

# General redirections for pseudo accounts.
bin:            root
daemon:         root
games:          root
ingres:         root
nobody:         root
system:         root
toor:           root
uucp:           root

# Well-known aliases.
manager:        root
dumper:         root
operator:       root

# trap decode to catch security attacks
decode:         root

# Person who should get root's mail
root:           admins_email_user_name_on localbox, 
otheremail at someotherdomain.net


# Person who get mail for Mailman
mailman: mailman_managers_email_account at whatever_his_domain_is.com
mailman-owner: mailman
sales
		################################
		################################
		## starting our Mailman lists ##
		################################
			###############
			## test list ##
			###############
test:             "| /var/www/html/mailman/mail/wrapper post test"
test-admin:       "| /var/www/html/mailman/mail/wrapper mailowner test"
test-request:     "| /var/www/html/mailman/mail/wrapper mailcmd test"
test-owner:       test-admin
			#################
			##  next list  ##
			### just for  ###
			##  testing    ##
			################# 
boofar:             "| /var/www/html/mailman/mail/wrapper post boofar"
boofar-admin:       "| /var/www/html/mailman/mail/wrapper mailowner 
boofar"
boofar-request:     "| /var/www/html/mailman/mail/wrapper mailcmd boofar"
boofar-owner:       boofar-admin
			#################
			##  next list  ##
			### also for  ###
			##  testing    ##
			#################
foobar:             "| /var/www/html/mailman/mail/wrapper post foobar"
foobar-admin:       "| /var/www/html/mailman/mail/wrapper mailowner 
foobar"
foobar-request:     "| /var/www/html/mailman/mail/wrapper mailcmd foobar"
foobar-owner:       foobar-admin
############################################################################
#################### end of /etc/postfix/aliases 
###########################
############################################################################

This messed me up for a long time till i figured that part out, i kept 
getting 550 user not found errors.
Once you have your tables all setup you need to run postmap 
hash:/etc/postfix/virtual and postmap
hash:/etc/postfix/aliases. running newaliases will not create a hash of 
the virtual table only the aliases.
then run postfix reload and you should be up and running.

I had one more thing that caused me to read for days trying to find a 
solution and i finally did but it was 
VERY poorly documented and i searched for days till i found out why.
If your paranoid as i am you are probably using every security tool you 
can, i have installed the openwall patches to my kernel to make it
nonexecutable stack and this does
lots of things that are great, BUT it also breaks hardlinking mailman is 
counting on it and you will get a error message when you try to hit the 
listinfo page
the error message says something like "we have a bug"
and it talks about traceback info and notifying the webmaster.

 sorry i cant be more specific, i didnt write it down

in the contrib folder there are a few patches you can run that will 
change permissions and a few other things, there is one called 
securelinux_fix.py
you need to move it into your bin folder and execute it, its a python 
script so you may need to do something such as
python ./securelinux_fix.py

I couldnt get the web interface to work for the longest time cause of 
this so i hope if your having problems you find this cause i didnt find
anything anywhere about how to get beyond any of the issues i was having.

 you need to add a few things to your httpd.conf or to your 
commonhttpd.conf
depending on how your configuring your server, if your wanting to add 
lists or the capacity of it for every domain your hosting you can 
do something such as this

say your webserver DocumentRoot is /var/www/html
add all your domains in here in their own folder so our setup would have 
us having a directory structure looking something like this

   ------------ /var/www/html -----------------------------------
   |				|				|
   |				|				|
    \one_of_my_domains.com	|				|
    				 \someone_elses_domain.net	|
				 				 \mailman
     									 
\----bin
									  
\----cgi-bin
									  
 \----cron
									  
  \----icons
									  
   \----mail
									  
    \----Mailman
									  
     \----scripts				
									  
      \----template
									
	
									
	
This will allow all domains to share the same install of Mailman.
you will need to add some ScriptAlias and Alias comments to your apache 
configuration 
so it should have something like this in it somewhere around the same 
location where it calls out
script aliases for /var/www/cgi-bin 
  
   ###########################################
   ##                                       ##
   ### added for Mailman mail list manager ###
   ##                                       ##
   ###########################################
    ScriptAlias   /mailman/      /var/www/html/mailman/cgi-bin/
   <Directory /var/www/html/cgi-bin/mailman>
        AllowOverride None
        Options ExecCGI
        Order allow,deny
        Allow from all
    </Directory>

    Alias /pipermail/ /var/log/mailman/archives/public/
   <Directory /var/log/mailman/archives/public/>
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
   </Directory>
    ###########################################
    ##                                       ##
    ### added for Mailman mail list manager ###
    ##         end of mailman stuff          ##
    ###########################################

hope this helps someone out, for more how-to's like this and HUNDREDS more
go to 
http://www.linuxdojo.net
~ :o)
Tnt
--
Open WebMail Project (http://openwebmail.org)





More information about the Mailman-Users mailing list